Причины для переноса сайта на новый домен периодически возникают у каждого владельца сайта и довольно часто к этому прибегают разработчики. Инструкция как перенести сайт на WordPress с одного домена на другой может понадобиться в следующих случаях:
- при переносе сайта со старого на новый домен:olddomain.ru newdomain.ru;
- при переносе сайта с поддомена на домен: test.domain.ru domain.ru;
- при переносе сайта на кириллический домен;
- при покупке нового сайта;
- в конце разработки сайта, если вы создавали основу на своем домене чтобы показать Заказчику и в случае одобрения и заключения договора, продолжить работу над сайтом уже на его домене;
- при возникновении ошибок в базе данных при переносе сайта.
Перенос WordPress со старого на новый домен
Перенос WordPress со старого на новый домен производится в три этапа:
- На первом этапе, необходимо скачать файлы сайта на свой компьютер и вставить в папку будущего сайта;
- Далее, необходимо скачать базу данных вашего сайта;
- На последнем этапе - произвести необходимые замены в базе данных.
1 этап
Сначала необходимо скачать файлы сайта на свой компьютер. Сделать это можно двумя способами: сделать архив из файлов сайта на хостинге и уже архив скачать на компьютер и с помощью FTP-программы (типа FileZilla)
Теперь, тем же способом, закачайте файлы сайта в папку сайта к которому прикреплен ваш новый домен
Хорошо. Файлы перенесли, теперь займемся базой данных.
2 этап
Зайдите в раздел с базами данных MySQL на хостинге, найдите нужную базу данных и войдите в phpMyAdmin. Если забыли пароль, то его можно посмотреть в файле wp-config.php под строкой "Пароль к базе данных MySQL". Далее следуйте инструкциям на картинках.
Если возникла ошибка при импорте базы данных в WordPress
Если при импорте базы данных возникнет ошибка, то в этом случае, нужно удалить сформировавшуюся базу данных (так как она с ошибками) и произвести Импорт повторно, но с изменением в Настройках одного пункта (см. рисунок ниже). Выставим совместимость с MySQL 40 как показано на картинке и запустим Импорт. Обычно это решает проблему данной ошибки.
3 этап
Замена прежнего адреса сайта на новый в базе данных
Файлы мы перенесли, базу тоже. Осталось заменить прежний адрес сайта на новый. Делается это в phpMyAdmin базы данных нового сайта.
Нам нужно поочередно, произвести три SQL запроса. Скопируйте их в блокнот или HTML редактор и замените на свои данные.
Следует обратить внимание на префикс таблицы wp_options и wp_posts в вашей базе данных и если он отличается (не wp_posts, а например wp_xxxposts) то заменить его в запросах
Если у вас кириллический домен
Если у вас кириллический домен то используйте ковертер чтобы получить название домена в формате Punycode, так как русские буквы база данных не понимает.
Пример
Ваш запрос: мойсайт.рфИмя в Punycode: xn--80arbjktj.xn--p1ai
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://olddomain.ru', 'http://newdomain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE(guid, 'http://olddomain.ru','http://newdomain.ru');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://olddomain.ru', 'http://newdomain.ru');
Редирект — последняя настройка
Осталось на старом домене olddomain.ru в файле .htaccess, добавить директиву, чтобы при переходе на старый сайт, постетителя перенаправляло на новый домен:
RewriteEngine On
RewriteCond %{HTTP_HOST} olddomain.ru
RewriteRule (.*) http://newdomain.ru/$1 [R=301,L]
Вот вроде и все.