Миграция WordPress без потери данных: пошаговое руководство (2026)
Введение: зачем нужна безошибочная миграция
Перенос WordPress‑сайта на новый хостинг часто сопровождается риском потери контента, настроек или SEO‑позиции. Правильный подход позволяет выполнить миграцию WordPress за 5‑7 шагов, минимизировать простой и сохранить полную целостность данных.
1. Подготовка и создание надёжных бэкапов
1.1. Резервное копирование файлов
Самый простой способ – скачать весь корневой каталог сайта через FTP/SFTP или воспользоваться rsync:
rsync -avz /path/to/old/site/ user@newhost:/path/to/new/site/ Не забудьте включить скрытые файлы (.htaccess, .user.ini) – они содержат важные правила.
1.2. Экспорт базы данных
В phpMyAdmin нажмите «Экспорт», выберите формат SQL и сохраните файл. Для больших баз удобнее использовать mysqldump:
mysqldump -u USER -pPASSWORD old_db_name > old_db_name.sql После создания бэкапа проверьте размер и целостность файла (команда gzip -t).
2. Перенос файлов на новый сервер
2.1. Загрузка через SFTP
Подключитесь к новому хостингу и загрузите архив с файлами. Распакуйте его в директорию, указанную в настройках домена.
2.2. Настройка wp-config.php
Отредактируйте файл, указав новые параметры подключения к базе:
define('DB_NAME', 'new_db_name');
define('DB_USER', 'new_user');
define('DB_PASSWORD', 'new_password');
define('DB_HOST', 'localhost'); Если ваш новый хостинг использует префикс таблиц, измените $table_prefix соответственно.
3. Импорт базы данных в новую среду
3.1. Создание пустой БД
В панели управления хостингом создайте базу с тем же именем, что указали в wp-config.php. Дайте пользователю все привилегии.
3.2. Импорт через phpMyAdmin или CLI
Для больших дампов предпочтительнее mysql:
mysql -u new_user -p new_db_name < old_db_name.sql После импорта проверьте наличие таблиц и отсутствие ошибок.
4. Поиск и замена старого URL
После переноса в базе останутся ссылки вида http://old-domain.com. Их необходимо заменить на новый домен, иначе будут сломанные картинки и редиректы.
4.1. WP‑CLI (рекомендованный способ)
Установите WP‑CLI на новом сервере и выполните:
wp search-replace 'http://old-domain.com' 'https://new-domain.com' --skip-columns=guid --all-tables Опция --dry-run покажет, какие строки изменятся, без фактической правки.
4.2. Альтернатива: скрипт PHP
Если WP‑CLI недоступен, используйте простой скрипт:
tables();
foreach ( $tables as $table ) {
$wpdb->query( $wpdb->prepare(
"UPDATE $table SET guid = REPLACE(guid, %s, %s) WHERE guid LIKE %s",
$old, $new, "%$old%"
) );
$columns = $wpdb->get_col( "SHOW COLUMNS FROM $table LIKE '%url%'" );
foreach ( $columns as $col ) {
$wpdb->query( $wpdb->prepare(
"UPDATE $table SET $col = REPLACE($col, %s, %s) WHERE $col LIKE %s",
$old, $new, "%$old%"
) );
}
}
?>
Запустите скрипт один раз и удалите его с сервера.
5. Финальная проверка и переключение DNS
5.1. Тестовый домен
Сначала привяжите временный поддомен (например, test.new-domain.com) к новому серверу. Проверьте:
- Отображение страниц без ошибок 404;
- Работу форм, комментариев и плагинов;
- Скорость загрузки (можно сравнить с настройкой Nginx).
5.2. Обновление DNS
После подтверждения корректности переключите A‑запись домена на IP нового сервера. TTL лучше установить в 300 секунд за сутки до миграции, чтобы ускорить распространение.
5.3. Пост‑миграционная оптимизация
Запустите оптимизацию базы, настройте security headers и подключите CloudFlare CDN для ускорения и защиты.
Готово! Ваш WordPress‑сайт успешно переехал на новый хостинг без потери данных и с минимальным простоем.
❓ Часто задаваемые вопросы
Как проверить целостность дампа базы данных после экспорта?
Откройте .sql файл в текстовом редакторе и убедитесь, что он заканчивается строкой «COMMIT;». Также можно выполнить mysqlcheck -u USER -p DB_NAME после импорта.
Можно ли выполнить миграцию без доступа к phpMyAdmin?
Да, используйте mysqldump для экспорта и mysql для импорта через SSH. Для поиска‑замены URL удобно применять WP‑CLI.
Что делать, если после переключения DNS появляются 502 ошибки?
Проверьте, что PHP‑пул и FastCGI настроены корректно, а файлы .htaccess (или правила Nginx) соответствуют новому пути. Часто помогает перезапуск сервера.
Нужен ли отдельный SSL‑сертификат после миграции?
Да, установите сертификат для нового домена (Let’s Encrypt – бесплатный вариант). После установки проверьте, что все ресурсы загружаются по HTTPS.