В этой статье я хотел бы поделиться своим личным опытом переноса сайта WordPress на другой домен/хостинг. Речь пойдет о переносе сайта с одного домена на другой, как в пределах своего хостинга, так и на домен другого хостинга.
Уважаемый начинающий web-мастер! Если Вы никогда не сталкивались с проблемой переноса сайта, желаете сделать это впервые, пожалуйста, не спешите и прочтите статью до конца. Определитесь с основными моментами процесса, чтобы иметь общее представление о том, что Вы будете делать.
При всей кажущейся грядущей сложности процесса, в действительности, такая процедура может оказаться вовсе простой, если строго выполнять все пункты, описанные ниже.
Хотелось бы отметить, что мой способ не единственный и, возможно, не самый лучший. Есть, наверняка, другие хорошие способы, но позволю себе остановиться именно на этом, так как опробовал его лично и результатами остался полностью доволен. Данный вариант позволяет перенести любой сайт на движке WordPress не прибегая к установке и использованию плагинов и систем резервного копирования.
Процесс переноса
Предварительные работы
В самом начале я бы рекомендовал сделать некоторую предварительную подготовку к процессу переноса, которая включает в себя, так сказать, обычную «чистку сайта». Она заключается в удалении всего лишнего и ненужного, что накопилось за время обслуживания сайта и будет замедлять процесс копирования файлов.
- Желательно удалить все неактивные темы из папки wp-content/themes, оставив лишь используемую. Это можно сделать через админ панель, а также с помощью вашего файлового менеджера, напрямую удалив темы из вышеуказанной папки;
- Далее нужно навести порядок в плагинах, удалив все неиспользуемые и деактивировать на время переноса активные. Установить или активировать любой плагин можно уже на новом домене;
- Обратите внимание на внесённые Вами изменения в файлах. Например, если Вы вносили изменения в файл .htaccess, чтобы защитить изображения от хотлинка и не уберете на время этот код — будете иметь проблемы с отображением всех картинок на новом домене или хостинге.
- Если есть необходимость и желание, можно разобраться с медиа файлами, удалить дубли и ненужные изображения.
Перенос файлов
Следующий этап — это перенос всех файлов сайта на сервер нового домена. Разумеется, этот домен у вас подготовлен, все технические вопросы по регистрации и привязке домена решены. Так как копирование файлов сайта напрямую с сервера на сервер пока не придумали, нам придется выполнить эту операцию в два этапа:
- Запускаем файловый менеджер (я использую Total Commander), соединяемся с FTP-сервером, открываем папку с названием своего сайта и производим копирование всех файлов в отдельную папку на жестком диске компьютера. Это обычная процедура копирования файлов. Единственное условие — нужно следить за правильной передачей файлов, чтобы не случилось ошибок в результате обрыва связи с сервером, нестабильного интернет-соединения или по другим причинам. Если что-либо пойдет не так, файлы нужно перекачать;
- Далее, как требует сценарий, нужно все эти файлы закачать на сервер нового домена. Здесь тоже все понятно и нет ничего сложного.
Забегая немного вперед, хочу сказать, что всё же не могу пропустить один момент, связанный с использованием плагина. Если Вы сторонник применения этих полезных модулей, то для архивации файлов сайта и базы данных, в том числе, идеально подходит плагин BackUp WordPress. С его помощью процесс переноса сайта можно минимизировать. Сделали архивную копию, перенесли архив на сервер, распаковали на месте в корневую папку. Далее внесли изменения в файлы базы данных и импортировали её. Всё! Весь процесс переноса!
Перенос базы данных
А пока продолжим перенос прежним методом и сейчас выполним ответственную операцию перемещения БД (базы данных MySQL) старого домена на новый. Но прежде, нужно создать новую БД. Для этого заходим в личный кабинет своего хостинга и в разделе «Управление MySQL» выполняем процедуру создания новой БД:
Входим в БД старого домена, кликнув мышкой на вкладке Базы данных и выбираем название БД переносимого сайта:
Для создания дампа БД, жмём на вкладку Экспорт и в открывшемся окне жмем ОК:
Файл с расширением .sql сохраняем на компьютере.
Редактирование файла БД
Далее нужно выполнить обратную процедуру загрузки сохраненного дампа БД уже во вновь созданную базу. Но прежде, необходимо сделать замену названия домена со старого на новое. Это делается просто. Открываем файл .sql в Notepad++ (именно в нем, так как он позволяет совершать тотальную замену символов и слов). Скачать Notepad++ можно в Интернет, набрав соответствующий запрос в адресной строке браузера. Выставляем кодировку UTF-8 без BOM, жмем на вкладку Поиск и выбираем ссылку Замена, Открывается окно:
В строку Найти вводим название старого домена, а в строку Заменить на.., соответственно, нового. Все настройки нужно выставить, как на скриншоте. После нажатия кнопки Заменить всё произойдет массовая замена всех имеющихся названий старого доменного имени на новые. Внизу можно увидеть, что наш Notepad++ успешно выполнил 3503 замены. Это значение может быть любым и зависит от количества страниц и плагинов, размещенных на вашем сайте.
Это все изменения, которые нужно сделать и сейчас нужно обновленный файл БД загрузить в новую базу. Для этого открываем новую БД (на своём хостинге или на другом) и производим импорт данных, нажав на вкладку Импорт и выбрав наш измененный файл .sql:
База данных обновлена, но, чтобы было корректное подключение к ней, в файле wp-config необходимо прописать имя базы данных, имя пользователя и пароль новой базы. Для этого открываем файл wp-config в известном нам Notepad++ и редактируем его:
Заключительные работы
Если на вашем сайте есть файл robots.txt, что крайне желательно, внесите изменения и в него. Там все сводится к замене названий домена в двух местах (host и sitemap).
Проверьте и при необходимости, внесите изменения в файл .htaccess.
Замените коды счетчиков посещений.
Добавьте новый сайт в инструменты для вебмастеров Яндекса и Google и подтвердите права. Проверьте и добавьте файл sitemap.xml.
Откройте в браузере админ панель сайта по новому адресу домена, войдите по старому логину и паролю. Проверьте корректность работы админ-панели и сайта.
И это ВСЁ! Сайт успешно перенесен на новый домен.
Установка 301 редиректа
Для полной склейки доменов с помощью 301 редиректа в файл .htaccess старого домена нужно добавить такой код:
Options +FollowSymLinks RewriteEngine on <FilesMatch "robots.txt$"> RewriteEngine off </FilesMatch> RewriteCond %{HTTP_HOST} ^old-site\.ru RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.old-site\.ru RewriteRule ^(.*)$ https://www.new-site.ru/$1 [R=301,L]
Примечания:
1. old-site.ru — старый домен.
2. new-site.ru — новый домен.
3. 301-й редирект со старого домена на новый действует для всех страниц, картинок, видео и других файлов.
4. Файл robots.txt исключается из редиректа. Для этого предназначена первая часть кода.
5. В файле robots.txt на старом домене для хоста укажите главным зеркалом доменное имя вашего нового сайта, например:
User-agent: Yandex Host: new-site.ru User-agent: * Disallow: Sitemap: https://new-site.ru/sitemap.xml
6. Обратите внимание на прописание протокола сайта (http или https), с www или без www.
7. Перенаправление на другой домен нужно сделать и на вашем хостинге в разделе «Управление доменами» и в Яндекс.Вебмастере в разделе «Переезд сайта» и в Search Console Гугла (Настройки → Изменение адреса).
Чем полезен редирект?
- При наборе в адресной строке браузера адреса старого сайта, посетители будут автоматически перенаправляться на домен нового сайта;
- Новому домену передадутся ТИЦ и PR старого домена;
- Через 301 редирект так же будут переданы вес ссылок и другие SEO параметры.
Старый сайт постепенно исчезнет из индекса, а показатели и позиции нового восстановятся.
Hostiman на платные тарифы делает перенос бесплатно!
Это делают многие хостинги!