Иногда появляется задача — перенести уже готовый, давно существующий блог (работающий на WordPress) на другой домен, сайт или хостинг.
У меня эта задача встала по техническим причинам — чрезмерная нагрузка на основной хостинг сайта www.FL34.ru и его субдоменов — форума и блога. Сайт стал падать и отказывать. В тоже время у меня есть ещё хостинг для других сайтов, который работает с минимальной нагрузкой. Я решил выправить ситуацию и разгрузить основной домен FL34.ru.
В переносе сильно помогла в этом найденная статья «Безболезненный перенос сайта на WordPress на новый домен» на dimox.name/moving-the-site-on-new-domain/ (спасибо автору).
Почитав другие интернет-статьи о переносе, я пошёл в раздел «Третий способ» указанной выше статьи.
[note color="#FFCC00"]По шагам процесс переноса был такой:
1. Сделал полный backup (резервное копирование) старого блога rost.FL34.ru — всех его файлов и полного дампа MySql базы данных.
Я это легко сделал с помощью плагина BackUpWordPress, но можно помучиться и руками 🙂
2. На новый хостинг rost.PikMLM.ru через FTP закачал файлы из архивного файла с резервной копией старого блога, распаковал их.
3. Сделал на новом хостинге новую MySql базу для блога. Развернул из полного дампа базы (файла резервной копии) старого блога полную копию базы блога в MySql базу на новом хостинге rost.PikMLM.ru.
4. В MySql базе нового хостинга применил по очереди 3 SQL скрипта, описанных в статье выше:
[quote style="1"]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');
[/quote]
5. Проверил на новом хостинге возможность обработки PHP файлов. Для этого в файл .htaccess корневой папки блога (где лежит файл wp-config.php) вставляют в начало строку:
[quote style="1"]AddType application/x-httpd-php php
или
AddType application/x-httpd-php5 php
(уточните у Вашего хостинг-провайдера, как правильно нужно написать на Вашем хостинге)
[/quote]
6. Проверил запуск блога по новому адресу, вызвав его в браузере: rost.PikMLM.ru. Блог открылся, с давно знакомым содержанием, уже по новому адресу.
7. Осталось решить SEO вопрос — как переадресовать все запросы к старому блогу rost.FL34.ru на новый блог, не потеряв посетителей, ранги и индексацию в поисковых системах.
Ответ был найден в той же статье, упомянутой выше.
[quote style="1"]В старом домене:
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
[/quote]
Где вместо newdomain.ru впишите новый адрес Вашего сайта (у меня это rost.pikmlm.ru). Обратите внимание — в .htaccess адрес вписывается с протоколом http://, а в robots.txt — без него.
Проверил результат запросами на старые адреса страниц — всё корректно переходит на аналогичные адреса нового домена.
[/note]
Результат.
Тем самым я выровнял нагрузку — разгрузил хостинг домена FL34.ru, перенеся часть нагрузки (блог rost.FL34.ru) на другой домен (rost.PikMLM.ru) в другом хостинге.
На старом хостинге остались только 2 файла для перенаправления запросов — .htaccess и robots.txt.
Эпилог.[/list]