Безболезненный перенос сайта на WordPress на новый домен

Иногда может возникнуть ситуация, когда необходимо сайт, работающий на движке WordPress, перенести на новый домен. Т.е. суть данного действа заключается только в изменении имени домена, все содержимое же, равно как и структура ссылок, остается прежним. При этом не маловажный момент — сохранение показателей тИЦ и PR.

К данному вопросу необходимо подходить с полным пониманием дела, ибо обратное может быть чревато неприятными последствиями.

Процесс переноса можно условно разделить на 2 части:

  1. Перенос сайта, работающего на движке WordPress, на новый домен.
  2. Создание 301 редиректа со старого домена на новый.

Перенос сайта, работающего на движке WordPress, на новый домен

В самую первую очередь необходимо сделать 2 вещи:

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

Дальнейшие действия могут выполняться одним из трех нижеследующих способов.

Первый способ

Это самый простой способ, требующий от вас минимум действий.

  1. Зайдите в админ-панель вашего сайта на страницу «Настройки — Общие».
  2. В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения».
  3. Готово. В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.

Второй способ

  1. Откройте сохраненный sql-дамп базы данных в текстовом или PHP редакторе.
  2. Замените все вхождения старого адреса сайта на новый адрес, например, http://domain.ru заменить на http://newdomain.ru, и сохраните изменения.
  3. Загрузите дамп в базу данных на сервере, предварительно удалив из нее все имеющиеся таблицы.
  4. Готово. Сайт на WordPress работает по новому адресу.

Третий способ

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку «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');
  3. Готово. Теперь сайт будет открываться по новому адресу.

Создание 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-го редиректа.

Я был бы признателен тому, кто разъяснит мне данный вопрос.

Добавлено 24.04.2010

Сам нашел ответ на свой вопрос. Чтобы при обращении к старому домену срабатывал 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

Комментарии (268)

  1. RewriteEngine off

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

    Создается многократный редирект на 255255255255 и сайт ложится.

  2. Проще, конечно, указать новый адрес, как это рассматривается в первом варианте и не беспокоиться

  3. Если нет доступа в админку значительно проще будет просто прописать в wp-config.php (вместо 3го способа):

    
    define('WP_HOME','http://example.com');
    define('WP_SITEURL','http://example.com');
    
  4. как скоро будут видны изменения ? указала новый адрес, как это рассматривалось в первом варианте и заменила содержимое файла .htaccess
    RewriteEngine On
    RewriteRule ^(.*)$ http://MCC-transport.pl/$1 [R=301,L]

  5. Использовал третий способ, только вместо wp_options у меня было wpyt_options. Ничего в роботе и .htaccess не прописывал. все работает

  6. Единственное, если у вас используется сертификат SSL, то зайдите после третьего способа, как написано в 1 и допишите заместо http https

  7. Выбрал второй способ, буду освобождать домен под передачу его и с негно и поддомена буду сайты переносить на новые домены, но в зоне .РФ различий нет или есть какие-то нюансы при переносе на .РФ?

  8. Все таки на .ru переведу сайты, описанным выше способом все ссылки перепишутся страницы, посты, адреса рубрик, меток, картинок или надо что то делать еще?

  9. > Однако открытым для меня остается вопрос переноса показателя тИЦ Яндекса.

    как то переносил сайт таким способом, в итоге просел в поисковой выдаче. Здесь надо действовать по инструкции яндекса для склейки доменов — https://yandex.ru/support/webmaster/yandex-indexing/moving-site.html
    Последний перенос домена в яндексе занял чуть больше месяца. Зато позиции сайта остались как есть.

  10. Для переноса сайта на новый домен рекомендую плагин Duplicator -https://ru.wordpress.org/plugins/duplicator/

  11. Спасибо, добрый человек! Супер-статья!

  12. Думаю, что скоро мне пригодятся ваши инструкции!

  13. Добрый день. Когда я переносил свой сайт с одного домена на другой мой сайт потерял позиции. И это было очень ощутимо. До сих пор ощущаю недостаток посетителей. В дальнейшем буду пробовать применять Ваш способ.

  14. Здравствуйте.
    Делал то же самое, но плагином better search replace, собственно делал много раз. Но в этот раз где-то слеш поставил, забыл убрать. Сайт работает, но при попытке перевести его на ssl отдает ERR_TOO_MANY_REDIRECTS
    Подозреваю что это лишний слеш боком выходит. Возможно подскажете где ковырять? Если сделать запрос замены сайт/ на сайт, то вообще все сломается наверно.

  15. Бред на конец 2019

Ваш комментарий