Перенос сайта на WordPress на новый домен

На какой CMS делать сайт?
26 декабря, 2015
Контекстная реклама: операторы Яндекс Директ и синтаксис ключевых слов
5 апреля, 2016

Дата публикации: 25 марта, 2016

Мне очень часто задают вопросы, когда необходимо перенести сайт, работающий на движке WordPress, на новый домен. По своей сути, данная процедура заключается только в изменении имени домена, а весь контент, в том числе и структура ссылок, остаются без изменений. Не стоит забывать и SEO показателях сайта, ведь если вы работали над поисковой оптимизацией вашего интернет-ресурса, необходимо сохранить показатели тИЦ (Яндекс) и PR (Google).

К смене домена работающего сайта необходимо подходить с полным пониманием дела, чтобы не столкнуться с неприятными последствиями ошибочных действий.

Процесс переноса сайта новый домен я условно разделю на 2 части:

  1. Перенос сайта, работающего на CMS WordPress, на новый домен – непосредственно процедура переноса.
  2. Создание 301 редиректа со старого домена на новый – перенаправление всех ссылок со старым доменом на новый адрес.

Перенос сайта на движке WordPress на новый домен

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

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

В дальнейшем, процедура смены домена на движке WordPress, выполнима одним из 3 способов.

1 способ

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

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

2 способ

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

3 способ

  1. Зайдите в phpMyAdmin и выберите базу данных.
  2. Нажмите на вкладку «SQL» и поочередно выполните следующие три запроса, заменив 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, так что с ПиАром проблем возникнуть не должно. При переносе показателя тИЦ Яндекса, необходимо,  чтобы при обращении к старому домену срабатывал 301-редирект, но за исключением файла robots.txt, в файле .htaccess старого домена нужно указать следующее:

<filesmatch "robots.txt$">
RewriteEngine off

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

А в файле robots.txt указать следующее:

User-Agent: *
Disallow:
Host: newdomain.ru

Если вам необходимо сделать перенаправление стырых доменов на новый домен (по ссылкам был переход на новый домен), то добавьте их как alias к основному новому домену в админ панели управления хостингом и сделайте 301 редирект в .htaaccess, добавив следующие строки (на старых доменах должны быть прописаны NS сервера хостинга нового домена):

RewriteCond %{HTTP_HOST} ^www.olddomain.ru$ [OR]
RewriteCond %{HTTP_HOST} ^olddomain.ru$
RewriteRule ^(.*)$ http://newdomain.ru [R]

RewriteCond %{HTTP_HOST} ^www.sub.olddomain.ru$ [OR]
RewriteCond %{HTTP_HOST} ^sub.olddomain.ru$
RewriteRule ^(.*)$ http://newdomain.ru [R]

При необходимости оставить работоспособность корпоративной почты на другом почтовом сервере Вам потребуется прописать в настройках DNS нового домена MX запись и A запись, уточнив IP адрес сервера, веб-адрес на доступ к серверу и приоритет. Пример записей, которые необходимо будет добавить:
A запись: mail А XX.XXX.XX.XX (mail — поддомен, A — тип записи,  XX.XXX.XX.XX — IP адрес сервера)
MX запись: MX 10 mail.zakazchik.ru (MX — тип записи, 10 — приоритет, mail.zakazchik.ru — веб-адрес сервера)

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Используя этот веб-сайт, вы соглашаетесь с нашей Политикой защиты данных.