Коротко
Перенести WordPress на другой хостинг или домен можно тремя способами: вручную (файлы плюс дамп базы данных), плагином миграции или через WP-CLI на сервере. Сайт на WordPress состоит из двух частей — папки с файлами и базы данных MySQL или MariaDB, — и при любом способе переносятся обе. Отличаются только инструменты и то, насколько процесс контролируем.
Для небольшого сайта подходит плагин, для крупного каталога или WooCommerce с тысячами заказов надёжнее ручной перенос или WP-CLI. Если меняется не только хостинг, но и домен, добавляется замена адресов в базе и постраничные 301-редиректы. Ниже — пошаговые инструкции для каждого способа и список проверок после переезда.
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Плагин миграции | Небольшие сайты, типовой хостинг | Не нужны технические знания | Ограничения на размер, сбои на больших архивах |
| Вручную: FTP и phpMyAdmin | Любые сайты среднего размера | Полный контроль | Больше ручных шагов |
| SSH и WP-CLI | Крупные сайты, VPS | Быстро, надёжно, с заменой адресов | Нужен доступ к консоли на обоих серверах |
Основная мысль
Перенос WordPress — это не копирование файлов, а перенос связки «файлы плюс база данных плюс адрес сайта»: если хотя бы одна часть рассинхронизирована, сайт откроется с ошибкой подключения к базе, битой вёрсткой или редиректом на старый адрес.
Большинство проблем при переносе WordPress возникают на стыках. Файлы скопировали, а в wp-config.php остались данные старой базы. Базу импортировали, а адрес сайта в ней прежний, и WordPress упорно отправляет на старый домен. Сменили адрес SQL-запросом, а настройки темы, хранящиеся в сериализованном виде, сломались.
Поэтому перед переездом важно понимать, что именно переносится и в каком порядке. Тогда любой способ, даже ручной, проходит предсказуемо, а сайт остаётся доступным для посетителей до момента переключения DNS.
Что нужно подготовить перед переносом WordPress
Доступы
- Панель старого и нового хостинга.
- FTP или SSH к обоим серверам.
- Доступ к базе данных через phpMyAdmin или консоль.
- Логин администратора WordPress.
- Личный кабинет регистратора домена для смены DNS.
Проверка совместимости
Узнайте версии PHP и MySQL или MariaDB на старом сервере и убедитесь, что новый хостинг поддерживает такие же или совместимые. Если на новом сервере PHP заметно новее, старые плагины и тема могут вызвать фатальную ошибку. Такие вещи лучше выяснить до переноса, а не в момент переключения домена.
Резервная копия
Сделайте полную копию файлов и базы и сохраните её отдельно от обоих хостингов. Если перенос пойдёт не так, старый сайт должен оставаться нетронутым, а копия — доступной.
Заморозка изменений
На время переноса предупредите редакторов, чтобы не публиковали материалы. Для интернет-магазина выберите время с минимумом заказов: всё, что появится в базе после снятия дампа, на новый сервер не попадёт.
Как перенести сайт WordPress на другой хостинг вручную
Ручной перенос WordPress — самый универсальный способ. Он не зависит от плагинов и ограничений на размер архивов.
Шаг 1. Скопируйте файлы
Скачайте по FTP или через файловый менеджер хостинга всю папку сайта: ядро, wp-content, файлы .htaccess и wp-config.php. Удобнее запаковать папку в архив средствами панели хостинга и скачать один файл: это быстрее и надёжнее, чем тысячи мелких файлов по FTP.
Шаг 2. Выгрузите базу данных
В phpMyAdmin выберите базу сайта и сделайте экспорт в формате SQL. На сервере с SSH то же самое делается командой:
mysqldump -u user -p dbname > backup.sql
Для больших баз консольный экспорт предпочтительнее: phpMyAdmin может обрываться по таймауту.
Шаг 3. Создайте базу на новом хостинге
В панели нового хостинга создайте базу данных и пользователя с полными правами на неё. Запишите имя базы, пользователя, пароль и адрес сервера базы данных — он не всегда равен localhost.
Шаг 4. Импортируйте базу
Загрузите дамп через phpMyAdmin на новом хостинге или командой:
mysql -u user -p dbname < backup.sql
Шаг 5. Загрузите файлы и поправьте wp-config.php
Распакуйте архив в папку сайта на новом хостинге. В wp-config.php укажите новые данные подключения:
define( 'DB_NAME', 'new_database' );
define( 'DB_USER', 'new_user' );
define( 'DB_PASSWORD', 'new_password' );
define( 'DB_HOST', 'localhost' );
Проверьте также префикс таблиц в переменной $table_prefix: он должен совпадать с префиксом в импортированной базе.
Шаг 6. Проверьте сайт до смены DNS
Чтобы открыть сайт на новом сервере, пока домен ещё смотрит на старый, пропишите на своём компьютере в файле hosts IP-адрес нового сервера и домен. Браузер будет открывать новую копию, а посетители — старую. Проверьте главную, внутренние страницы, админку, формы, корзину.
Шаг 7. Переключите домен
Смените A-записи домена на IP нового сервера или смените NS-серверы на серверы нового хостинга. Изменения расходятся не мгновенно, поэтому заранее уменьшите TTL записей, если есть такая возможность. После переключения старый хостинг не отключайте ещё несколько дней.
Смена A-записи обычно проще и быстрее, чем смена NS-серверов: остальные записи домена, включая почтовые MX и TXT для подтверждения сервисов, остаются на месте. При смене NS все записи нужно заранее воспроизвести на новых серверах, иначе вместе с сайтом может перестать работать корпоративная почта.
Шаг 8. Синхронизируйте данные после переключения
Если между снятием дампа и переключением DNS на старом сайте появились заказы, заявки или комментарии, их нужно перенести отдельно. Для магазина проще всего снять дамп повторно непосредственно перед переключением, закрыв на это время оформление заказов.
Перенос WordPress плагином
Плагины миграции упаковывают сайт в один архив, который затем разворачивают на новом хостинге. Среди популярных — Duplicator, All-in-One WP Migration, UpdraftPlus, а также инструменты переноса, которые предлагают сами хостинги.
Как это обычно выглядит
- На старом сайте устанавливают плагин и создают пакет или архив.
- На новом хостинге разворачивают чистый WordPress или загружают установщик плагина.
- Импортируют архив, указывают данные новой базы.
- Плагин сам заменяет адреса, если меняется домен.
Ограничения
- У бесплатных версий некоторых плагинов есть ограничения на размер архива или на функции переноса.
- Большие архивы могут не загрузиться из-за лимитов PHP на размер файла и время выполнения.
- Плагины не всегда корректно переносят нестандартные настройки сервера и файлы вне папки WordPress.
- Сам плагин — лишний код на сайте. После переноса его и созданные им архивы удаляют: архив с базой в открытой папке — утечка данных.
Перенос WordPress через SSH и WP-CLI
Если на обоих серверах есть SSH, перенос становится быстрым и полностью воспроизводимым. WP-CLI — официальный консольный инструмент для управления WordPress.
Основные команды
Экспорт базы на старом сервере:
wp db export backup.sql
Импорт на новом:
wp db import backup.sql
Файлы копируют архивом или утилитой rsync напрямую между серверами, без скачивания на свой компьютер. Для крупных сайтов с гигабайтами медиафайлов это экономит часы.
Проверка после импорта
wp option get siteurl
wp option get home
Эти команды покажут, какой адрес сейчас записан в базе. Если меняется домен, дальше идёт замена адресов.
Как перенести сайт WordPress на другой домен
Перенос WordPress на другой домен добавляет к переезду смену адреса. Здесь больше всего ошибок, потому что адрес в WordPress хранится не в одном месте.
Где хранится адрес сайта
- Параметры siteurl и home в таблице настроек.
- Ссылки на картинки и страницы внутри записей.
- Настройки темы, виджетов, конструкторов страниц — часто в сериализованном виде.
- Метаданные записей и настройки плагинов.
Как правильно заменить адреса
Простая замена SQL-запросом ломает сериализованные данные: в них записана длина строки, и при смене домена на адрес другой длины значение перестаёт читаться. Правильный инструмент — WP-CLI:
wp search-replace 'https://old.ru' 'https://new.ru' --all-tables --dry-run
Сначала запуск с —dry-run показывает, сколько замен будет сделано. Затем команду повторяют без этого флага. Без доступа к SSH используют плагин поиска и замены, который обрабатывает сериализованные данные.
Редиректы со старого домена
Сменить адрес в WordPress недостаточно. Старый домен должен постранично перенаправлять на новый с кодом 301. В .htaccess старого домена:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?old\.ru$ [NC]
RewriteRule ^(.*)$ https://new.ru/$1 [R=301,L]
После этого в Яндекс Вебмастере на старом домене указывают переезд через инструмент «Переезд сайта», а в Google Search Console — изменение адреса. Старый домен продлевают и держат редиректы не меньше года.
Нестандартные случаи переноса
Большинство сайтов переносятся по схеме выше. Но есть ситуации, где стандартная инструкция не срабатывает или требует дополнений.
Мультисайт WordPress
В сети сайтов адреса хранятся не только в общих настройках, но и в отдельных таблицах для каждого сайта сети, а в wp-config.php прописан основной домен сети. Замену адресов делают с учётом всех таблиц и каждого поддомена или подкаталога. Здесь ручной перенос без WP-CLI становится долгим и рискованным.
Сайт с доработками вне WordPress
Иногда рядом с WordPress лежат самописные скрипты, отдельные базы, задания cron на уровне сервера, обработчики обмена с внешними системами. Плагины миграции их не видят. Перед переносом стоит пройтись по корню сайта и по заданиям планировщика в панели хостинга, чтобы составить полный список того, что работает на сервере.
Переезд с виртуального хостинга на VPS
На VPS никто, кроме вас, не настроит веб-сервер, PHP, базу, почту, SSL и резервное копирование. Сайт перенести несложно, но серверная часть требует отдельной работы. Если своего администратора нет, лучше выбрать VPS с панелью управления или управляемый хостинг.
Как выбрать новый хостинг для WordPress
Перенос часто затевают из-за медленной работы или частых сбоев. Чтобы не переезжать снова через полгода, новый хостинг выбирают по конкретным критериям.
- Актуальные версии PHP и возможность их переключать. WordPress и плагины постепенно отказываются от старых версий.
- Ресурсы под вашу нагрузку. Для WooCommerce с большим каталогом важны память, число процессов PHP и скорость дисков.
- Автоматические резервные копии с возможностью восстановить отдельно файлы и базу.
- SSH и WP-CLI. Без консоли любые массовые операции становятся медленнее.
- Бесплатные сертификаты Let’s Encrypt с автопродлением.
- Поддержка, которая отвечает по существу, а не шаблонами.
Если сайт переезжает из-за медленной загрузки, помните: хостинг решает только часть проблемы. Тяжёлая тема, десятки плагинов и неоптимизированные изображения останутся медленными и на мощном сервере.
Что проверить после переноса WordPress
Сайт открылся — это ещё не конец. Большинство проблем проявляются не на главной.
Технические проверки
| Что проверить | Как | Типичная проблема |
|---|---|---|
| Постоянные ссылки | Открыть несколько внутренних страниц | 404 на всём, кроме главной |
| Загрузка медиафайлов | Загрузить картинку в медиатеку | Ошибка прав на папку uploads |
| Отправка писем | Отправить форму, оформить тестовый заказ | Письма не уходят или попадают в спам |
| Задания по расписанию | Проверить публикацию отложенной записи | WP-Cron не срабатывает |
| HTTPS | Проверить замок на нескольких страницах | Нет сертификата или смешанный контент |
| Кеш | Очистить кеш плагина и сервера | Отдаются страницы со старыми ссылками |
Если внутренние страницы отдают 404
Откройте в админке «Настройки → Постоянные ссылки» и нажмите «Сохранить изменения». WordPress перезапишет правила в .htaccess. На nginx .htaccess не работает — нужна директива try_files в конфигурации сервера:
location / {
try_files $uri $uri/ /index.php?$args;
}
WooCommerce
Для магазина дополнительно проверьте оформление заказа, оплату в тестовом режиме, адреса уведомлений платёжных систем и служб доставки, а также обмен с 1С, если он настроен. Как устроен такой обмен, разобрано в статье об обмене WordPress и WooCommerce с 1С.
SEO и аналитика
- Robots.txt не закрывает сайт от индексации: при переносе с тестовой копии галочку «Попросить поисковые системы не индексировать сайт» в разделе «Настройки → Чтение» иногда забывают снять.
- Карта сайта Rank Math открывается и содержит правильные адреса.
- Счётчик Яндекс Метрики работает, цели срабатывают.
- В Яндекс Вебмастере нет новых ошибок.
Сценарии из практики
Ситуации собирательные, но хорошо показывают, где спотыкается перенос.
Плагин не справился с архивом
Сайт с несколькими гигабайтами фотографий переносили плагином. Архив создавался больше часа, а на новом хостинге импорт обрывался из-за лимита загрузки. Решение — перенести папку uploads отдельно архивом через панель или rsync, а плагином перенести только базу и остальные файлы.
После переноса «Ошибка установки соединения с базой данных»
Файлы и база на месте, но WordPress не подключается. В wp-config.php указан localhost, а новый хостинг использует отдельный сервер базы данных с другим адресом. Исправление — одна строка в DB_HOST.
Сайт на новом домене уводит на старый
Базу импортировали, домен переключили, но при входе в админку браузер уходит на старый адрес. В базе остались прежние siteurl и home. Замена через WP-CLI с обработкой сериализованных данных решает проблему целиком, а не только для главной.
Типичные ошибки и чек-лист
Ошибки, которые обходятся дороже всего
- Удаление сайта со старого хостинга сразу после переноса. Если что-то забыли, вернуть уже неоткуда.
- Замена домена SQL-запросом. Ломает настройки темы и виджетов.
- Перенос без проверки через hosts. Проблемы видят посетители, а не вы.
- Забытый запрет индексации. Сайт выпадает из поиска через несколько дней.
- Архивы миграции остаются на сервере. В них полная копия базы с данными клиентов.
- Новый хостинг с другой версией PHP без проверки. Фатальные ошибки в плагинах после переключения.
Чек-лист переноса
- Сделана и сохранена отдельно полная резервная копия.
- Проверены версии PHP и MySQL на новом сервере.
- Файлы и база перенесены, wp-config.php обновлён.
- Сайт проверен на новом сервере через hosts.
- При смене домена адреса заменены с учётом сериализации.
- Настроены SSL и редирект на HTTPS.
- DNS переключены, старый хостинг оставлен на несколько дней.
- Постоянные ссылки, медиатека, письма, WP-Cron работают.
- Индексация открыта, карта сайта и Метрика в порядке.
- Архивы и плагины миграции удалены.
Общие принципы переезда для любой CMS разобраны в статье о переносе сайта на другой хостинг. Если перенос связан с заражением на старом хостинге, сначала прочитайте, как восстановить взломанный WordPress: иначе вредоносный код переедет вместе с сайтом.
Частые вопросы
Как перенести WordPress на другой хостинг без потери данных?
Сделать полную копию файлов и базы, развернуть их на новом сервере, поправить wp-config.php, проверить сайт через hosts и только потом переключить DNS. Старый сайт при этом остаётся нетронутым.
Какой плагин лучше для переноса WordPress?
Для небольших сайтов подойдёт любой из популярных — Duplicator, All-in-One WP Migration, UpdraftPlus. Для крупных сайтов плагины часто упираются в лимиты хостинга, и надёжнее ручной перенос или WP-CLI.
Как перенести сайт WordPress на хостинг с локального компьютера?
Так же, как между хостингами: файлы и база переносятся на сервер, затем адреса в базе заменяются с локального на рабочий домен через WP-CLI или плагин поиска и замены.
Как перенести сайт WordPress на другой домен?
Перенести файлы и базу, если меняется и сервер, заменить адреса в базе с учётом сериализованных данных, настроить 301-редиректы со старого домена и указать переезд в Яндекс Вебмастере и Search Console.
Как сделать перенос WordPress на другой домен на том же хостинге?
Привязать новый домен к папке сайта, выпустить для него SSL-сертификат, заменить адреса в базе и настроить редирект со старого домена. Файлы и базу переносить не нужно.
Почему после переноса все страницы, кроме главной, отдают 404?
Не работают правила постоянных ссылок. На Apache пересохраните постоянные ссылки в настройках, на nginx добавьте try_files в конфигурацию сервера.
Сколько времени занимает перенос WordPress?
Сама работа на небольшом сайте занимает пару часов, на крупном магазине с проверкой всех функций — один-два рабочих дня. Срок переноса под ключ, с получением доступов, проверкой и переключением домена, — от 3 рабочих дней. Переключение DNS может занимать до суток.
Будет ли сайт недоступен во время переноса?
При правильном порядке — нет. Старый сайт работает, пока новый проверяется через hosts, а после смены DNS посетители постепенно переходят на новый сервер.
Нужно ли что-то делать в Яндекс Вебмастере при смене хостинга?
Если домен не меняется, достаточно проверить, что сайт доступен и нет новых ошибок. При смене домена нужно указать переезд.
Нужно ли переносить почту вместе с сайтом?
Если почта работает на том же хостинге, что и сайт, её перенос — отдельная задача: создать ящики на новом месте, перенести письма и поменять MX-записи. Если почта у отдельного почтового сервиса, достаточно сохранить её DNS-записи.
Можно ли перенести WordPress без доступа к старому хостингу?
Только если есть полная резервная копия файлов и базы. Копия страниц из веб-архива или сохранённые HTML-файлы не восстанавливают сайт в рабочем виде.
Что делать со старым хостингом после переноса?
Оставить сайт на нём ещё несколько дней, пока DNS не обновятся у всех, сохранить финальную копию и только потом удалять.
Итог
Перенести WordPress можно плагином, вручную или через WP-CLI. Выбор зависит от размера сайта и доступов, но логика одна: файлы плюс база плюс корректный адрес сайта. При смене домена к этому добавляется аккуратная замена адресов в базе и постраничные 301-редиректы.
Самые надёжные страховки — полная копия до начала работ, проверка через hosts до переключения DNS и нетронутый старый хостинг ещё несколько дней после переезда.
Если нужно перенести сайт на WordPress или WooCommerce на другой хостинг или домен без простоя и потери позиций, я как частный разработчик на WordPress и 1С-Битрикс сделаю перенос, проверю все функции и настрою редиректы. Работаю напрямую, без посредников — подробности на странице переноса сайта.


