База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

Перенос сайта между доменами

Вы решили переименовать свой сайт и выбрали для него новый домен. Чтобы не потерять трафик, добавьте его как дополнительный к текущему в Панели управления. Это можно сделать на странице управления сайтом в разделе «Домены сайта». В таком случае сайт будет открываться по двум именам — старому и новому.

Если нужно полностью отказаться от старого домена, перенесите сайт на новое имя. Для этого, в первую очередь, добавьте домен на ваш аккаунт как отдельный сайт с помощью Панели управления и зарегистрируйте его.

Порядок переноса зависит от конфигурации сайта. Если это набор html-файлов, просто скопируйте их в корневую директорию нового домена. Если для разработки использовалась CMS, потребуется внести изменения в файлы и базу данных.

Перенос базы данных

Вспомните, устанавливали ли вы CMS вручную или с помощью раздела «Установка приложений» в Панели управления? Если вы использовали ПУ, создайте новую базу данных в разделе «Базы данных» и перенесите в нее содержимое старой базы. Если этого не сделать, при удалении старого сайта удалится и база данных — новый сайт перестанет работать.

Перейдите в PhpMyAdmin, кликните на имя БД сайта в левом столбце, нажмите «Экспорт», а затем «Вперед». Дамп сохранится на вашем компьютере.

После этого нужно импортировать дамп в новую базу. Для этого кликните на имя БД в левом столбце PhpMyAdmin, нажмите «Импорт», а затем «Обзор». Найдите скачанный ранее дамп (файл с расширением .sql) на вашем компьютере и нажмите «Вперед». Дождитесь завершения импорта: база данных нового сайта больше не зависит от установленного приложения.

Теперь скопируйте файлы на новый домен.

Перенос файлов

В Файловом менеджере выберите старый домен в выпадающем списке «Переход к сайту», отметьте все содержимое папки public_html и нажмите «Копировать». Перейдите в корневой каталог нового домена, нажмите «Вставить». Эти же действия можно выполнить, подключившись по FTP.

Если вы создавали новую базу данных для сайта, найдите его конфигурационный файл и укажите данные для подключения к БД.

Все почти готово. Осталось изменить записи с именем старого домена в файлах и базе данных.

Замена ссылок

Перед тем, как приступить к замене ссылок, создайте резервную копию в разделе «Сайты» → «Резервные копии» Панели управления. Если что-то пойдет не так, вы сможете быстро восстановить изначальное состояние сайта.

Чтобы найти и заменить все вхождения старого домена в файлах сайта, подключитесь к аккаунту по SSH и выполните команды:

[username@server ~]$ cd domains/new_domain.ru/
[username@server new_domain.ru]$ grep -rl old_domain.ru ./ | xargs sed -i 's/old_domain.ru/new_domain.ru/g'

Если в процессе переноса участвует кириллический домен, то перед заменой ссылок необходимо конвертировать его имя в punycode-кодировку. Это можно сделать с помощью команды idn:

[username@server ~]$ idn домен.рф

Результатом выполнения команды будет имя домена в punycode-кодировке:

xn--d1acufc.xn--p1ai

Используйте его при замене ссылок:

[username@server new_domain.ru]$ grep -rl xn--d1acufc.xn--p1ai ./ | xargs sed -i 's/xn--d1acufc.xn--p1ai/new_domain.ru/g'

Для изменения ссылок в БД удобно использовать утилиту Search&Replace DB. Воспользуйтесь SSH, чтобы скачать ее.

Перейдите в корневой каталог сайта: [username@server new_domain.ru]$ cd public_html/ и выполните команду:  [username@server public_html]$ git clone https://github.com/interconnectit/Search-Replace-DB/

В браузере перейдите по ссылке: http://domain.ru/Search-Replace-DB/  Заполните поля:

  • «replace» – что ищем (старый домен);
  • «with» – на что заменяем (новый домен);
  • «database name» — название базы данных;
  • «username» — имя пользователя базы данных;
  • «pass» – пароль пользователя БД.

Нажмите «Test connection» — утилита проверит, правильно ли вы ввели данные для подключения к БД. После проверки станет активна кнопка «Search and Replace». Нажмите ее, и утилита заменит ссылки.

Проверка сайта

Проверьте работу сайта: переходите по разделам, нажимайте на ссылки. Обращайте внимание на отображение картинок, текстов и адреса в строке браузера.

Когда убедитесь, что новый сайт работает верно, обязательно удалите Search&Replace. Для этого в консоли выполните: [username@server public_html]$ rm -rf Search-Replace-DB Также удалить каталог можно с помощью Файлового менеджера или FTP.

Если вы столкнулись с трудностями — обращайтесь в поддержку. Мы поможем разобраться с проблемой или самостоятельно перенесем ваш сайт на новый домен.

Была ли эта инструкция полезной?