Сергей Сорокин · Хостинг и работающий магазин
Перенос сайта на другой хостинг: что проверить до переключения
Опубликовано
Новая копия сайта открывается, товары и фотографии на месте. Но пока ее проверяют, рабочий магазин продолжает принимать заказы. Перед переключением нужно перенести эти изменения и определить, какой сервер дальше сохраняет обращения, оплаты и обновления каталога.
Куда попадет заказ между копированием и переключением
Условный пример. В 18:00 исполнитель скопировал базу магазина на новый хостинг. В 18:10 покупатель оформил заказ на старом сервере. В 18:30 домен направили на новый сервер. Если после первой копии базу больше не обновляли, нового заказа в ней нет. Похожая проблема возникает с регистрациями, заявками, изменениями остатков и отметками об оплате.
После изменения DNS часть посетителей некоторое время обращается к прежнему серверу. DNS связывает имя сайта с адресом сервера, а браузеры и сети сохраняют полученный ответ. Поэтому само переключение домена не прекращает запись на старой копии.
До переноса согласуйте с исполнителем момент остановки изменений, способ финального копирования и поведение старого сервера после переключения. Для магазина с паузой в приеме заказов и для переноса с передачей запросов на новый сервер нужны разные настройки. Возможность переноса без простоя оценивают по устройству конкретного сайта.
Проверьте, подходит ли новый хостинг вашему сайту
Перед оплатой попросите разработчика составить требования по установленной версии сайта. Для Битрикса имеют значение версия PHP, которая выполняет код, версия базы данных, расширения PHP, модули и доработки. Требования последнего выпуска Битрикса не подтверждают совместимость старого сайта.
Согласуйте с хостером ресурсы и доступные функции по этому списку. Отдельно проверьте задачи, которые выполняются по расписанию: обмен, рассылки, обработку очередей и создание копий. Если задачи запускает системный планировщик cron, на новом хостинге должна быть возможность настроить их и проверить фактический запуск.
Обновление PHP, ядра Битрикса или шаблона меняет условия переноса. Если для нового хостинга требуется такое обновление, согласуйте его отдельным этапом с проверкой доработок. Иначе при ошибке будет сложнее установить, вызвана ли она новым сервером или изменением сайта.
Технические требования текущего выпуска 1С-Битрикс
- Сверьте версии и расширения PHP для запросов сайта и фоновых задач: они могут запускаться в разных окружениях.
- Проверьте совместимость базы данных и возможность восстановить ее на новом сервере.
- Оцените место для файлов, базы, временного архива и резервных копий, а также ограничения памяти и времени выполнения задач.
- Уточните возможность подключить защищенное соединение HTTPS, отправлять письма и обращаться к внешним сервисам.
- Назначьте ответственного за настройки, обновления и резервные копии сервера. Для VPS (отдельного виртуального сервера) эти работы нужно явно включить в обслуживание.
Уточните, что входит в перенос
Если сайт использует базу данных, для переноса нужны доступы к ней и к файлам. В комплект входят загруженные изображения и документы. Исполнитель также проверяет конфигурацию подключения к базе, скрытые файлы настроек, права на каталоги и зависимости, которые хранятся вне папки сайта.
Составьте перечень того, что настроено отдельно на старом сервере: задания по расписанию, сертификат HTTPS, правила перенаправления адресов, обработка очередей, хранение файлов во внешнем сервисе. Копирование папки сайта само по себе не переносит эти настройки.
Сохраните резервную копию в месте, доступном после отключения старого хостинга. Попросите исполнителя проверить восстановление. Архив, который удалось скачать, еще не показывает, что из него можно запустить сайт.
Уточните границы услуги переноса у хостера. Настройка обмена с 1С, внешней почты или платежей должна быть явно включена в работу либо назначена другому исполнителю. До начала сохраните доступы к домену, DNS и почте в учетных записях, которыми вы управляете.
Подготовьте закрытую копию до первого запуска
На новой копии находятся те же данные и настройки, что на рабочем сайте. До ее первого запуска исполнитель ограничивает доступ паролем или разрешенными адресами и отключает рабочие отправки и обмены. Закрытие от поисковых роботов не заменяет ограничение доступа.
Для сайта с базой данных исполнитель создает отдельную базу и проверяет, что копия не подключена к рабочей базе старого сайта. На время проверки он также исключает изменение рабочих данных во внешних хранилищах со стороны новой копии.
Проверьте, что копия не отправляет письма клиентам, не создает рабочие сделки в CRM (системе учета клиентов), не передает рабочие заказы в 1С и не запускает реальные платежи. Для проверки используйте тестовые учетные записи, согласованные ящики и тестовые режимы внешних сервисов. Фоновые задачи на копии тоже могут выполнять эти действия.
Временный адрес помогает осмотреть копию, но часть функций зависит от рабочего домена. Для проверки с тем же именем администратор может настроить файл hosts на компьютере проверяющего: он направит этот компьютер на новый сервер, пока остальные посетители пользуются старым. Для такого HTTPS-подключения нужен действительный сертификат рабочего домена. Не обходите предупреждение браузера о сертификате.
Локальная настройка hosts не направляет на новый сервер запросы платежной системы или CRM. Проверку таких обращений исполнитель согласует отдельно с сервисом. После проверки удалите временную настройку. Иначе при приемке файл hosts продолжит направлять ваш компьютер на новую копию.
Пройдите путь от товара до обработки заказа
Проверьте сценарии, ради которых работает сайт. Для магазина найдите товар привычным способом, добавьте его в корзину и оформите тестовый заказ. Сверьте состав, цену и доставку в заказе с тем, что видел покупатель. Для сайта услуг отправьте тестовое обращение и проверьте его получение. Если сайт сохраняет обращения, найдите соответствующую запись.
На закрытой копии письма и интеграции проверяют с ограниченными получателями и в согласованных тестовых режимах. Если у сервиса нет такого режима, запишите, какую проверку перенесли на запуск и кто ее выполнит. Видимая страница успешной оплаты не подтверждает, что магазин получил уведомление об оплате.
Попросите исполнителя записать результаты и нерешенные ошибки. Перед окончательным копированием он удаляет тестовые записи или учитывает их замену рабочими данными. После замены данных и настроек повторите согласованные проверки.
- Проверьте предусмотренный сайтом вход покупателя и сотрудника с их правами, а также доступ к заказу в административной части магазина.
- Откройте важные страницы, фотографии и документы по прежним адресам.
- Сверьте полученное уведомление. Если сайт сохраняет обращение или заказ, найдите его запись и проверьте сведения.
- Проверьте предусмотренные сайтом цены, остатки, варианты оплаты и доставки.
- Согласуйте проверку обменов, фоновых задач и приема ответов внешних сервисов на новом сервере.
Назначьте время остановки изменений и финальной копии
Для переноса с паузой согласуйте ее начало, ожидаемую длительность и сообщение посетителям. Назначьте человека, который разрешит запуск после проверки. Сотрудники на это время прекращают менять товары, заказы и документы на старом сайте.
Исполнитель останавливает все источники записей на старой копии, включая формы, оформление заказов, фоновые задачи и входящие обмены. Отключение кнопки оформления не останавливает обновление остатков из 1С или уведомления о ранее начатых оплатах. Для этих обращений заранее определяют, как принять и сохранить их на новом сервере либо получить и обработать позже. Если такого порядка нет, переключение нужно отложить.
Перед финальной копией исполнитель проверяет, что уже начатые заказы, загрузки и обмены завершены либо безопасно остановлены. После этого он переносит актуальную базу и новые файлы, проверяет настройки нового сервера и сверяет последние заказы и обращения. Для данных вне папки сайта отдельно определите, нужно ли их копировать или достаточно сохранить подключение к прежнему хранилищу. После этой сверки новую копию открывают для рабочих записей.
Во время обновления DNS старый сервер сохраняют без самостоятельного приема новых заказов. Посетителю показывают сообщение об обслуживании либо администратор настраивает передачу запросов на новый сервер. Во втором случае он проверяет отправку форм, HTTPS и уведомления внешних сервисов, а для магазина также вход покупателей и сохранение корзины. Обычное перенаправление на тот же домен не решает проблему сохраненного старого адреса.
Переключите сайт, сохранив домен и почту
Смена хостинга не требует нового домена или переноса домена к другому регистратору. Если DNS остается у прежнего оператора, администратор меняет записи, которые направляют сайт на сервер. Если меняются NS-серверы, которые обслуживают DNS домена, он сначала переносит к новому оператору используемые записи. Эти записи образуют DNS-зону с настройками для сайта, почты и других сервисов домена.
Попросите администратора проверить адреса для основного домена, www и нужных поддоменов. Запись A задает адрес IPv4, а AAAA задает IPv6. Оставленная AAAA со старым адресом может направлять часть посетителей на прежний сервер, даже если A уже изменили. TTL (срок хранения ответа DNS) можно уменьшить заранее, но это не удаляет ответы, которые уже сохранили браузеры и сети.
Вместе с администратором сверьте MX-записи, которые направляют входящую почту, и TXT-записи проверки отправителя и владения доменом. Если ящики находятся на старом хостинге, их перенос согласуйте отдельно до отключения аккаунта. Изменение адреса сайта не переносит письма и настройки ящиков. Если сайт будет отправлять письма с нового IP-адреса, администратор почты проверяет, разрешен ли этот источник отправки.
После переключения проверьте входящее письмо на доменный ящик и исходящее уведомление с сайта. Для уведомления найдите письмо у получателя и подтвердите обработку обращения на новом сервере по журналу. Если сайт сохраняет обращения, сверьте соответствующую запись. Проверьте также HTTPS и перенаправления между вариантами адреса сайта.
Проверьте сайт после переключения
После финальной синхронизации исполнитель снимает временные ограничения на новом сервере и включает рабочие интеграции по согласованному порядку. Убедитесь, что задания по расписанию выполняются на новом сервере, а старые больше не запускают те же отправки и обмены.
Повторите согласованный тест с собственными контактами. Попросите исполнителя подтвердить по журналам, что обращение обработал новый сервер. Если сайт сохраняет обращения в базе, найдите соответствующую запись. Дополнительно откройте сайт через другую сеть без временной настройки hosts. Эта проверка показывает направление для выбранных подключений, но не завершение обновления DNS у всех посетителей.
Для магазина сверяйте новые заказы, оплаты и изменения остатков. Отдельно проверьте незавершенные оплаты и сообщения, накопившиеся до и во время паузы. Исполнитель должен подтвердить их обработку на рабочем сайте. Наблюдайте за результатами фоновых задач и ошибками отправки.
До отключения старого хостинга подтвердите, что связанные с ним почта, копии, файлы и отдельные сервисы перенесены или сохранены. Срок наблюдения и дату отключения согласуйте с исполнителем по устройству сайта и настройкам DNS.
Проверьте создание резервной копии уже на новом сервере и возможность ее восстановления. Удалите временные архивы и служебные файлы из открытого доступа. Сохраните отчет переноса, рабочие доступы и сведения о том, кто дальше обслуживает сервер.
Согласуйте возврат с учетом новых заказов
До переключения определите, при каких сбоях прием заказов остановят: например, новый сервер не сохраняет заказ или не принимает уведомление об оплате. Укажите, кто принимает решение и кто временно прекращает новые записи. Сохраненная старая копия нужна для возврата, но ее данные перестают быть актуальными после начала работы нового сайта.
Если новый сервер уже принял заказы, регистрации или оплаты, простая смена DNS обратно оставит их вне старой базы. При возврате исполнитель сначала прекращает новые записи на новом сервере и учитывает уже выполняющиеся операции. Затем он сохраняет поступившие изменения и согласует их перенос. Также нужно учесть файлы, отправленные уведомления и ответы внешних сервисов, чтобы не повторить уже выполненные действия.
Перед возобновлением работы выберите один сервер для приема заказов и проверьте, что на нем сохранены поступившие изменения. Если безопасно перенести их обратно нельзя, сохраняйте паузу и устраняйте сбой на новом сервере. Не открывайте две независимые копии для приема заказов в надежде объединить их позже.
