Как перенести сайт на новый хостинг без простоя
Что означает миграция сайта
Миграция сайта (website migration) представляет собой процесс переноса файлов сайта, базы данных, почты и DNS-записей от одного хостинг-провайдера к другому. Если сделать это небрежно, посетители часами видят ошибки или устаревшую копию сайта. Если сделать правильно, переключение остаётся незаметным: те же страницы продолжают открываться, пока сервер тихо меняется. Это руководство пошагово показывает, как выполнить миграцию сайта без простоя, будь то блог на WordPress, магазин на WooCommerce или собственное приложение на PHP.
Шаг 1. Составьте опись того, что переносите
Прежде чем что-либо трогать, перечислите все составляющие:
- Файлы сайта (корень документов, загрузки, темы, плагины).
- База данных, её имя, пользователь и кодировка.
- Версия PHP, расширения и задания cron.
- Почтовые ящики, пересылки и данные писем.
- DNS-записи: A, AAAA, MX, TXT (SPF, DKIM), CNAME.
- SSL-сертификаты и любая особая конфигурация сервера.
Чаще всего миграция срывается потому, что о чём-то из этого забыли, а не потому, что копирование прошло неудачно.
Шаг 2. Сначала снизьте DNS TTL
Самый важный приём для переноса без простоя выполняется за несколько дней заранее. Найдите значение TTL (время жизни) у A-записи вашего домена и снизьте его до 300 секунд. TTL сообщает резолверам, как долго хранить в кэше ваш старый IP, поэтому высокое значение означает, что посетители ещё долго после переключения попадают на старый сервер. Снизьте его минимум за 24 до 48 часов до дня миграции, чтобы изменение успело распространиться.
dig +nocmd example.ru A +noall +answer ; посмотрите столбец TTL, затем задайте 300 в панели DNS
Шаг 3. Скопируйте файлы и базу данных на новый сервер
Создайте новый аккаунт, затем перенесите данные. rsync поверх SSH надёжен и допускает возобновление:
rsync -avz -e ssh ./public_html/ user@new-server:/home/user/public_html/ mysqldump -u olduser -p olddb > site.sql scp site.sql user@new-server:~/ # на новом сервере: mysql -u newuser -p newdb < site.sql
Обновите конфигурацию приложения (для WordPress это wp-config.php), указав новое имя базы данных, пользователя и пароль.
Шаг 4. Проверьте до того, как что-либо переключать
Никогда не направляйте DNS на непроверенный сервер. Предпросмотрите новый сайт, переопределив DNS только на своём компьютере. Отредактируйте файл hosts и добавьте IP нового сервера:
# /etc/hosts (Linux/macOS) или C:\Windows\System32\drivers\etc\hosts 203.0.113.10 example.ru www.example.ru
Теперь ваш браузер открывает новый сервер, а весь остальной мир по-прежнему видит старый. Пройдите по ключевым страницам, отправьте форму, проверьте оформление заказа и вход. Исправьте проблемы, пока рабочий сайт остаётся нетронутым.
Шаг 5. Финальная синхронизация и переключение DNS
В день переезда выполните финальную синхронизацию, чтобы захватить свежие изменения (новые заказы, комментарии, загрузки). Для нагруженных сайтов на несколько минут включите режим обслуживания или режим только для чтения во время этой последней копии, чтобы после экспорта в старую базу больше ничего не записывалось. Затем измените A-запись на новый IP.
Поскольку TTL был снижен, большинство посетителей переходят в течение нескольких минут. Оставьте старый хостинг активным минимум на 48 часов: трафик уходит постепенно, по мере истечения кэша, и оба сервера в это время должны отдавать одинаковое содержимое.
Шаг 6. SSL, почта и проверка
Установите и проверьте SSL-сертификат на новом сервере, чтобы HTTPS работал сразу, как только DNS укажет на него. Заново создайте MX-записи и почтовые ящики и отправьте тестовое письмо в обе стороны. В течение 24 часов следите за журналами сервера и монитором доступности. Убедитесь, что формы, платёжные обратные вызовы и задания cron работают на новой машине.
Практический вывод
Миграция без простоя сводится прежде всего к подготовке: заранее снизьте TTL, скопируйте и протестируйте на новом сервере до того, как трогать DNS, а затем не выключайте старый хостинг, пока трафик полностью не перейдёт. Если вы предпочитаете не делать это в одиночку, команда CloudHosting переносит сайты в наши дата-центры в Риге, Нидерландах и Дубае и может взять на себя всё переключение, с круглосуточной поддержкой живых специалистов и суверенитетом данных в ЕС в соответствии с NIS2 и GDPR.
Читайте дальше
Готовы начать?
Запустите за минуты или обсудите с инженером, что подходит вашему проекту.