Перейти к содержимому

WordPress. Перенос сайта на другой хостинг (памятка)

Этапы переноса WordPress-сайта на другой хостинг в виде памятки. Особенности переноса сайта, работающего по протоколу https, с бесплатным SSL-сертификатом.

  1. Перенос WordPress-сайта на другой хостинг
  2. Пояснения к отдельным этапам переноса

Хостинг-компании, с которыми я работаю (Beget, Timeweb и Евробайт), предоставляют бесплатную услугу по переносу сайтов на их сервера. Но это можно сделать и самостоятельно.

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

В памятке содержатся этапы переноса защищенного сайта, работающего по протоколу https. Для смены хостинга незащищенного сайта требуется выполнить меньше действий. Пункты, относящиеся только к https-сайтам отмечены аббревиатурой SSL в скобках.

Сложность переноса защищенного WordPress-сайта заключается в том, что без действительного SSL-сертификата его невозможно будет открыть для проверки работоспособности на новом хостинге. А бесплатный сертификат Let’s Encrypt можно получить только после того, как применятся новые DNS-записи. Отсюда возникает необходимость дополнительных действий.

Популярный сайт следует переносить на другой хостинг в то время суток, когда посещаемость самая низкая. Обычно это происходит ночью.

Памятка по переносу WordPress-сайта на другой хостинг:

  1. Скачиваем каталог с файлами, почту (если использовалась) и базу данных сайта со старого хостинга.
  2. Добавляем доменное имя сайта и создаем новую базу данных на новом хостинге.
  3. Загружаем файлы, почту на новый хостинг и импортируем базу данных.
  4. Редактируем файл wp-config.php.
  5. (SSL) Меняем в базе данных на новом хостинге у опций «siteurl» и «home» https на http.
  6. (SSL) Отключаем плагин, подменяющий в ссылках http на https, переименованием папки с ним. Если вместо плагина используется перенаправление в файле .htaccess, удаляем код перенаправления из него.
  7. Проверяем работоспособность сайта на локальном компьютере.
  8. Заменяем DNS-записи у регистратора доменного имени.
  9. (SSL) Ожидаем применение новых DNS-записей.
  10. (SSL) Заказываем или генерируем самостоятельно SSL-сертификат.
  11. (SSL) Ожидаем выпуск бесплатного SSL-сертификата.
  12. (SSL) Входим в админ-панель WordPress (через ссылку с http) и меняем у опций «Адрес WordPress (URL)» и «Адрес сайта (URL)» http на https.
  13. (SSL) Возвращаем папке с плагином первоначальное имя или добавляем удаленный код в файл .htaccess.
  14. (SSL) Активируем плагин, подменяющий в ссылках http на https, через админ-панель.

Пояснения к отдельным этапам переноса сайта

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

Далее следует выделить все папки и файлы и снова запаковать их в ZIP-архив. Это необходимо для того, чтобы при распаковке архива на новом хостинге все файлы и папки оказались в том же каталоге, что и загруженный архив.

Пункт 3
Загружаем созданный нами ZIP-архив в каталог с названием сайта (Евробайт) или в папку public_html (Beget и Timeweb), которая расположена внутри каталога с названием сайта.

Пункт 4
Копируем через FTP клиент FileZilla с нового хостинга файл wp-config.php на локальный компьютер. Открываем его с помощью Notepad++ и находим следующие строки:

/** Имя базы данных для WordPress */
define('DB_NAME', 'имя_базы_данных');
/** Имя пользователя MySQL */
define('DB_USER', 'имя_пользователя');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'пароль');

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

Имя базы данных для WordPress и имя пользователя MySQL могут как отличаться друг от друга, так и быть одинаковыми.

Пункт 5
Теперь нужно сделать, чтобы сайт открывался по протоколу http. Для этого необходимо заменить https на http в опциях общих настроек админ-панели: «Адрес WordPress (URL)» и «Адрес сайта (URL)». Просто так войти в админ-панель https-сайта без действующего SSL-сертификата уже не получится, поэтому воспользуемся базой данных.

Через phpMyAdmin открываем таблицу wp_options базы данных переносимого сайта на новом хостинге и у опций «siteurl» и «home» меняем https на http. Эти записи базы данных соответствуют вышеназванным опциям админ-панели.

Пункт 6
Для той же цели, что указана в пункте 5, необходимо отменить перенаправление ссылок с http на https. Обычно для этого в WordPress используется плагин. Чтобы его деактивировать, надо войти в каталог с плагинами и изменить название папки перенаправляющего плагина, например, добавив к нему цифру или букву.

Пункт 7
Чтобы проверить работоспособность сайта на локальном компьютере следует в конце файла hosts, путь к которому C:\Windows\System32\drivers\etc\hosts, добавить строку:

xx.xx.xx.xx example.com

где вместо xx.xx.xx.xx следует указать IP-адрес сервера, в вместо example.ru домен проверяемого сайта. Маска IP-адреса может быть разной (в примере маска IP-адресов Евробайта).

Найти IP-адрес сервера можно:

  • Beget - в разделе «DNS» (запись А домена).
  • Timeweb - в разделе «Домены и поддомены» (запись А домена).
  • Евробайт - в разделе «WWW домены» панели управления ISPmanager.

Я проверяю работоспособность главной страницы перенесенного сайта в браузере Google Chrome в режиме инкогнито, что позволяет не удалять куки. Изображения с https в адресе не будут отображаться, переходы по внутренним ссылкам с https будут вызывать сообщения о незащищенном сайте.

Если есть желание проверить, как открываются другие страницы сайта, можно поменять в адресах ссылок https на http с помощью плагина Velvet Blues Update URLs. Для этого следует войти в админ-панель WordPress, которая уже доступна по ссылке с http на локальном компьютере.

После проверки работоспособности перенесенного на другой хостинг сайта не забываем удалить или закомментировать, сохранив для будущего использования, сделанную запись в файле hosts.

Пункт 9
Держим главную страницу сайта открытой в браузере и периодически обновляем ее. Как только она станет недоступна по https, проверяем доступность по http и переходим к заказу бесплатного SSL-сертификата.

Пункт 10
Заказываем бесплатный сертификат Let’s Encrypt у хостинг-компании Beget или Timeweb, а на хостинге Евробайт генерируем его самостоятельно.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.