Смена домена для сайта на WordPress

Временами появляется необходимость поменять домен вашего сайта, работающего на движке Wordpress. То есть цель данного процесса - изменить имя домена, а всё содержимое, в том числе и структуру ссылок, оставить прежними. Причины могут быть разными: изначальная разработка сайта шла на тестовом домене, просроченный текущий домен или вам пришла в голову идея ребрендинга. Процесс переезда пусть и не самый сложный, но все же, есть несколько важных деталей. Их мы и разберём в данной статье.

План действий

Алгоритм можно разделить на несколько важных этапов:

  • Подготовительный этап
  • Непосредственно, перенос WordPress на другой домен
  • Проверка и доработка
  • Этап 1: подготовка

    Прежде всего рекомендуем создать резервную копию базы данных. Эта операция стандартная и повторяется перед выполнением любых задач с БД.

    Также, в некоторых источниках встречаются рекомендации по правке файла robots.txt перед тем как перенести сайт на WordPress на другой домен. Можно создать новый robots.txt, где указать:

    User-agent: *
    Disallow: /

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

    Таким образом вы предотвратите случайное попадание в выдачу лишних материалов в процессе смены домена.

  • Этап 2: замена старого домена на новый

    Если у вас простой сайт, то изменить домен можно через консоль WordPress:

    Для этого заходим в панель управленя WordPress на страницу «Настройки — Общие».

    смена домена

    В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения».

    смена домена

    В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.

    Если же у вас многостраничный сайт с множеством постов и нестандартными темами оформления, то Вам может помочь специализированный плагин Duplicator и его аналоги.

    Если вы не хотите устанавливать дополнительные плагины, то можно выполнить замену домена с помощью SQL-запросов:

    Можно воспользоваться автоматическим генератором команд при помощи данного инструмента, и затем запустить их при помощи phpMyAdmin на вкладке SQL одной транзакцией (только не забудьте сначала выбрать нужную базу данных).

    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: проверка и доработка

    Фактически после выполнения 2 этапа, мы уже перенесли WordPress на другой домен. Однако после этого есть ещё несколько важных вещей, которые необходимо реализовать:

    • Создание 301 редиректа со старого домена на новый
    • Правка robots.txt и sitemap.xml
    • Яндекс Вебмастер и Google Search Console

    Для того чтобы при обращении к любой странице сайта по старому адресу посетитель автоматически перенаправлялся на ту же самую страницу в новом домене, необходимо заменить содержимое файла .htaccess, находящегося в корне старого домена, на следующее (вместо newdomain.ru указывается новый домен):

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

    Нужно вернуть исходный robots.txt, если вы временно закрывались от индексации. Более того, не забудьте подправить в нем директивы Host и Sitemap:

    Host: https://newdomain.ru
    Sitemap: https://newdomain.ru/sitemap.xml

    Перейдите в инструменты Яндекс.Вебмастер и Google Search Console и укажите новый домен для вашего сайта (вы можете работать и с другими поисковыми системами, например Mail.ru, Bing и так далее).

    Подробнее о переезде сайта в Яндекс.Вебмастер

    Подробнее о переезде сайта в Google Search Console

    Как долго происходит перенос сайта в Google

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

Отключение привязки домена

Еще одним вариантом может быть описанный ниже способ, который позволит не заменить URL сайта на новый, а в целом «отключить» привязку CMS к конкретному домену. За счет этого Wordpress перестанет выполнять редирект на какой-то определенный URL, прописанный в настройках.

Для этого в конфигурационный файл wp-config.php необходимо добавить следующий код:

if(isset($_SERVER['HTTPS'])) {
    $schema = 'https://';
} else {
    $schema = 'http://';
}
define('WP_HOME', $schema.$_SERVER['SERVER_NAME']);
define('WP_SITEURL', $schema.$_SERVER['SERVER_NAME']);

Этот способ может быть полезен не только при переносе сайта на новый домен, но и при возникновении каких-либо неполадок в работе сайта, связанных с его URL (например, при невозможности устранить редирект на https, и др.)

Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из панели управления хостингом, раздел «Помощь и поддержка».