Бывают ситуации, когда нужно переносить WordPress-сайт на новый домен. То есть у сайта изменится только имя домена, а структура ссылок и содержимое останется прежним. Ну и что важно - сохранение тИЦ и PR.
Перенос WordPress можно разделить на 2 части:
- Перенос сайта на движке WP, на новый домен.
- Включение 301 редиректа со старого домена на новый.
Перенос WordPress сайта, на новый домен:
Сначала сделайте 2 вещи:
- скопируйте все ftp-файлы со старого домена на новый;
- обязательно создайте резервную копию сайта, если вдруг перенос не получиться и нужно будет вернуть все обратно.
Дальше можно действовать одним из трех следующих способов.
Первый способ. Самый простой, требующий минимум действий.
- Зайдите в WordPress-консоль вашего сайта - “Параметры - Общие”.
- В полях “Адрес блога”, “Адрес WordPress” нужно указать URL-адрес нового домена, не забудьте нажать кнопку “Обновить опции”.
- Готово. WordPress переадресует на страницу входа в админ-панель на новом домене.
Второй способ.
- Откройте в текстовом редакторе сохраненный sql-бекап базы данных.
- Замените все вхождения старого адреса на новый адрес, к примеру http://site.ua заменить на https://site2.ua, и сохраните изменения.
- Загрузите sql-дамп в базу данных на хостинге (перед этим удалив из нее все таблицы).
- Готово. Ваш сайт работает на новом домене.
Третий способ.
- Зайдите через панель управления на хостинге в phpMyAdmin и выберите базу данных.
- Кликните на вкладке “SQL” и по порядку выполните 3 запроса, заменив например http://site.ua на http://new-site.ua (подставьте свои адреса). Обратите внимание, что в конце адреса нет слеша:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://site.ua', 'http://new-site.ua') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE(guid, 'http://site.ua','http://new-site.ua');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://site.ua', 'http://new-site.ua');
Теперь ваш сайт будет доступен по новому адресу.
Если поменялось имя базы данных, пользователь базы данных, пароль к ней, то поправьте в файле wp-config строки:
/** Имя базы данных для WordPress */
define('DB_NAME', 'тут_имя_базы');/** Имя пользователя MySQL */
define('DB_USER', 'имя_пользователя');/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'пароль');
Включение 301 редиректа со старого домена на новый
Осталось сделать чтоб при открытии любой страницы сайта по старому домену посетитель автоматически попадал на ту же страницу, но только в новом домене.
Для этого замените содержимое .htaccess (файл находится в корне папки старого домена), на следующее (вместо new-site.ua укажите новый домен):
RewriteEngine off
</FilesMatch>
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://new-site.ua/$1 [R=301,L]
Все, процедура переноса WordPress-сайта законченна.
Относительно того как сохранить PR и тИЦ сайта.
Вышеуказанная настройка пере адресации позволяет перенести на новое доменное имя Google PR, тут не должно быть проблем.
По поводу тИЦ Яндекса: создайте на старом домене файл robots.txt и укажите в нем:
User-Agent: *
Disallow:
Host: new-site.ua
Домашняя папка файлов на FTP
Также следует проверить указана ли правильная домашняя директория размещения файлов сайта. Например на одном хостинге или домене это могла быть такая папка "/home/elims/site.com/www/", а на другом "/home/user-12345/site2.com/www/".
Я для этих целей использую notepad++, сначала открываю файл базы данных и через замену изменяю старую домашнюю папку на новую. А потом на вкладке "Найти в файлах" выполняю поиск с заменой по всем файлам сайта.
Большое спасибо за помощь. Была проблема — Вы ее решили моими руками)
Спасибо, и дай вам бог здоровья) Два дня мучался с хостингами-доменами, наткнулся на вашу статью-все решилось за 10 минут)
Руслан, на здоровье) Не забудьте также проверить корректность «домашней папки», добавил в конец статьи пару абзацев.
Спасибо за полезную и интересную статью!
Спасибо Володя. Все получилось с первого раза.
Кстати, по твиту перешел, очень пригодится.
А старый домен должен быть активный? Если да, то какое время?
И нужно ли на старом домене сохранять все файлы сайта или после успешного переноса их можна оттуда удалять?
Вам нужны только файлы и база данных. Старый домен не нужен.
Извините за назойливость, тоесть на старом домене можно все удалять и сотавлять только robots.txt и .htaccess? Извините, но что-то не совсем понял.
Если нужно сохранить только работоспособность сайта — то домен вы можете все удалить, все файлы и сделать чтобы вообще ничего на нем не открывалось уже сегодня. И через 10 лет без проблем поднять сайт на другом домене.
Если нужно чтобы позиции в поисковиках сохранились — то нужно настроить переадресацию. тогда да, понадобится файл .htaccess и robots.txt
Да именно, очень нужно что бы позиции не утекли, на счет .htaccess и robots.txt я понял, а еще такой маленький вопрос, файлы сайта на старом домене оставлять или без разницы, поисковикам это нужно или нет?
переадресацию нужно настроить так, чтобы ничего кроме robots.txt не открывалось по старому адресу.
Кажется начинаю понимать, большое спасибо! Разрешите обратится, если проблемы возникнут в процессе?
Обратиться можете, но не обещаю помочь. Мало свободного времени =)
Спасибо за Вашу статью, как раз взял тестовый хостинг у хостера, теперь можно и сайт к ним перенести)
Подскажите, старый домен понемногу вылетает с индекса, новый залетает, но вот ТИЦ пока так и остался на старом, хотя было уже несколько апов. Да и Яша говорит, что возможна ошибка «В файле robots.txt задана противоречивая директива Host».