Иногда возникает ситуация, когда необходимо сайт, работающий на движке WordPress, перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена, все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент — сохранение показателей тИЦ и PR.
К данному вопросу необходимо подходить с полным пониманием дела, ибо обратное может быть чревато неприятными последствиями.
Процесс переноса можно условно разделить на 2 части:
- Перенос сайта, работающего на движке WordPress, на новый домен.
- Создание 301 редиректа со старого домена на новый.
Перенос сайта на WordPress на новый домен
В самую первую очередь необходимо сделать 2 вещи:
- скопировать все фтп-файлы со старого домена на новый;
- обязательно создать резервную копию базы данных сайта, чтобы в случае чего можно было сделать откат.
Дальнейшие действия могут выполняться одним из трех нижеследующих способов.
Первый способ
Это самый простой способ, требующий от вас минимум действий.
- Зайдите в админ-панель вашего сайта на страницу «Настройки — Общие».
- В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения».
- Готово. В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.
Второй способ
- Откройте сохраненный sql-дамп базы данных в текстовом или PHP редакторе.
- Замените все вхождения старого адреса сайта на новый адрес, например, http://domain.ru заменить на http://newdomain.ru, и сохраните изменения.
- Загрузите дамп в базу данных на сервере, предварительно удалив из нее все имеющиеся таблицы.
- Готово. Сайт на WordPress работает по новому адресу.
Третий способ
- Зайдите в phpMyAdmin и выберите базу данных.
- Нажмите на вкладку «SQL» и поочередно выполните следующие 3 запроса, заменив http://domain.ru и http://newdomain.ru соответственно на старый и новый адреса сайта (обратите внимание, что в конце адреса не должно быть слеша):
UPDATE wp_options SET option_value = replace(option_value, 'http://domain.ru', 'http://newdomain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://domain.ru','http://newdomain.ru');
UPDATE wp_posts SET post_content = replace(post_content, 'http://domain.ru', 'http://newdomain.ru');
Готово. Теперь сайт будет открываться по новому адресу.
Создание 301 редиректа со старого домена на новый
Остается добиться того, чтобы при обращении к любой странице сайта по старому адресу посетитель автоматически перенаправлялся на ту же самую страницу в новом домене.
Для этого необходимо заменить содержимое файла .htaccess, находящегося в корне старого домена, на следующее (вместо newdomain.ru указывается новый домен):
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]
На этом процедуру переноса WordPress-сайта на новый домен можно считать законченной.
Теперь несколько слов относительно сохранения показателей тИЦ и PR сайта.
Вышеуказанная директива кроме своего прямого назначения позволяет перенести на новый домен показатель Google PR, так что с ПиАром проблем возникнуть не должно.
Однако открытым для меня остается вопрос переноса показателя тИЦ Яндекса.
Я прочитал по этому поводу достаточно информации, но так и не нашел однозначного решения. В основном рекомендуют на старом домене создать файл robots.txt с указанием параметра Host: newdomain.ru, но это не сработает из-за 301-го редиректа.
Как решить проблему? На самом деле просто. Чтобы при обращении к старому домену срабатывал 301-редирект, но за исключением файла robots.txt, в файле .htaccess старого домена нужно указать следующее:
<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]
А в файле robots.txt указать следующее:
User-Agent: * Disallow: Host: newdomain.ru
Ну вот, в принципе и всё. Будут вопросы — пишите в комментариях. Удачи!