WPWP CULT
Меню

Перенос сайта WordPress на другой хостинг без потерь

РРедакция WP CULT7 мин чтения
Содержание
  1. 1. Главный принцип: сначала копия, потом переключение
  2. 2. Подготовка: что записать до начала
  3. 3. Способ 1. Плагином — для сайтов до ~1 ГБ
  4. 4. Способ 2. Вручную — надёжно для любого размера
  5. 5. Проверка до переключения DNS
  6. 6. Переключение DNS
  7. 7. Чек-лист проверки после переноса
  8. 8. Три сценария переноса: шпаргалка
  9. 9. Частые ошибки при переносе
  10. 10. Когда закрывать старый хостинг

Перенос WordPress на другой хостинг — это копирование двух вещей: файлов и базы данных. Всё остальное — аккуратность в порядке действий, чтобы сайт не «моргнул» для посетителей и ничего не потерялось. В статье — два способа (плагином и вручную), правильная последовательность смены DNS и чек-лист проверки, по которому вы поймёте, что перенос действительно прошёл без потерь.

Главный принцип: сначала копия, потом переключение

Ошибка новичка — «выключить» старый сайт и начать перевозить. Правильный порядок обратный:

  1. Старый сайт работает и не трогается.
  2. На новом хостинге разворачивается полная копия.
  3. Копия проверяется — по временному адресу или через файл hosts.
  4. Только после проверки DNS домена переводится на новый сервер.
  5. Старый хостинг живёт ещё неделю-две как страховка.

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

Подготовка: что записать до начала

  • Доступы к старому хостингу: панель, FTP/SSH, phpMyAdmin.
  • Доступы к новому хостингу и к панели управления доменом (там меняются DNS).
  • Версия PHP на старом хостинге («Здоровье сайта → Информация») — на новом должна быть та же или новее, для актуального WordPress это PHP 8.2+.
  • Полный бэкап: файлы + база. Он должен существовать до любых действий — если бэкапы у вас ещё не настроены, начните с защиты и резервных копий.

Способ 1. Плагином — для сайтов до ~1 ГБ

Самый простой маршрут для типового сайта.

Duplicator — собирает весь сайт в архив плюс файл installer.php:

  1. На старом сайте: Duplicator → Create New → скачайте архив и installer.php.
  2. На новом хостинге: создайте чистую базу данных (запишите имя, пользователя, пароль).
  3. Загрузите оба файла в корень сайта на новом хостинге.
  4. Откройте временный-адрес/installer.php и пройдите мастер: он распакует файлы, зальёт базу и сам заменит адреса.
  5. После установки удалите installer.php и остатки архива — плагин предложит это сделать.

All-in-One WP Migration — ещё проще (экспорт одним файлом, импорт на новом сайте), но бесплатная версия ограничивает размер импортируемого файла, поэтому для крупных сайтов не подходит.

Ограничения плагинного способа: на больших сайтах экспорт падает по таймауту PHP, а медиатека на десятки гигабайт превращает архивирование в лотерею. Тогда — способ 2.

Способ 2. Вручную — надёжно для любого размера

Ручной перенос — это три операции: база, файлы, конфиг.

1. Выгрузите базу данных

Через SSH на старом хостинге:

mysqldump -u ПОЛЬЗОВАТЕЛЬ -p ИМЯ_БАЗЫ | gzip > site-db.sql.gz

Либо через phpMyAdmin: выбрать базу → «Экспорт» → формат SQL. Для базы больше пары сотен мегабайт phpMyAdmin ненадёжен — обрывается по таймауту.

2. Перенесите файлы

Лучший вариант — rsync напрямую со старого сервера на новый, без скачивания к себе:

rsync -avz --progress \
  user@старый-хост:~/public_html/ \
  ~/public_html/

Если SSH нет — архив через панель хостинга или FTP. Проверяйте, что перенеслись скрытые файлы: .htaccess легко потерять, а в нём живут ЧПУ-правила.

3. Разверните на новом хостинге

# создать базу и залить дамп
gunzip < site-db.sql.gz | mysql -u НОВЫЙ_ПОЛЬЗОВАТЕЛЬ -p НОВАЯ_БАЗА

Затем откройте wp-config.php и впишите реквизиты новой базы: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (на некоторых хостингах хост базы — не localhost, проверьте в панели).

4. Если адрес сайта меняется — search-replace

При переносе на тот же домен этот шаг не нужен. Если домен меняется (или проверяете сайт по временному адресу), адреса в базе надо заменить — но не «голым» SQL-запросом: WordPress хранит часть настроек в сериализованных строках, где зашита длина текста, и прямая замена их ломает. Правильный инструмент — WP-CLI:

wp search-replace 'https://старый-домен.ru' 'https://новый-домен.ru' \
  --all-tables --precise

Сначала прогоните с флагом --dry-run — команда покажет, сколько замен будет, ничего не меняя. Без SSH используйте скрипт Search Replace DB или функцию миграции в Duplicator — они тоже понимают сериализацию.

Проверка до переключения DNS

Проверить сайт на новом сервере, пока домен смотрит на старый, можно через файл hosts на своём компьютере. Добавьте строку с IP нового сервера (macOS/Linux — /etc/hosts, Windows — C:\Windows\System32\drivers\etc\hosts):

185.xxx.xxx.xxx site.ru www.site.ru

Теперь ваш браузер откроет site.ru с нового хостинга, а весь остальной интернет — по-прежнему со старого. Прокликайте сайт по чек-листу ниже, потом удалите строку из hosts.

Не забудьте про SSL: выпустите сертификат на новом хостинге заранее (или перенесите существующий), иначе после переключения посетители увидят предупреждение браузера.

Переключение DNS

За сутки до переноса уменьшите TTL A-записи домена до 300–600 секунд — тогда провайдеры быстрее подхватят смену адреса. В момент переключения:

  1. В панели DNS замените A-запись домена (и www) на IP нового сервера.
  2. Обновление расходится от минут до 24–48 часов — в это время часть посетителей ходит на старый сервер, часть на новый. Оба должны работать.
  3. Проверить, куда смотрит домен из разных точек мира, можно сервисом вроде whatsmydns.net.

Чек-лист проверки после переноса

Что проверитьКак
Главная и 5–10 внутренних страницоткрыть, сверить вёрстку со старым сайтом
Админкавход по /wp-admin/, обновление любой записи сохраняется
ЧПУ-ссылкивнутренние страницы не отдают 404; если отдают — «Настройки → Постоянные ссылки → Сохранить» и проверить .htaccess
Формыотправить тестовую заявку, письмо дошло (на новом хостинге почта настраивается отдельно!)
Медиафайлыслучайные картинки в старых записях загружаются
HTTPSсертификат валиден, нет «смешанного содержимого» в консоли браузера
Здоровье сайта«Инструменты → Здоровье сайта»: критических ошибок нет, версия PHP не ниже прежней
Кеш и «липкие» адресав исходном коде страниц нет ссылок на временный адрес
Поискsite:вашдомен.ru в Google/Яндексе — страницы на месте, в панелях вебмастеров нет всплеска ошибок
Бэкапы на новом местеплагин бэкапов перенастроен и сделал первую копию с нового сервера

Пункт про почту — самый частый сюрприз: сайт переехал, а MX-записи и почтовые ящики остались на старом хостинге. Если почта домена жила у старого хостера, её переносят отдельно или заранее выносят на сторонний сервис.

Три сценария переноса: шпаргалка

СценарийСпособПростой сайтаВремя
Блог/визитка до 1 ГБDuplicatorнет~1 час
Крупный сайт, есть SSHrsync + mysqldump + wp search-replaceнет2–4 часа
Магазин с живыми заказамивручную ночью: копия → проверка → заморозка заказов на 30 мин → финальный дамп базы → DNSминутыночь

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

  • Забыли .htaccess — переносили по FTP, скрытые файлы не скопировались. Симптом: главная работает, внутренние страницы отдают 404.
  • Правили адреса SQL-запросом UPDATE — слетели настройки темы и виджетов из-за сломанной сериализации. Лечится повторной заменой правильным инструментом по свежему дампу.
  • Сменили DNS до выпуска SSL — посетители видят предупреждение браузера. Сертификат выпускается на новом хостинге до переключения.
  • Не проверили версию PHP — старый сайт жил на PHP 8.1, новый хостинг по умолчанию дал 8.4, и устаревший плагин уронил сайт фаталом. Версию PHP на новом хостинге сначала ставят той же, обновляют потом.

Когда закрывать старый хостинг

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

Перенос — рутинная операция, если не нарушать порядок: копия → проверка → DNS → страховочный период. Единственное, что превращает её в катастрофу, — работа без бэкапа и переключение домена на непроверенную копию. Кстати, если вы переносите сайт, потому что старый хостинг не тянет, — проверьте требования к новому в инструкции по установке WordPress: PHP 8.2+, свежий MySQL/MariaDB и HTTPS из коробки.

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

+Будет ли сайт недоступен во время переноса?

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

+Сколько времени занимает перенос?

Небольшой сайт плагином — час-полтора. Крупный сайт вручную через SSH — два-четыре часа работы плюс до суток на полное обновление DNS у всех провайдеров.

+Почему нельзя просто заменить адрес в базе через SQL-запрос?

Часть данных WordPress хранится в сериализованном виде, где записана длина строк. Прямая замена в SQL ломает эти данные — настройки тем и виджетов слетают. Используйте wp search-replace или скрипт с поддержкой сериализации.

+Нужно ли что-то менять для поисковиков при смене хостинга?

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

+Когда можно удалять сайт со старого хостинга?

Не раньше чем через одну-две недели после смены DNS: убедитесь, что весь трафик идёт на новый сервер, письма с форм доходят, а полный бэкап старой версии сохранён у вас локально.

Источники

#hosting#perenos#bekapy

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