Перенос сайта WordPress на другой хостинг без потерь
Содержание
- 1. Главный принцип: сначала копия, потом переключение
- 2. Подготовка: что записать до начала
- 3. Способ 1. Плагином — для сайтов до ~1 ГБ
- 4. Способ 2. Вручную — надёжно для любого размера
- 5. Проверка до переключения DNS
- 6. Переключение DNS
- 7. Чек-лист проверки после переноса
- 8. Три сценария переноса: шпаргалка
- 9. Частые ошибки при переносе
- 10. Когда закрывать старый хостинг
Перенос WordPress на другой хостинг — это копирование двух вещей: файлов и базы данных. Всё остальное — аккуратность в порядке действий, чтобы сайт не «моргнул» для посетителей и ничего не потерялось. В статье — два способа (плагином и вручную), правильная последовательность смены DNS и чек-лист проверки, по которому вы поймёте, что перенос действительно прошёл без потерь.
Главный принцип: сначала копия, потом переключение
Ошибка новичка — «выключить» старый сайт и начать перевозить. Правильный порядок обратный:
- Старый сайт работает и не трогается.
- На новом хостинге разворачивается полная копия.
- Копия проверяется — по временному адресу или через файл hosts.
- Только после проверки DNS домена переводится на новый сервер.
- Старый хостинг живёт ещё неделю-две как страховка.
При таком порядке максимальный риск — потерять комментарии и заказы, оставленные за время между снятием копии и переключением DNS. Для блога это некритично; для магазина перенос планируют на ночное время и делают финальную досинхронизацию базы.
Подготовка: что записать до начала
- Доступы к старому хостингу: панель, FTP/SSH, phpMyAdmin.
- Доступы к новому хостингу и к панели управления доменом (там меняются DNS).
- Версия PHP на старом хостинге («Здоровье сайта → Информация») — на новом должна быть та же или новее, для актуального WordPress это PHP 8.2+.
- Полный бэкап: файлы + база. Он должен существовать до любых действий — если бэкапы у вас ещё не настроены, начните с защиты и резервных копий.
Способ 1. Плагином — для сайтов до ~1 ГБ
Самый простой маршрут для типового сайта.
Duplicator — собирает весь сайт в архив плюс файл installer.php:
- На старом сайте: Duplicator → Create New → скачайте архив и installer.php.
- На новом хостинге: создайте чистую базу данных (запишите имя, пользователя, пароль).
- Загрузите оба файла в корень сайта на новом хостинге.
- Откройте
временный-адрес/installer.phpи пройдите мастер: он распакует файлы, зальёт базу и сам заменит адреса. - После установки удалите 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 секунд — тогда провайдеры быстрее подхватят смену адреса. В момент переключения:
- В панели DNS замените A-запись домена (и www) на IP нового сервера.
- Обновление расходится от минут до 24–48 часов — в это время часть посетителей ходит на старый сервер, часть на новый. Оба должны работать.
- Проверить, куда смотрит домен из разных точек мира, можно сервисом вроде whatsmydns.net.
Чек-лист проверки после переноса
| Что проверить | Как |
|---|---|
| Главная и 5–10 внутренних страниц | открыть, сверить вёрстку со старым сайтом |
| Админка | вход по /wp-admin/, обновление любой записи сохраняется |
| ЧПУ-ссылки | внутренние страницы не отдают 404; если отдают — «Настройки → Постоянные ссылки → Сохранить» и проверить .htaccess |
| Формы | отправить тестовую заявку, письмо дошло (на новом хостинге почта настраивается отдельно!) |
| Медиафайлы | случайные картинки в старых записях загружаются |
| HTTPS | сертификат валиден, нет «смешанного содержимого» в консоли браузера |
| Здоровье сайта | «Инструменты → Здоровье сайта»: критических ошибок нет, версия PHP не ниже прежней |
| Кеш и «липкие» адреса | в исходном коде страниц нет ссылок на временный адрес |
| Поиск | site:вашдомен.ru в Google/Яндексе — страницы на месте, в панелях вебмастеров нет всплеска ошибок |
| Бэкапы на новом месте | плагин бэкапов перенастроен и сделал первую копию с нового сервера |
Пункт про почту — самый частый сюрприз: сайт переехал, а MX-записи и почтовые ящики остались на старом хостинге. Если почта домена жила у старого хостера, её переносят отдельно или заранее выносят на сторонний сервис.
Три сценария переноса: шпаргалка
| Сценарий | Способ | Простой сайта | Время |
|---|---|---|---|
| Блог/визитка до 1 ГБ | Duplicator | нет | ~1 час |
| Крупный сайт, есть SSH | rsync + 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: убедитесь, что весь трафик идёт на новый сервер, письма с форм доходят, а полный бэкап старой версии сохранён у вас локально.
Источники
Читайте также
Защита WordPress от взлома: 12 шагов
12 практических шагов защиты WordPress: обновления, двухфакторка, лимит входа, wp-config, бэкапы. Плюс план действий, если сайт уже взломали.
· 7 мин
Как установить WordPress: пошаговая инструкция 2026
Два способа установить WordPress: автоустановщик хостинга и вручную по FTP. Требования, настройка wp-config.php и чек-лист первых 30 минут.
· 7 мин
Кеширование WordPress: какой плагин выбрать в 2026
Разбор плагинов кеширования WordPress: LiteSpeed Cache, WP Super Cache, W3 Total Cache, WP Fastest Cache, Surge. Таблица «кому что» и проверка, что кеш работает.
· 6 мин