Миграция сайта WordPress на новый домен — задача, которая часто вызывает сложности у владельцев и разработчиков. Неправильный перенос может привести к потере трафика, ошибок в работе сайта и ухудшению позиций в поисковой выдаче. В этой статье мы подробно разберём, как грамотно и безопасно перенести сайт на новый домен, учитывая все технические нюансы и лучшие практики.
Почему миграция WordPress на новый домен требует аккуратности
WordPress хранит множество данных с жёсткой привязкой к домену: URL-адреса страниц, ссылки в контенте, настройки плагинов и темы, а также SEO-параметры. Если просто скопировать файлы и базу данных без корректной замены старых URL, сайт может работать некорректно, а поисковые системы не смогут правильно индексировать новые страницы.
Основные проблемы при миграции:
- Ошибки 404 из-за некорректных ссылок;
- Потеря позиций в поисковой выдаче;
- Нарушение работы плагинов и тем;
- Проблемы с кэшированием и SEO.
Чтобы избежать этих проблем, нужно выполнить ряд обязательных шагов.
Подготовка к миграции: резервное копирование и проверка сайта
Перед переносом важно сделать полную резервную копию сайта: файлов и базы данных. Для этих целей хорошо подойдут плагины:
- UpdraftPlus — простой и надёжный инструмент для бэкапов;
- All-in-One WP Migration — позволяет экспортировать сайт вместе с базой и файлами.
Убедитесь, что сайт работает без ошибок, а все обновления установлены, чтобы минимизировать возможные проблемы после переноса.
Шаг 1. Перенос файлов и базы данных на новый хостинг и домен
После резервного копирования нужно скопировать файлы сайта на новый сервер. Обычно это делается через FTP или панель хостинга. Затем импортируйте базу данных через phpMyAdmin или консоль MySQL.
Обязательно проверьте, что версии PHP и MySQL на новом хостинге соответствуют требованиям WordPress и плагинов.
Шаг 2. Замена ссылок в базе данных
Самая важная часть — замена всех старых URL (например, https://staryj-domen.ru) на новый (https://novyj-domen.ru) в базе данных. Это нужно делать корректно, чтобы не повредить сериализованные данные, которые часто используют плагины и темы.
Для этого есть несколько вариантов:
Использование плагина Better Search Replace
Плагин Better Search Replace позволяет безопасно искать и заменять строки в базе, учитывая сериализацию.
Пример использования:
1. Установите и активируйте плагин.
2. В меню выберите "Better Search Replace".
3. В поле "Search for" введите старый домен, например: https://staryj-domen.ru
4. В поле "Replace with" введите новый домен: https://novyj-domen.ru
5. Выберите все таблицы базы данных.
6. Сначала запустите "Dry Run" (тестовый прогон).
7. Если ошибок нет, выполните реальную замену.
Использование WP-CLI для замены ссылок
Если у вас есть доступ к консоли, можно использовать WP-CLI — мощный инструмент для управления WordPress через командную строку.
wp search-replace 'https://staryj-domen.ru' 'https://novyj-domen.ru' --all-tables
WP-CLI автоматически обработает сериализованные данные и заменит ссылки во всех таблицах.
Шаг 3. Настройка файла wp-config.php и .htaccess
В файле wp-config.php проверьте параметры подключения к базе данных и при необходимости обновите константы:
define('WP_HOME', 'https://novyj-domen.ru');
define('WP_SITEURL', 'https://novyj-domen.ru');
Это позволит жестко задать URL сайта.
Также обновите правила в .htaccess, если там прописаны абсолютные ссылки или редиректы на старый домен.
Шаг 4. Настройка редиректов и SEO-параметров
Для сохранения SEO и перенаправления пользователей с старого домена на новый нужно настроить 301 редиректы. Это можно сделать через файл .htaccess на старом домене:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^staryj-domen\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.staryj-domen\.ru$
RewriteRule ^(.*)$ https://novyj-domen.ru/$1 [R=301,L]
Также проверьте настройки SEO-плагинов, например, Clearfy Pro — в них может потребоваться обновить URL сайта.
Шаг 5. Проверка и тестирование после миграции
После всех изменений тщательно проверьте работу сайта:
- Откройте разные страницы и проверьте, что нет ошибок 404;
- Проверьте отображение медиафайлов и работу плагинов;
- Проверьте консоль браузера на наличие ошибок JavaScript и загрузки ресурсов;
- Используйте инструменты Google Search Console для добавления нового домена и проверки индексации;
- Проверьте редиректы с помощью онлайн-сервисов, например https://httpstatus.io/.
Советы для автоматизации миграции с помощью кода
Если нужно выполнять миграцию регулярно или создавать собственный скрипт, можно использовать PHP-функции для замены URL в базе данных. Ниже пример функции wpweb_replace_domain_in_db():
function wpweb_replace_domain_in_db($old_domain, $new_domain) {
global $wpdb;
$tables = $wpdb->get_results('SHOW TABLES', ARRAY_N);
foreach ($tables as $table) {
$table_name = $table[0];
$columns = $wpdb->get_results("SHOW COLUMNS FROM {$table_name}", ARRAY_A);
foreach ($columns as $column) {
if (strpos($column['Type'], 'char') !== false || strpos($column['Type'], 'text') !== false) {
$wpdb->query($wpdb->prepare(
"UPDATE {$table_name} SET {$column['Field']} = REPLACE({$column['Field']}, %s, %s) WHERE {$column['Field']} LIKE %s",
$old_domain, $new_domain, '%' . $wpdb->esc_like($old_domain) . '%'
));
}
}
}
}
Эта функция перебирает все таблицы и колонки с текстовыми типами и обновляет строки, содержащие старый домен. Но будьте осторожны: она не учитывает сериализацию, поэтому лучше использовать готовые решения, описанные выше.
Полезные плагины для миграции и оптимизации после переноса
- All-in-One WP Migration — полный инструмент для экспорта и импорта сайта;
- Better Search Replace — безопасная замена URL в базе;
- Clearfy Pro — оптимизация и очистка базы после миграции;
- WPRemark — модерация комментариев, помогает убрать спам после переноса.
Выводы
Миграция WordPress на новый домен требует тщательной подготовки и аккуратного выполнения всех шагов. Используйте проверенные инструменты, делайте резервные копии и обязательно тестируйте сайт после переноса. Следуя этому руководству, вы сможете избежать типичных ошибок и сохранить стабильную работу сайта и позиции в поиске.