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

Как перенести сайт на WordPress на новый хостинг без простоя

Обновлено 6 мин чтенияКоманда DNSPeek

Чтобы перенести WordPress без простоя, держите старый хостинг включённым, пока копируете файлы и базу данных на новый, и проверьте копию на новом сервере до смены DNS. Понизьте TTL в DNS за сутки, заморозьте контент на время финальной синхронизации, а затем направьте A-запись на новый IP. Посетителей в каждый момент обслуживает тот или другой сервер, поэтому никто не видит сбоя.

Откуда на самом деле берётся простой WordPress

Скопировать сайт на WordPress редко бывает самым трудным. Простой обычно возникает в момент переключения: DNS указывает на сервер, который ещё не готов, не удаётся подключиться к базе данных, нет сертификата или правило принудительного HTTPS зацикливается. Всё это можно обнаружить до переключения, если открыть сайт на новом сервере, пока мир ещё видит старый.

Подход в этом руководстве простой: старый сервер обслуживает посетителей, пока новый не проверен страница за страницей. DNS меняется только один раз, с коротким TTL, поэтому изменение распространяется за минуты, а не за часы.

Перед началом

  • Доступ к старому хостингу (файлы и база данных или панель управления), новому хостингу и DNS-провайдеру домена. DNS-провайдер — там, куда указывают NS-серверы: часто это регистратор, иногда Cloudflare или старый хостинг.
  • Полная резервная копия текущего сайта, которую вы скачали себе, а не та, что хранится только на старом сервере.
  • Публичный IP-адрес нового сервера. Если не уверены, какой именно, см. Как найти IP-адрес сервера.
  • Версии PHP и базы данных старого сайта. Воспроизведите их на новом сервере или проверьте, что ваша тема и плагины поддерживают более новые версии.
  • Список важных страниц: главная, запись, рубрика, поиск, контактная форма, корзина и оформление заказа, если у вас WooCommerce, а также wp-admin.

Уже сейчас проверьте текущий TTL A-записи домена с помощью проверки TTL. Он понадобится для расчёта времени в шаге 1.

Шаг за шагом

  1. Шаг 1: Понизьте TTL за сутки

    В DNS-панели установите TTL A-записи (и AAAA, если есть) на 300 секунд, оставив её направленной на старый сервер. Перед переключением подождите как минимум столько, сколько составлял старый TTL. См. Понизьте TTL перед переносом.

  2. Шаг 2: Сделайте резервную копию старого сайта

    Сделайте полную резервную копию файлов и базы данных и скачайте её. Это ваш план отката, если что-то пойдёт не так.

  3. Шаг 3: Скопируйте файлы и базу данных на новый хостинг

    Воспользуйтесь плагином для миграции, инструментом переноса от хостинга или скопируйте вручную через WP-CLI. Оставьте home и siteurl на рабочем домене.

  4. Шаг 4: Откройте сайт на новом сервере

    Создайте ссылку-превью со своим доменом и новым IP. Пройдитесь по ключевым страницам, войдите в wp-admin и загрузите изображение, чтобы проверить права доступа к файлам.

  5. Шаг 5: Запустите QA-сканирование

    Запустите QA-отчёт для превью, чтобы найти битые страницы, отсутствующие загрузки, циклы редиректов, смешанный контент и жёстко прописанные URL. Исправьте и запустите снова.

  6. Шаг 6: Заморозьте контент и выполните финальную синхронизацию

    На несколько минут остановите новые заказы, комментарии и публикации на старом сайте, а затем ещё раз скопируйте базу данных, чтобы не потерять ничего, записанного после первого копирования.

  7. Шаг 7: Переключите DNS

    Направьте A-записи домена и www на новый IP. Обновите или удалите старую AAAA-запись, чтобы посетители с IPv6 не попадали дальше на старый хостинг.

  8. Шаг 8: Следите за распространением и сохраните старый хостинг

    Отслеживайте изменение с помощью проверки распространения DNS. Сохраните старый хостинг ещё на несколько дней, пока его журналы доступа не перестанут показывать реальных посетителей.

Плагин или ручное копирование?

Оба способа работают. Выбирайте в зависимости от размера сайта и того, какой доступ у вас есть на каждой стороне.

Способы скопировать сайт на WordPress
СпособПодходит дляНа что обратить внимание
Плагин для миграции (экспорт и импорт архива)Малых и средних сайтов, виртуального хостинга без SSHЛимиты размера загрузки на новом хостинге, тайм-ауты на больших архивах, бесплатные версии с ограничением размера архива
Сервис миграции хостинг-провайдера или перенос через панельПереноса с cPanel на cPanel, управляемого хостинга WordPressЧто именно переносится: почту и cron-задачи часто пропускают
Вручную: файлы плюс дамп базы данныхБольших сайтов, VPS, всех, у кого есть SSHСериализованные данные: всегда заменяйте URL через WP-CLI, никогда — в обычном текстовом редакторе

Для ручного копирования команды выглядят так. Экспорт выполняйте на старом сервере, импорт — на новом:

Терминал
# Old server: export the database and pack the files
wp db export site.sql
tar -czf site-files.tar.gz --exclude=wp-content/cache .

# New server: unpack, import, check the site URL
tar -xzf site-files.tar.gz
wp db import site.sql
wp option get home
wp option get siteurl

Если новый хостинг выдал другие учётные данные базы данных, обновите DB_NAME, DB_USER, DB_PASSWORD и DB_HOST в wp-config.php перед проверкой.

Сохраните настоящий URL сайта

WordPress хранит собственный адрес в базе данных (home и siteurl) и строит из него большинство ссылок. Частая ошибка — сменить их на IP сервера или временное имя хоста, чтобы проверить новый сервер. Это работает до переключения, а потом каждая жёстко прописанная ссылка указывает на временный адрес.

Оставьте оба значения на рабочем домене, например https://example.com, и проверяйте сайт под этим именем. Ссылка-превью DNSPeek делает именно это: она подключается к новому IP и запрашивает ваш настоящий домен, поэтому WordPress ведёт себя так, будто DNS уже переключён. Ссылки, редиректы и cookie входа переписываются на адрес превью, поэтому вы можете войти в wp-admin и пройтись по сайту. Подробнее в документации: Превью сайта на WordPress на новом хостинге.

Восстановили сайт на временном адресе?

Если сайт создан или восстановлен на временном имени хоста, найдите и замените его с помощью wp search-replace (сначала пробный запуск, перед этим — резервная копия). QA-отчёт показывает оставшиеся ссылки на staging-хосты или голые IP в разделе жёстко прописанных URL.

HTTPS до и после переключения

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

В превью DNSPeek, пока сертификата нет, установите для ссылки режим SSL Пропускать проверку. Иначе плагин или правило принудительного HTTPS может зациклить редирект, когда превью переходит на HTTP. После переключения проверьте настоящий сертификат с помощью проверки SSL. Подробности: Режимы SSL.

WooCommerce, членство и нагруженные сайты

На магазине или сайте со входом новые данные поступают на старый сервер вплоть до переключения. Заказы, комментарии и новые аккаунты, созданные после вашего копирования, были бы потеряны. Запланируйте короткую заморозку контента: объявите окно обслуживания для новых заказов или переведите старый сайт в режим обслуживания только на минуты финальной синхронизации базы данных. Для читателей страницы в любом случае продолжают загружаться.

Платёжные шлюзы и провайдеры входа знают только ваш настоящий домен, поэтому возвращают клиентов на тот сервер, на который указывает публичный DNS. Проверьте оформление заказа с тестовым шлюзом на превью, а сразу после переключения оформите один настоящий или тестовый (sandbox) заказ. См. чего не умеют превью.

Чек-лист переноса WordPress

До и после переключения

  • TTL понижен до 300 секунд как минимум за один старый TTL до переключения
  • Полная резервная копия скачана и сохранена вне старого сервера
  • Версия PHP и расширения на новом сервере соответствуют потребностям сайта
  • home и siteurl по-прежнему указывают на рабочий домен
  • Главная, записи, поиск, формы и wp-admin проверены на новом сервере
  • Загрузка медиафайлов работает (права доступа к файлам)
  • QA-отчёт: критичных замечаний не осталось
  • Есть план для сертификата: выпуск сразу после переключения или уже действителен
  • Заморозка контента и финальная синхронизация базы данных выполнены
  • A-записи для домена и www обновлены, AAAA обновлена или удалена
  • Оформление заказа или вход повторно проверены после переключения
  • Старый хостинг сохранён, пока трафик не прекратился

Частые вопросы

Перестанет ли работать мой сайт на WordPress во время переноса?

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

Стоит ли для проверки сменить адрес WordPress на IP нового сервера?

Нет. Оставьте адрес WordPress и адрес сайта на рабочем домене. Если сменить их на IP или временное имя хоста, после переключения останутся жёстко прописанные ссылки. Вместо этого проверяйте новый сервер под настоящим доменом — с помощью ссылки-превью или записи в файле hosts.

Сколько длится перенос WordPress?

Копирование небольшого сайта занимает минуты; большая медиатека или база данных может копироваться часами. Добавьте время ожидания DNS: если заранее понизить TTL до 300 секунд, большинство посетителей попадёт на новый сервер в течение нескольких минут после переключения.

Что будет с моей почтой при переносе WordPress?

Это зависит от MX-записей. Если почту хостит та же компания, что и старый сайт, перенос DNS или отмена старого хостинга может сломать почту. Проверьте MX-записи перед началом и воссоздайте их у нового DNS-провайдера, если переносите и DNS.

Нужен ли новый SSL-сертификат?

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

Moving a site? Use the migration checklist

Every step from lowering the TTL to checking email after the switch, on one printable page. With a free account you keep your preview links in one place and run a QA report of the site on the new server.

Проверьте новый сервер до переключения

DNSPeek даёт вам одну HTTPS-ссылку, которая показывает ваш сайт с нового сервера, пока DNS ещё указывает на старый. Открывайте её на любом устройстве, делитесь ею с командой или клиентом и запускайте QA-сканирование по той же ссылке.

Создать бесплатную ссылку-превью