Иногда появляется задача — перенести уже готовый, давно существующий блог (работающий на WordPress) на другой домен, сайт или хостинг.

У меня эта задача встала по техническим причинам — чрезмерная нагрузка на основной хостинг сайта www.FL34.ru и его субдоменов — форума и блога. Сайт стал падать и отказывать. В тоже время у меня есть ещё хостинг для других сайтов, который работает с минимальной нагрузкой. Я решил выправить ситуацию и разгрузить основной домен FL34.ru.

В переносе сильно помогла в этом найденная статья «Безболезненный перенос сайта на WordPress на новый домен» на dimox.name/moving-the-site-on-new-domain/ (спасибо автору).

Почитав другие интернет-статьи о переносе, я пошёл в раздел «Третий способ» указанной выше статьи.

По шагам процесс переноса был такой:

1. Сделал полный backup (резервное копирование) старого блога rost.FL34.ru — всех его файлов и полного дампа MySql базы данных.
blog backup
Я это легко сделал с помощью плагина BackUpWordPress, но можно помучиться и руками 🙂

2. На новый хостинг rost.PikMLM.ru через FTP закачал файлы из архивного файла с резервной копией старого блога, распаковал их.

3. Сделал на новом хостинге новую MySql базу для блога. Развернул из полного дампа базы (файла резервной копии) старого блога полную копию базы блога в MySql базу на новом хостинге rost.PikMLM.ru.

4. В MySql базе нового хостинга применил по очереди 3 SQL скрипта, описанных в статье выше:

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');

5. Проверил на новом хостинге возможность обработки PHP файлов. Для этого в файл .htaccess корневой папки блога (где лежит файл wp-config.php) вставляют в начало строку:

AddType application/x-httpd-php php

или
AddType application/x-httpd-php5 php

(уточните у Вашего хостинг-провайдера, как правильно нужно написать на Вашем хостинге)

6. Проверил запуск блога по новому адресу, вызвав его в браузере: rost.PikMLM.ru. Блог открылся, с давно знакомым содержанием, уже по новому адресу.

7. Осталось решить SEO вопрос — как переадресовать все запросы к старому блогу rost.FL34.ru на новый блог, не потеряв посетителей, ранги и индексацию в поисковых системах.

Ответ был найден в той же статье, упомянутой выше.

В старом домене:

1. В файле .htaccess нужно указать следующее:

 <FilesMatch "robots.txt$">
 RewriteEngine off
 </FilesMatch>
 Options +FollowSymLinks
 RewriteEngine on
 RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]

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

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


Где вместо newdomain.ru впишите новый адрес Вашего сайта (у меня это rost.pikmlm.ru). Обратите внимание — в .htaccess адрес вписывается с протоколом http://, а в robots.txt — без него.

Проверил результат запросами на старые адреса страниц — всё корректно переходит на аналогичные адреса нового домена.

Результат.
Тем самым я выровнял нагрузку — разгрузил хостинг домена FL34.ru, перенеся часть нагрузки (блог rost.FL34.ru) на другой домен (rost.PikMLM.ru) в другом хостинге.

На старом хостинге остались только 2 файла для перенаправления запросов — .htaccess и robots.txt.

Эпилог.
  • Желаю Вам корректной работы Ваших блогов, без потерь!