Вы решили переименовать свой сайт и выбрали для него новый домен. Чтобы не потерять трафик, добавьте его как дополнительный к текущему в Панели управления. Это можно сделать на странице управления сайтом в разделе «Домены сайта». В таком случае сайт будет открываться по двум именам — старому и новому.
Если нужно полностью отказаться от старого домена, перенесите сайт на новое имя. Для этого, в первую очередь, добавьте домен на ваш аккаунт как отдельный сайт с помощью Панели управления и зарегистрируйте его.
Порядок переноса зависит от конфигурации сайта. Если это набор 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.
Если вы столкнулись с трудностями — обращайтесь в поддержку. Мы поможем разобраться с проблемой или самостоятельно перенесем ваш сайт на новый домен.