Временами появляется необходимость поменять домен вашего сайта, работающего на движке Wordpress. То есть цель данного процесса - изменить имя домена, а всё содержимое, в том числе и структуру ссылок, оставить прежними. Причины могут быть разными: изначальная разработка сайта шла на тестовом домене, просроченный текущий домен или вам пришла в голову идея ребрендинга. Процесс переезда пусть и не самый сложный, но все же, есть несколько важных деталей. Их мы и разберём в данной статье.
Алгоритм можно разделить на несколько важных этапов:
Этап 1: подготовка
Прежде всего рекомендуем создать резервную копию базы данных. Эта операция стандартная и повторяется перед выполнением любых задач с БД.
Также, в некоторых источниках встречаются рекомендации по правке файла robots.txt перед тем как перенести сайт на WordPress на другой домен. Можно создать новый robots.txt, где указать:
User-agent: * Disallow: /
Эти строки запретят индексацию проекта поисковиками на время работы. Если файл robots.txt у вас уже был, то предварительно сохраните его к себе на компьютер, чтобы потом восстановить.
Таким образом вы предотвратите случайное попадание в выдачу лишних материалов в процессе смены домена.
Этап 2: замена старого домена на новый
Если у вас простой сайт, то изменить домен можно через консоль WordPress:
Для этого заходим в панель управленя WordPress на страницу «Настройки — Общие».
В полях «Адрес WordPress» и «Адрес сайта» укажите URL нового домена и подтвердите изменения, нажав на кнопку «Сохранить изменения».
В тот же момент WordPress переадресует вас на страницу входа в админ-интерфейс, но уже на новом домене.
Если же у вас многостраничный сайт с множеством постов и нестандартными темами оформления, то Вам может помочь специализированный плагин Duplicator и его аналоги.
Если вы не хотите устанавливать дополнительные плагины, то можно выполнить замену домена с помощью SQL-запросов:
Можно воспользоваться автоматическим генератором команд при помощи данного инструмента, и затем запустить их при помощи 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');
Этап 3: проверка и доработка
Фактически после выполнения 2 этапа, мы уже перенесли WordPress на другой домен. Однако после этого есть ещё несколько важных вещей, которые необходимо реализовать:
Для того чтобы при обращении к любой странице сайта по старому адресу посетитель автоматически перенаправлялся на ту же самую страницу в новом домене, необходимо заменить содержимое файла .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, и др.)
Удачной работы! Если возникнут вопросы - напишите нам, пожалуйста, тикет из