Частенько сталкиваюсь с тем, что необходимо перенести сайт. При обычном переносе сайта с одной директории в другую, происходит «поломка» сайта:
- теряются картинки
- нарушается верстка
- прочие ошибки
В каких случаях будет полезна данная инструкция?
- При переносе файлов сайта с локального хостинга на виртуальный рабочий хостинг.
- При переходе с одного домена на новый домен, или с поддомена на основной домен.
- Перенос файлов с подкаталога в основной каталог. Например, с
/mysite.com/wp
на/mysite.com/
.
Что нужно сделать?
- В первую очередь скопируйте (или переместите) все файлы сайта в корневую папку нового сайта.
- Создайте новую базу данных и импортируйте в нее дамп старой базы данных.
Не забудьте изменить имя пользователя и пароль в файле конфигурации вашего сайта. Иначе может появиться ошибка соединения с базой данных.
После импорта переходим в phpmyadmin и открываем нужную базу данных. Переходим во вкладку SQL и поочерёдно выполняем SQL-запросы:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://oldsite.com', 'http://mysite.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = REPLACE(guid, 'http://oldsite.com','http://mysite.com'); UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://oldsite.com', 'http://mysite.com');
При выполнении SQL-запросов учитывайте, что префикс таблиц базы данных может отличаться от стандартного wp_
. Например, вместо wp_options
может быть xx_options
, или ab_options
и т.д.
Если у вас кириллический домен, то, при выполнении SQL-запросов, домен необходимо вводить в формате Punycode. Например, ваш домен мойсайт.рф
, то в формате Punycode он будет выглядеть так: xn--80arbjktj.xn--p1ai
.
Если у вас установлено кэширование сайта, рекомендую предварительно очистить кэш. Для этого очистите папку /wp-contente/cache, либо если у вас используются специальные плагины (например, autoptimize) перед переносом лучше отключить их.
Также, перед проверкой результатов переноса – очистите кэш вашего браузера и только потом открывайте сайт.