Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

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

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

    Хостинг-компании, с которыми я работаю (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++ и находим следующие строки:

    Заменяем в файле 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.ru

    где вместо 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.