Перенос WordPress на новый домен без потери SEO
При смене домена WordPress поисковики видят новый адрес как нулевой сайт. Чтобы сохранить позиции, нужно не просто скопировать файлы — а правильно настроить 301 редиректы, заменить адреса в базе данных и подсказать Google и Яндексу, что сайт переехал. Вот пошаговая инструкция.
Почему при смене домена падают позиции
Поисковая система считает новый домен отдельным сайтом. Все внешние ссылки, ссылки из закладок и ссылки из соцсетей ведут на старый адрес. Если не настроить 301 редирект — посетители будут получать 404 ошибку, а поисковик снизит позиции из-за отсутствия сигналов.
Кроме того, URL внутри самого WordPress хранятся в базе данных в абсолютном виде: https://старый-домен/wp-content/uploads/.... Если просто скопировать БД, все ссылки продолжат вести на старый сайт.
Подготовка к переносу
Перед тем как трогать файлы, составьте полную карту сайта. Запишите все значимые страницы старого домена: главная, категории, статьи, страницы услуг, товары WooCommerce. Это пригодится для настройки 301 редиректов.
Проверьте, нет ли на старом домене проблем с индексацией: откройте Яндекс.Вебмастер и Google Search Console, убедитесь что нет критических ошибок. Если есть — исправьте их до переноса, иначе они перейдут на новый домен.
Сделайте скриншоты текущих позиций в поиске по ключевым запросам. Через месяц после переноса будет с чем сравнить.
Пошаговая инструкция переноса без потери SEO
Шаг 1. Полный бэкап
До любых действий — бэкап файлов и базы данных. Не пропускайте этот шаг, даже если сайт маленький:
# Бэкап файлов через SSH
tar -czf ~/backup-site-$(date +%Y%m%d).tar.gz /var/www/html/
# Экспорт БД WordPress
wp db export ~/backup-db-$(date +%Y%m%d).sql
# Или через phpMyAdmin — экспорт в SQL
Убедитесь, что архив открывается и файл БД не пустой. Храните бэкап отдельно от сервера — скачайте на локальный компьютер или в облако.
Шаг 2. Копирование файлов на новый домен
Загрузите все файлы WordPress на новый хостинг или в новую папку на том же сервере:
# Через rsync (быстрее scp для больших сайтов)
rsync -avz --progress /var/www/html/ user@new-server:/var/www/newdomain/
# Или через FTP — залейте все файлы в корень нового домена
Права на файлы выставите стандартные: папки 755, файлы 644. Если используете rsync, он сохраняет права автоматически.
Шаг 3. Создание базы данных на новом домене
На новом хостинге создайте новую БД и пользователя. Имена могут отличаться от старых — это нормально, главное чтобы в wp-config.php стояли правильные:
# Через WP-CLI
wp db create
# Или через панель хостинга:
# 1. Создать БД (например, newdomain_wp)
# 2. Создать пользователя с паролем
# 3. Привязать пользователя к БД со всеми правами
Шаг 4. Импорт базы данных
Импортируйте дамп БД со старого домена в новую БД. Убедитесь, что кодировка совпадает (UTF-8):
wp db import ~/backup-db-20260703.sql
# Или через MySQL:
mysql -u username -p newdomain_wp < ~/backup-db-20260703.sql
После импорта проверьте количество таблиц — должно совпадать с тем что было на старом домене.
Шаг 5. Замена URL в базе данных
Это ключевой момент. В таблицах wp_options хранятся siteurl и home, а в wp_posts, wp_postmeta и wp_guids — ссылки на старый домен. Если их не заменить, сайт будет открываться но все ссылки внутри контента, изображения и CSS пути останутся старыми.
# Замена URL через WP-CLI (рекомендуется)
wp search-replace 'https://старый-домен.ru' 'https://новый-домен.ru' --all-tables --precise
# Для мультисайта добавьте --network
wp search-replace 'https://старый-домен.ru' 'https://новый-домен.ru' --network --all-tables --precise
Шаг 6. Настройка wp-config.php
Отредактируйте wp-config.php на новом домене — пропишите новые параметры БД и, при необходимости, солевые ключи:
define('DB_NAME', 'newdomain_wp');
define('DB_USER', 'newdomain_user');
define('DB_PASSWORD', 'новый_пароль');
define('DB_HOST', 'localhost');
// Если сайт на HTTPS
define('FORCE_SSL_ADMIN', true);
// Новые соли (сгенерировать на https://api.wordpress.org/secret-key/1.1/salt/)
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
// ...
Соли менять не обязательно, но для безопасности лучше обновить — это сбросит все активные сессии и потребует повторного входа.
Шаг 7. 301 редиректы со старого домена
Это самый важный шаг для SEO. Каждая страница старого домена должна отдавать 301 редирект на соответствующую страницу нового домена. Поисковики передают через 301 до 90-99% веса ссылок.
Вариант A: если структура URL не меняется (те же slugs, только домен другой):
# .htaccess на старом домене
RewriteEngine On
RewriteCond %{HTTP_HOST} ^старый-домен\.ru [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.старый-домен\.ru [NC]
RewriteRule ^(.*)$ https://новый-домен.ru/$1 [R=301,L]
Вариант B: если структура URL меняется — настройте редиректы поштучно или через правила:
# Пример: старый раздел /blog/ перенесён в /articles/
Redirect 301 /blog/kak-uskorit-wordpress https://новый-домен.ru/articles/kak-uskorit-wordpress
Вариант C: через Nginx (если старый домен на Nginx):
server {
server_name старый-домен.ru www.старый-домен.ru;
return 301 https://новый-домен.ru$request_uri;
}
Шаг 8. Обновление кэша и постоянных ссылок
После переноса сбросьте все кэши, иначе сайт может показывать старые данные:
# Сбросить кэш WordPress
wp cache flush
# Если используете кэш-плагин — сбросьте и его
# WP Rocket, LiteSpeed Cache — у каждого своя команда
# Пересохранить структуру постоянных ссылок
wp rewrite flush
Зайдите в админку и откройте любую страницу — она должна открываться по новому URL без ошибок.
Шаг 9. Настройка Search Console и Вебмастера
Поисковикам нужно сообщить о смене адреса. Без этого они могут посчитать новый домен клоном и не передать вес:
- Яндекс.Вебмастер: добавьте новый домен, подтвердите права, в старом домене нажмите «Переезд сайта» → укажите новый адрес. Яндекс сам проверит 301 редиректы и начнёт передачу.
- Google Search Console: добавьте новое свойство, подтвердите права, в старом свойстве выберите «Смена адреса» в настройках.
После этого отправьте новый сайт на индексацию через панели вебмастеров — это ускорит процесс.
Шаг 10. Проверка всего сайта
Пройдитесь по ключевым страницам нового сайта и убедитесь что всё работает:
- Главная — открывается, стили на месте, нет mixed content
- Внутренние страницы — не битые ссылки, правильные URL
- Изображения — загружаются с нового домена, alt тексты на месте
- Формы — отправляют письма на правильный email
- Админка — доступна, все плагины работают, нет ошибок совместимости
Типичные ошибки при переносе домена
- Забыли про GUID: в таблице wp_posts колонка guid содержит абсолютные URL. Некоторые поисковики используют guid как идентификатор записи. Замените и его.
- Сломали сериализованные данные: замена через SQL в лоб портит данные плагинов (метабоксы ACF, настройки шаблонов Elementor, виджеты сайдбара). Только WP-CLI или специализированные плагины.
- Не обновили пути в .htaccess: если на старом домене были свои правила редиректов — перенесите их с поправкой на новый домен.
- Забыли про кэш DNS: после настройки редиректов может пройти до 24 часов пока DNS-записи обновятся у провайдеров.
- Удалили старый домен до проверки: минимум месяц держите оба домена работающими. Редиректы на старом — единственное что сохраняет вес ссылок.
Проверка результата
Через 1-2 недели после переноса проведите контрольные замеры:
- Проверьте индексацию:
site:новый-домен.ruв Google и Яндексе — сравнимо ли количество страниц с тем что было на старом домене - Проверьте 301 редиректы: сервисы вроде
httpstatus.io— старый URL отдаёт 301 на новый - Сравните трафик: в Search Console и Яндекс.Метрике — трафик перешёл на новый домен без резкого падения
- Позиции: через 1-2 месяца позиции должны восстановиться до прежних или быть немного ниже (это нормально при смене домена)
- Проверьте краулинговый бюджет: в Search Console смотрите сколько страниц просканировано на новом домене. Должно быть не меньше чем на старом.
Когда способ не сработает
- Смена TLD: .ru → .com или .рф — поисковики хуже передают вес между разными зонами, процесс займёт дольше, возможна потеря 20-30% трафика
- Штрафы на старом домене: если старый домен под фильтром Google или Яндекса — 301 редирект передаст штраф на новый домен. Сначала снимите санкции
- Кардинальное изменение структуры: если вы не только сменили домен, но и полностью переделали архитектуру URL — многие редиректы придётся писать вручную, легко ошибиться
- Короткий период редиректов: если убрать 301 раньше чем через 3 месяца — поисковик не успеет передать вес, часть страниц выпадет из индекса
- Дубли контента: если оставить оба домена доступными без редиректа — поисковик увидит дубли и может склеить их не в ту сторону или вовсе исключить из выдачи
Частые вопросы
Сколько времени занимает перенос домена без потери позиций?
Технически — 2-4 часа. Полное восстановление трафика — от 1 до 3 месяцев. Первые 2-3 недели возможен спад до 30-50% трафика, это нормально. У Google процесс передачи идёт быстрее чем у Яндекса.
Нужно ли менять DNS при смене домена?
DNS менять не нужно — 301 редиректы работают на уровне сервера, а не DNS. Настройте редиректы на старом хостинге и держите его включённым. DNS может понадобиться только если вы переносите сайт на другой хостинг — тогда меняйте A-записи нового домена.
Что делать, если старый домен уже не продлён?
Продлите его ещё на год — хотя бы минимальный тариф. Если домен ушёл в парк или куплен другим человеком — восстановить позиции без редиректов практически невозможно. В этом случае остаётся только продвигать новый сайт с нуля, надеясь на свежесть домена.
Можно ли перенести только часть сайта на новый домен?
Можно, но сложнее. Отфильтруйте нужные записи в дампе БД по ID или категориям, скопируйте только соответствующие файлы и напишите редиректы для каждой такой страницы. Остальные страницы оставьте на старом домене — пусть работают как есть. Главное чтобы не было дублирования контента.
WP-CLI search-replace безопасен для мультисайта?
Да, с флагом --network. WP-CLI корректно обрабатывает сериализованные данные для всех сайтов в сети. После замены обязательно пересохраните постоянные ссылки на каждом дочернем сайте через Настройки → Постоянные ссылки.
Можно ли автоматизировать перенос плагином-мигратором?
Да, есть плагины которые делают большую часть работы за вас: Duplicator, All-in-One WP Migration, UpdraftPlus Migrator. Они копируют файлы, экспортируют БД и заменяют URL автоматически. Но 301 редиректы и настройку вебмастеров всё равно придётся делать вручную.