Перенос сайта на WordPress на другой хостинг

Время от времени сайтам приходится перезжать. Есть множество причин, по которым это может случиться, впрочем, вы сами наверное их знаете, если читаете эту заметку.

Перенос сайта на новый хостинг может оказаться форменной катастрофой — и не имеет значения, сами ли вы осуществляете этот переезд или привлекаете для этого профессионалов. Бывает, что сайт начинает рассыпаться даже после переноса на новый сервер, осуществленного внутри хостинга его же сотрудниками. На самом деле, если делать все по шагам, которые перечислены ниже, сайт на WordPress можно своими силами спокойно перевести на новую площадку за один день.

Самая распространенная ситуация выглядит так: вы меняете только хостинг, а доменное имя сайта остается прежним. Именно к этому случаю и относится данная инструкция. В такой ситуации вам нужно сделать всего три операции:

  • Перенести базу данных сайта WordPress
  • Перенести файлы сайта WordPress
  • Перенаправить DNS доменного имени со старого на новый хостинг

Предполагается, что вы сами устанавливали WordPress и некий опыт работы с ним и панелью управления хостинга у вас есть. Мы будем приводить примеры для панели ISP Manager, в других панелях есть аналогичные функции.

Итак, по шагам, что нужно сделать:

1. Деактивируйте плагины кэширования и прочие ненужные плагины

За день до переезда рекомендую отключить плагины кэширования, например WP Supercache. За день — с тем, чтобы у вас появился бэкап уже с отключенными плагинами. Ряд других плагинов также может вызывать проблемы при переезде, я точно сталкивался с проблемами в случае с плагином CM Tooltip Glossary. В общем, чем меньше их будет включено — тем лучше. Активируете, когда переедете.

2. Сделайте копии данных для переноса

Перед переносом нам надо сделать резервные копии всего, что только можно:

Бэкап базы данных

В панели управления ISP Manager для этого необходимо перейти в раздел Базы данных, выбрать базу данных того сайта, который вы планируете переносить и нажать кнопку Скачать.

После того, как база данных будет выгружена, посмотрите в ее свойствах учетные данные (имя и пароль) пользователя, они вам пригодятся на новом хостинге. Также вы их можете увидеть в файле wp-config.php в корневой папке вашего сайта:

Запишите их куда-нибудь, чтобы не забыть!

Бэкап файловой папки (www-домена)

Резервную копию данных сайта (файловой папки) лучше выгружать архивом. Если вы попытаетесь ее выгрузить по FTP — то, во-первых, это займет немалое время и, во-вторых, возможны ошибки при передаче данных.

В панели ISP Manager для этого необходимо зайти в раздел Резервные копии, найти нужный бэкап (или создать его) и нажать кнопку Скачать:

Бэкап записей WordPress

Рекомендуем также на всякий случай выгрузить контент WordPress обычным экспортом — это на тот случай, если все пойдет наперекосяк (к счастью, это редкость) и проще будет развернуть на новом хостинге чистый WordPress и импортировать туда старые записи. Записи можно выгрузить встроенными средствами WordPress — Инструменты > Экспорт:

3. Создайте на новом хостинге WWW-домен и A-записи

Создаем на новом хостинге доменное имя, аналогичное существующему, WWW-домен, A-записи (погуглите, это несложно и обычно у вашего нового хостинга есть инструкция как это сделать). Берем у нового хостинга данные по их NS-записям.

4. Перенесите файлы сайта на новый хостинг

Распакуйте файлы из скачанного на первом шаге файлового архива на новый хостинг на тот же уровень (в папку WWW-домена сайта). Если сайт не очень большой, это можно сделать по FTP.

5. Перенесите базу данных на новый хостинг

На новом хостинге в панели управления создайте новую базу данных (с той же кодировкой). Имя базы может быть другим (его обязательно надо будет поменять в файле wp-config.php), а вот пользователя рекомендую создать с тем же именем и паролем:

И закачайте дамп:

 

6. Поменяйте NS-сервера на старом хостинге

Об этом можно попросить техподдержку, отправив ей новые NS-имена, полученные на новом хостинге, или самостоятельно сменить через панель, если такая возможность открыта:

В течение пары часов произойдет изменение DNS и ваш сайт будет доступен уже с нового хостинга.

Если что-то пошло не так

Если после выполнения всех операций, зайдя на сайт по адресу домена вы увидите такое:

…то это означает, что скорее всего вы скопировали вместе с файлами сайта старый wp-config.php (так и надо), а какие-то из параметров новой базы данных отличаются. Смотрите wp-config.php и настройки БД в панели.

Если вместо сайта вы видите «заглушку» НОВОГО хостинга — это хорошо, значит DNS успешно изменился, но скорее всего в корневой папке WWW-домена просто лежит файл index.html, который необходимо удалить.

Если вместо сайта на новом хостинге (проверьте его IP) вы видите сайт на старом хостинге или «заглушку» СТАРОГО хостинга (если вы уже удалили оттуда WWW-домен) — это не очень хорошо, значит DNS не изменился, нужно искать решение в этом направлении.