В случае, переноса сайта на WordPress на другой домен на том же хостинге, необходимо выполнить следующие мероприятия:
- сделать резервную копию старого сайта и базы данных;
- привязать новый домен к хостингу;
- делегировать новый домен (изменить ДНС-сервера у регистратора доменов);
- перенести файлы сайта в новую директорию;
- создать новую БД и импортировать в нее данные;
- делаем SQL-запросы чтобы поменять URL;
- настроить 301-редирект;
- отредактировать файлы robots.txt.
Резервная копия делается стандартными средствами хостера. Если не знаете как ее создать и скачать, то обратитесь в службу поддержки. У каждого хостера свои нюансы.
Привязку домена буду показывать на примере ISP manager. Если у вас другая панель, аналогично обращайтесь в службу технической поддержки.
Зайдите в личный кабинет у регистратора доменов и делегируйте доменное имя, DNS-сервера
Далее стандартными средствами копируем и переносим файлы со старого сайта в папку с новым сайтом. После в разделе «Базы данных» создаем новую и через phpMyAdmin импортируем данные.
Не забывайте поменять в файле wp-config.php, который находится в корне нового сайта, имя и пароль от новой БД, а также его пользователя.
Чтобы переносимый сайт заработал, необходимо поменять URL’s в таблицах базы данных. Для этого выполним следующие запросы:
1 2 3 4 5 | UPDATE wp_options SET option_value = replace(option_value, 'http://site.ru','http://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://site.ru','http://newsite.com'); UPDATE wp_posts SET post_content = replace(post_content, 'http://site.ru','http://newsite.com'); |
301-редирект — ответ сервера, который говорит нам что сайт переехал. Чтобы он заработал, перейдите в корень старого сайта, откройте файл .htaccess и добавьте в него код
1 2 3 4 5 6 7 8 9 | Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^domain\.com RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.domain\.com RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L] |
Теперь при переходе пользователей по старым ссылкам его будет перебрасывать на новый сайт.
Проверить корректность настройки 301-редиректа можно при помощи данного сервиса.
Файл robots.txt на старом сайте отредактируйте так:
1 2 3 4 5 6 | User-agent: Yandex Host: newdomain.com User-agent: * Disallow: Sitemap: http://newdomain.com/sitemap.xml |
На новом сайте, который перенесли, файл robots.txt исправьте чтобы поисковые системы могли проиндексировать только нужные страницы.