Ошибки при переносе сайта на новый сервер и как их избежать

Миграция сайта

Ошибки при переносе сайта на новый сервер и как их избежать

Переезд сайта на новый сервер кажется простой задачей: скопировать файлы, перенести базу и переключить DNS. На практике именно во время миграции часто ломаются формы, почта, SSL, права доступа, cron-задачи, интеграции и даже позиции в поиске. Разбираем частые ошибки и правильный порядок действий.

В чём проблема

Перенос сайта на новый сервер — это не только копирование файлов. Нужно перенести базу данных, настройки CMS, SSL-сертификаты, почту, cron-задачи, права доступа, конфигурации веб-сервера и все внешние интеграции.

Если сделать миграцию без подготовки, сайт может открыться внешне нормально, но при этом перестанут отправляться заявки, сломается авторизация, не будут работать оплаты, обмен с 1С, загрузка файлов или административная панель.

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

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

Когда сайту может понадобиться перенос на новый сервер

Старый сервер устарел

Операционная система, PHP, база данных или веб-сервер больше не поддерживаются, а обновлять окружение «поверх» рискованно.

Не хватает ресурсов

Сайт тормозит, сервер перегружается, заканчивается диск, растёт трафик или планируется рекламная кампания.

Нужна лучшая безопасность

Требуется актуальная платформа, свежие версии PHP, nginx, базы данных, firewall, мониторинг и резервное копирование.

Меняется хостинг или подрядчик

Проект передают на поддержку новой команде, переводят на VPS, выделенный сервер или другую инфраструктуру.

Частые ошибки при переносе сайта

Ошибка 1

Перенос без свежего полного бэкапа

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

Ошибка 2

Не проверить совместимость PHP и CMS

На новом сервере может быть другая версия PHP, другие расширения и настройки. Старый сайт, шаблон, плагины или модули могут оказаться несовместимыми с новым окружением.

Ошибка 3

Переключить DNS до полноценного тестирования

Если перевести домен на новый сервер до проверки, пользователи сразу попадут на потенциально неработающий сайт. Сначала нужно протестировать проект на временном домене, hosts-файле или техническом адресе.

Ошибка 4

Забыть про SSL-сертификат

После переноса может сломаться HTTPS, появиться ошибка сертификата, неправильный редирект или смешанный контент. SSL нужно настроить и проверить до переключения основного трафика.

Ошибка 5

Неправильно перенести базу данных

Ошибки кодировки, неполный дамп, разные версии MySQL/MariaDB, неправильные права пользователя или ограничения размера импорта могут привести к повреждению данных и ошибкам сайта.

Ошибка 6

Не проверить права на файлы и папки

После копирования файлов сайт может не иметь прав на запись в кэш, загрузки, логи или временные директории. Это приводит к ошибкам в CMS, невозможности загрузить изображения или сохранить настройки.

Ошибка 7

Забыть про cron-задачи

Cron может отвечать за обмен с 1С, рассылки, генерацию файлов, очистку кэша, обработку заказов и другие фоновые процессы. Если задачи не перенести, часть функций сайта перестанет работать.

Ошибка 8

Не настроить почту и SMTP

После переезда письма с сайта могут не отправляться, попадать в спам или уходить с неправильного сервера. Нужно проверить SMTP, SPF, DKIM, DMARC и тестовые отправки заявок.

Ошибка 9

Не перенести конфигурации веб-сервера

nginx, Apache, PHP-FPM, редиректы, лимиты загрузки файлов, gzip, правила безопасности и обработка статических файлов могут отличаться. Нельзя полагаться только на перенос файлов сайта.

Ошибка 10

Не проверить интеграции

CRM, 1С, платёжные системы, доставка, телефония, email-рассылки, API и webhooks могут зависеть от IP-адреса, домена, SSL, firewall или путей на сервере.

Ошибка 11

Не снизить TTL DNS заранее

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

Ошибка 12

Отключить старый сервер слишком рано

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

Как подготовиться к переносу сайта

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

Перед переносом проверьте:

  1. версию CMS, PHP, базы данных, nginx, Apache и системных пакетов;
  2. список сайтов, доменов, поддоменов и редиректов;
  3. размер файлов сайта и базы данных;
  4. наличие пользовательских загрузок, документов и медиафайлов;
  5. cron-задачи и фоновые процессы;
  6. почтовые настройки и SMTP;
  7. SSL-сертификаты и редиректы HTTP/HTTPS;
  8. интеграции с CRM, 1С, оплатой, доставкой и внешними API;
  9. права доступа к файлам, базе данных и административной панели;
  10. наличие рабочего плана отката.

Практический план безопасной миграции

Этап Что сделать Зачем это нужно
1. Аудит Проверить текущий сервер, CMS, версии ПО, размер сайта, интеграции и зависимости. Понять объём работ и возможные риски до начала переноса.
2. Бэкап Сделать полную копию файлов, базы данных, конфигураций и важных настроек. Иметь возможность восстановиться или откатиться, если миграция пойдёт не по плану.
3. Новый сервер Установить нужные версии PHP, базы данных, nginx/Apache, расширения и системные пакеты. Подготовить совместимое окружение для проекта.
4. Перенос данных Перенести файлы сайта, базу данных, загрузки, конфиги, cron, SSL и почтовые настройки. Собрать рабочую копию сайта на новом сервере.
5. Тестирование Проверить сайт на техническом домене, временном IP или через hosts-файл. Найти ошибки до того, как на сайт попадут пользователи.
6. Переключение Снизить TTL, переключить DNS, проверить доступность сайта и работу HTTPS. Перевести пользователей на новый сервер с минимальным простоем.
7. Контроль Проверить логи, формы, заказы, почту, CRM, оплату, cron и нагрузку сервера. Убедиться, что сайт стабильно работает после миграции.
8. Откат Старый сервер не отключать сразу, а оставить до подтверждения стабильной работы. Сохранить возможность быстрого возврата при критичной ошибке.

Что обязательно проверить после переноса

Сайт

Главная страница, разделы, карточки товаров, формы, поиск, фильтры, мобильная версия и административная панель.

Данные

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

Инфраструктура

HTTPS, редиректы, cron, почта, права доступа, логи, свободное место на диске и мониторинг.

Интеграции

CRM, 1С, оплата, доставка, API, webhooks, аналитика, рекламные пиксели и внешние сервисы.

Как снизить простой при переносе сайта

Полностью избежать рисков при миграции сложно, но можно значительно уменьшить простой и вероятность ошибок.

Что помогает:

  • снизить TTL DNS за несколько часов или за сутки до переключения;
  • заранее подготовить и протестировать новый сервер;
  • перенести основную массу файлов до финального переключения;
  • на время финальной синхронизации ограничить изменения на старом сайте;
  • сделать финальный дамп базы данных непосредственно перед переключением;
  • проверить сайт через hosts-файл до изменения DNS;
  • запланировать миграцию на период минимальной активности пользователей;
  • оставить старый сервер доступным для отката.

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

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

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

Причина может быть в другой версии PHP, отсутствующих расширениях, настройках nginx или Apache, правах на файлы, кодировке базы данных, отличиях путей, закрытых портах, SSL, cron-задачах или интеграциях, которые завязаны на старый IP.

Да, обязательно. Перед переносом нужна свежая полная резервная копия файлов, базы данных и конфигураций. Она нужна для восстановления, сравнения данных и отката, если во время миграции возникнут ошибки.

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

Итоги и рекомендации

Нужна помощь?

Перенесём сайт на новый сервер без лишних рисков: подготовим окружение, сделаем бэкап, проверим совместимость, настроим SSL, почту, cron, интеграции и мониторинг.

Заказать перенос сайта

Читайте также

Все публикации