Как перенести сайт на другой хостинг без простоя
Если переносить сайт «в лоб» — сначала отключить старый хостинг, потом настраивать новый — почти всегда будет окно недоступности. Без простоя переезд делают иначе: новый сервер подготавливают заранее, копируют файлы и базу, проверяют сайт на временном адресе, а DNS переключают только в конце, когда новый хостинг уже готов принимать трафик.
Этот подход подходит для WordPress-сайтов любого размера, но детали зависят от панели управления, способа доступа к файлам и того, как у вас устроен DNS. Ниже — практический план, который помогает перенести сайт с минимальным риском и без лишней суеты.
Что нужно подготовить до переноса
Сначала убедитесь, что новый хостинг действительно готов принять сайт. Для WordPress важны не только место на диске и цена тарифа, но и версия PHP, лимиты памяти, доступ к базе данных, поддержка HTTPS и нормальная работа почтовых и DNS-записей, если вы используете их у хостера.
Перед началом переноса проверьте:
- доступ к старому и новому хостингу по FTP/SFTP или через файловый менеджер;
- доступ к панели управления базой данных, обычно это phpMyAdmin или аналог;
- данные для подключения к базе: имя базы, пользователь, пароль, хост базы;
- доступ к DNS-зоне домена у регистратора или DNS-провайдера;
- наличие резервной копии сайта на старом хостинге.
Если сайт работает на WordPress, отдельно проверьте версию PHP на новом хостинге. Слишком старая версия может не запустить актуальные плагины и тему, а слишком новая — вскрыть ошибки в старом коде. Лучше заранее поднять тестовую копию и посмотреть, нет ли предупреждений в журнале ошибок или в админке WordPress.
Почему перенос без простоя делается в два этапа
Главная идея простая: пока посетители продолжают заходить на старый сервер, новый уже должен быть полностью готов. Тогда в момент переключения DNS сайт не «собирается по частям», а просто начинает открываться с нового места.
Есть два критичных момента:
- файлы и база должны быть синхронизированы — иначе часть пользователей увидит старый контент, часть новый, а в магазине или на сайте с комментариями можно потерять изменения;
- DNS должен обновиться быстро — для этого заранее уменьшают TTL у DNS-записей, чтобы старые адреса не кэшировались слишком долго.
Если у вас статический сайт, задача проще. Если это WordPress, особенно с формами, заказами, комментариями или регулярным обновлением контента, перенос нужно планировать аккуратнее.
Шаг 1. Подготовьте новый хостинг и временный адрес
Сначала создайте на новом хостинге пустой сайт или домен-поддомен для теста. Удобнее всего использовать временный адрес вида test.example.com или технический домен, который даёт хостинг. На него вы загрузите копию сайта и проверите, что всё работает до переключения основного домена.
На этом этапе обычно нужно:
- создать новую базу данных и пользователя;
- записать параметры подключения;
- загрузить файлы сайта в корневую директорию;
- импортировать базу данных;
- при необходимости временно прописать домен в файле
hostsна своём компьютере или использовать технический URL хостинга для проверки.
Если хостинг даёт отдельную тестовую среду или staging, это ещё удобнее: можно проверить сайт без влияния на посетителей. Но не у всех провайдеров такая функция есть, поэтому ниже я исхожу из обычного сценария с временным адресом.
Шаг 2. Скопируйте файлы сайта
Для WordPress нужно перенести всю файловую часть: ядро, тему, плагины, загрузки и, если есть, дополнительные файлы в корне сайта. Обычно это папка с WordPress и её содержимое.
Если сайт небольшой, можно скачать архивом через файловый менеджер и распаковать на новом хостинге. Если сайт крупный, надёжнее копировать по FTP/SFTP или через архив с последующей распаковкой на сервере. Так меньше шанс повредить файлы и быстрее проходит передача.
Особое внимание — папке wp-content/uploads. Именно там лежат изображения и медиафайлы. Если перенести только базу, сайт откроется, но картинки будут битые.
Шаг 3. Перенесите базу данных и проверьте подключение
База данных WordPress содержит записи, страницы, настройки, пользователей, меню и многое другое. Без неё сайт не соберётся. Экспортируйте базу со старого хостинга через phpMyAdmin или другой доступный инструмент и импортируйте её в новую базу.
После импорта проверьте файл wp-config.php. В нём должны быть актуальные параметры подключения:
define('DB_NAME', 'new_db_name');
define('DB_USER', 'new_db_user');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost');Значение DB_HOST зависит от хостинга. На большинстве виртуальных хостингов это localhost, но у некоторых провайдеров используется отдельный адрес базы. Если указать неверный хост, WordPress не подключится к базе и покажет ошибку соединения.
Если домен меняется не полностью, а сайт просто переезжает на другой сервер с тем же адресом, позже может понадобиться заменить старые URL в базе. Это касается случаев, когда временный адрес использовался для проверки. Делать замену лучше аккуратно, чтобы не повредить сериализованные данные. Для WordPress безопаснее использовать инструменты, которые умеют корректно работать с сериализацией, а не обычный поиск и замену в SQL-дампе.
Шаг 4. Проверьте сайт на новом хостинге до переключения DNS
Это самый важный этап, если вы хотите избежать простоя. Пока DNS ещё указывает на старый сервер, новый можно проверить отдельно. Откройте главную страницу, несколько внутренних страниц, админку WordPress, формы обратной связи, поиск по сайту, корзину или оформление заказа, если это интернет-магазин.
Проверьте не только визуально, но и технически:
- открываются ли страницы без ошибок 500 и 502;
- работают ли изображения и стили;
- не сломались ли постоянные ссылки;
- можно ли войти в админку;
- сохраняются ли комментарии, формы и другие интерактивные действия;
- нет ли проблем с письмами, если сайт отправляет уведомления через SMTP или встроенную почту.
Если сайт открывается по временной ссылке, а не по основному домену, иногда нужно временно подправить адрес сайта в настройках WordPress или в базе. Но не спешите менять основной домен везде подряд: сначала убедитесь, что копия полностью рабочая.
Шаг 5. Снизьте TTL у DNS заранее
Чтобы переключение прошло быстрее, уменьшите TTL у DNS-записей домена заранее, обычно за 24–48 часов до переезда. TTL — это время, в течение которого резолверы и провайдеры кэшируют DNS-запись. Чем меньше TTL, тем быстрее пользователи начнут попадать на новый сервер после смены IP.
Если у вас есть доступ к DNS-зоне, уменьшите TTL у записи A или AAAA, которая указывает на сайт, а при необходимости и у www. Конкретный интерфейс зависит от регистратора или DNS-панели, но логика везде одна: сначала снизить TTL, потом уже менять IP.
Не делайте это в последний момент. Если TTL был высоким, часть пользователей ещё долго будет ходить на старый сервер даже после переключения. Именно поэтому переезд без простоя планируют заранее.
Шаг 6. Переключите DNS, когда новый сайт уже готов
Когда вы убедились, что копия на новом хостинге работает, меняйте DNS-запись домена на новый IP-адрес. Если сайт использует отдельные записи для www, почты или поддоменов, проверьте их отдельно, чтобы не сломать сопутствующие сервисы.
После изменения DNS не отключайте старый хостинг сразу. В идеале старый сервер должен ещё некоторое время принимать запросы, пока кэш DNS не обновится у всех провайдеров. Обычно это занимает от нескольких минут до суток, иногда дольше, если где-то остались старые кэши.
На практике безопаснее держать старый хостинг активным хотя бы 24–48 часов после переключения. Это не гарантирует мгновенный переход всех пользователей, но снижает риск, что часть аудитории увидит ошибку вместо сайта.
Что делать с SSL-сертификатом
Если сайт работает по HTTPS, сертификат нужно учесть отдельно. На новом хостинге SSL обычно выпускается заново через Let’s Encrypt или устанавливается через панель управления. Делать это лучше до переключения DNS или сразу после него, в зависимости от того, как хостинг проверяет домен.
Есть два типичных сценария:
- сертификат выпускается по домену после DNS-подтверждения — тогда сначала переключают DNS, потом выпускают SSL;
- сертификат можно подготовить заранее — тогда его ставят на новый сервер до переезда и проверяют сайт по HTTPS на временном адресе или через hosts.
Если сертификат не выпущен вовремя, браузер покажет предупреждение о небезопасном соединении. Для владельца сайта это выглядит как простой, хотя сам сайт может быть уже доступен. Поэтому SSL лучше включать в план переноса заранее, а не оставлять на последний шаг.
Как не потерять данные во время переключения
Самый неприятный сценарий — когда сайт уже частично работает на новом сервере, а на старом ещё продолжают появляться новые данные. Это особенно критично для магазинов, форумов, сайтов с личными кабинетами и формами заявок.
Если на сайте есть активные пользовательские действия, перед переключением DNS сделайте короткое «замораживание» изменений:
- временно отключите публикацию новых материалов, если это возможно;
- поставьте сайт в режим обслуживания на старом хостинге на короткое время;
- дождитесь завершения последних заказов, заявок или комментариев;
- при необходимости повторно синхронизируйте базу данных перед финальным переключением.
Для обычного блога это может быть не нужно. Для магазина с заказами — уже желательно. Если вы не уверены, есть ли риск потери данных, ориентируйтесь на правило: чем больше на сайте пользовательской активности, тем важнее короткое окно синхронизации перед DNS-переключением.
Как проверить, что перенос прошёл без простоя
После переключения DNS не ограничивайтесь открытием главной страницы. Проверьте сайт с разных устройств и сетей: домашний интернет, мобильную сеть, VPN, если он у вас есть. Так вы быстрее заметите, что часть трафика ещё идёт на старый сервер из-за кэша.
Полезно проверить:
- адрес сайта открывается по HTTPS без предупреждений;
- админка WordPress доступна;
- новые записи, страницы и изображения на месте;
- формы отправляются;
- в логах нет массовых ошибок подключения к базе или 404 на файлы темы.
Если у вас есть доступ к старому и новому серверу, сравните время ответа и убедитесь, что запросы действительно идут на новый IP. Иногда домен уже обновлён, но локальный кэш или DNS-провайдер ещё держит старый адрес.
Когда лучше не переносить сайт самостоятельно
Самостоятельный перенос без простоя возможен почти всегда, но есть ситуации, когда лучше не рисковать. Это касается сайтов с большой базой, сложной интеграцией, нестандартной архитектурой, несколькими доменами, отдельной почтой на хостинге или высокой ценой ошибки.
Если сайт приносит деньги каждый час простоя, а у вас нет уверенности в работе с DNS, базой данных и SSL, разумнее сначала сделать перенос на тестовом окружении или поручить миграцию техподдержке нового хостинга. Многие провайдеры помогают с переносом, но условия у них разные: где-то это бесплатная услуга, где-то — только для определённых тарифов, а где-то помощь ограничена простым копированием файлов и базы.
В любом случае безопасный переезд — это не одна команда и не одна кнопка в панели. Это последовательность: подготовить новый хостинг, перенести файлы и базу, проверить копию, снизить TTL, переключить DNS, дождаться обновления кэшей и только потом отключать старый сервер. Если сделать именно так, сайт обычно переезжает без заметного простоя для посетителей.