Перенос WordPress с виртуального хостинга на VPS

Как перенести сайт WordPress с виртуального хостинга на VPS, не потеряв почту и настройки DNS
Перенос WordPress с виртуального хостинга на виртуальный выделенный сервер (VPS) даёт больше контроля над PHP, ресурсами сервера и его настройками. Но если воспринимать перенос как простое копирование файлов, можно нарушить работу почты или перенаправить посетителей не туда. Главное — отделить сайт от других служб, уже зависящих от вашего домена.
Если вы выясняете, как перенести WordPress на VPS, сначала составьте список того, что именно предоставляет нынешний хостинг-провайдер. Домен может быть зарегистрирован в одной компании, DNS управляться другой, почта обслуживаться третьей, а WordPress размещаться у четвёртой. Переносить все эти службы одновременно не обязательно.
1. Определите границы переноса: отделите сайт от служб, которые останутся на прежнем месте
Запишите, где хранятся файлы и база данных WordPress, а затем выясните, кто отвечает за каждую связанную с сайтом службу. Проверьте регистратора домена, DNS-хостинг, провайдера почты и другие отдельные сервисы, например CDN или хранилище изображений. Часть этой информации может быть в панели управления хостингом, но именно серверы имён и DNS-записи домена показывают, куда направляется трафик.
Например, сайт может работать на виртуальном хостинге, DNS — управляться через Cloudflare, а рабочая почта сотрудников — обслуживаться Google Workspace. В таком случае перенос WordPress на VPS не требует переноса домена или почтовых аккаунтов. Обычно достаточно изменить записи, направляющие веб-трафик, и оставить почтовые записи без изменений. Такой подход помогает выполнить перенос сайта WordPress без потери почты.
Прежде чем что-либо менять, составьте простой перечень. Зафиксируйте текущий адрес веб-сайта, серверы имён и все известные записи, связанные с почтой. Если не уверены, относится ли запись к почте, уточните это у почтового провайдера или сверьтесь с его инструкциями по настройке — не удаляйте её наугад. Из-за отсутствия почтовой записи входящие сообщения перестанут приходить, даже если сайт будет работать как обычно.
2. Проверьте зависимости, которые легко упустить при обычном копировании сайта
Резервная копия WordPress может содержать файлы сайта и базу данных, но не все службы, от которых он зависит. Проверьте запланированные задачи, настройки исходящей почты, внешние хранилища, переадресации, настройки SSL и параметры, специфичные для сервера. Например, сайт с подпиской может использовать запланированную задачу для отключения аккаунтов с истёкшим сроком действия, а интернет-магазин — отправлять уведомления о заказах через внешний SMTP-сервис.
Проверьте запланированные задачи в панели управления хостингом и плагинах WordPress. Встроенная система задач WordPress может запускаться при загрузке страницы посетителем, а системное задание cron — вызывать определённый скрипт по расписанию. Для каждой задачи запишите команду, периодичность и часовой пояс. Если на VPS не добавить соответствующее задание cron, задача, которая выполнялась на старом хостинге каждый час, перестанет запускаться после переноса.
Уточните, как сайт отправляет почту. Запишите, использует ли он почтовый сервер хостинг-провайдера, SMTP-плагин или сервис транзакционной почты, и проверьте, с какого адреса отправляются сообщения. Если почтовый сервер предоставлял старый хостинг, те же настройки могут не заработать на VPS. Уточните у почтового провайдера, ограничивает ли он подключения или требует определённый способ аутентификации.
Также составьте список внешних хранилищ и настроек сервера. Плагин для работы с медиафайлами может сохранять загрузки в объектном хранилище, а не в каталоге WordPress uploads. Сайт может зависеть от определённой версии PHP, расширений PHP, правил переадресации или настроек в файле .htaccess. Сохраните эти сведения: попытки угадать нужные настройки после запуска могут превратить небольшую проблему совместимости в длительный сбой.
3. Настройте VPS с учётом реальных требований сайта
Выберите конфигурацию VPS, соответствующую фактическим потребностям сайта, а затем решите, как сервер будет обрабатывать веб-запросы. Обычно выбирают Apache или Nginx, но оптимальный вариант зависит от сайта и того, кто будет его администрировать. Перед установкой рабочего серверного окружения сверьте необходимую версию PHP и расширения с требованиями кода сайта, плагинов и темы.
Установите базу данных, веб-сервер и обработчик PHP, затем настройте владельцев файлов и права доступа так, чтобы WordPress мог читать свои файлы и записывать данные только в необходимые каталоги. Не делайте все файлы доступными для записи лишь для того, чтобы скрыть ошибку. Ограничьте административный доступ, настройте брандмауэр и обеспечьте резервное копирование базы данных и файлов сайта.
Проверьте VPS до переноса рабочего сайта. Убедитесь, что веб-сервер отображает простую страницу, PHP работает правильно, а база данных принимает тестовое подключение. Запишите установленные версии и настройки файлов конфигурации. Эти сведения помогут сравнить серверы, если какой-либо плагин будет вести себя иначе на новом сервере.
4. Перенесите файлы и базу данных, не затрагивая работающий сайт
Создайте полную копию файлов WordPress и базы данных, а исходный сайт оставьте доступным для посетителей на время работ. Плагин для переноса может упаковать сайт, а инструменты командной строки или резервная копия от хостинг-провайдера обеспечат больший контроль. Какой бы способ вы ни выбрали, убедитесь, что копия включает базу данных, загруженные файлы, темы, плагины и все пользовательские файлы конфигурации.
Если сайт часто обновляется, заранее решите, как поступить с новыми заказами, комментариями и опубликованными записями, появившимися после создания первой копии. Можно сначала скопировать сайт и проверить его в закрытом режиме, а затем повторно перенести базу данных во время короткого технического перерыва. Если у вас интернет-магазин, не принимайте заказы одновременно на обеих копиях: устранить дублирующиеся или потерянные заказы сложнее, чем ненадолго приостановить приём и заранее предупредить об этом клиентов.
Перенесите файлы и базу данных на VPS, затем при необходимости укажите в конфигурации WordPress новое имя базы данных, пользователя, пароль и адрес сервера. Надёжно сохраните исходные и новые параметры. Если меняются домен или пути к файлам, аккуратно обновите настройки сайта. Обычная массовая замена строк может повредить сериализованные данные в базе, если она не умеет корректно с ними работать.
Пока не направляйте публичный DNS на VPS. Во время проверки закрытой копии старый хостинг должен оставаться публичным адресом сайта, а новый сервер не должен получать реальные запросы клиентов до завершения подготовки к переносу.
5. Проверьте сайт в закрытом режиме до изменения публичного DNS
Настройте переопределение в файле hosts на своём компьютере или используйте временное тестовое имя хоста, чтобы браузер обращался к VPS, не меняя публичный DNS. Запись в файле hosts действует только на том устройстве, где вы её добавили, поэтому так удобно проверять новый сайт до того, как его увидят остальные посетители. После проверки удалите эту запись, чтобы не перепутать закрытый маршрут с публичным.
Проверьте и публичную часть сайта, и панель управления WordPress. Откройте страницу входа и несколько важных страниц, проверьте поиск, формы, загрузку файлов, переадресации и функции оформления заказа или личного кабинета, если они есть. Отправьте тестовую форму и убедитесь, куда приходит сообщение. Если сайт отправляет почту, проверьте доставку и папку «Спам»: сообщение об успешной отправке на экране ещё не доказывает, что письмо действительно ушло.
Проверьте запланированные задачи и интеграции, которые обращаются к сайту извне. Например, платёжный сервис может отправлять уведомления на определённый URL, а сервис мониторинга — ожидать конкретный ответ. Убедитесь, что на VPS работает HTTPS. Тестовое имя хоста может не подходить для рабочего сертификата, поэтому до перенаправления посетителей на новый сервер проверьте, как будет настроен сертификат для рабочего домена.
Проверьте переадресации и канонические URL рабочего домена. Если показатель отказов сайта высок, неработающая целевая страница или переадресация может усугубить проблему. В этом руководстве объясняется, какой показатель отказов сайта считается нормальным и как интерпретировать эту метрику. При тестировании переноса сосредоточьтесь на конкретных сбоях: например, если форма выдаёт ошибку или загруженный файл не отображается.
6. Переключите DNS по плану, предусмотрев работу почты и возможность отката
Перед изменением DNS сохраните текущие записи и точно отметьте, какие веб-записи собираетесь обновить. Если для сайта используется A-запись, измените её адрес на адрес VPS. Если веб-имя обрабатывает CNAME-запись, при необходимости измените её. Сохраните почтовые записи, в том числе MX и TXT-записи для аутентификации почты, если только вы не меняете почтового провайдера намеренно. Такая настройка DNS при переносе сайта на VPS направляет посетителей на новый сервер, не затрагивая почтовую маршрутизацию.
Заранее уменьшив время жизни DNS-записей (TTL), иногда можно ускорить обновление адреса на некоторых DNS-резолверах, но это не гарантирует мгновенного изменения по всему миру. Перед редактированием проверьте текущие настройки DNS и рекомендации провайдера. Если вы используете прокси или CDN, уточните, должен ли адрес сервера-источника указывать непосредственно на VPS и соответствует ли режим SSL прокси установленному на сервере сертификату.
Выберите время переключения, когда вы сможете следить за сайтом и оперативно устранять проблемы. Измените запланированные веб-записи, затем проверьте домен через несколько сетей или сервисов проверки DNS. Заранее подготовьте письменную инструкцию для отката: восстановите прежний адрес сайта, укажите, кто может внести изменения, и сохраните доступ к старому аккаунту хостинга. Не удаляйте старый сайт, пока DNS-кеши ещё могут направлять на него посетителей.
Во время переключения отдельно проверьте почту. Отправьте сообщение на адрес домена с внешнего аккаунта, а затем, если возможно, ответьте с этого адреса. Если почта перестала работать, сравните текущие DNS-записи с сохранённой копией, прежде чем вносить другие изменения. Для переноса веб-сервера не нужно удалять почтовые записи.
7. После запуска убедитесь, что новая конфигурация работает
Когда публичный трафик начнёт поступать на VPS, проверьте HTTPS, важные страницы, формы, вход в систему и все процессы, связанные с получением дохода. Изучите журналы WordPress и сервера: обратите внимание на ошибки PHP, запрет доступа к файлам, неудачные подключения к базе данных и повторяющиеся запросы к отсутствующим URL. Главная страница может выглядеть нормально, даже если ошибка плагина незаметно нарушила работу формы обратной связи.
Убедитесь, что резервное копирование на VPS выполняется и вам известно, как восстановить сайт из копии. Проверьте место хранения резервных копий и убедитесь, что последняя копия включает базу данных и файлы. Настройте мониторинг доступности сайта и срока действия сертификата, а затем проверьте, что почта работает в обе стороны. Выполните эти проверки до отмены прежнего тарифного плана хостинга.
Не отключайте старый хостинг, пока новый сайт не пройдёт все запланированные проверки, а изменения DNS не вступят в силу. Сохраните окончательную копию старых файлов и базы данных в соответствии с принятой у вас политикой хранения. Когда сайт будет работать на VPS, почта — доставляться, а инструкции по восстановлению — готовы, вы сможете решить, когда закрыть старый аккаунт, не гадая, какие службы от него ещё зависят.




