Диагностика проблемы перенаправления после смены домена
После смены домена сайта WordPress часто возникают проблемы с перенаправлениями: старые URL продолжают вести на несуществующие страницы, или происходит бесконечный редирект. Это напрямую влияет на SEO, пользовательский опыт и индексацию сайта поисковиками.
Основные симптомы:
- Ошибка «Too many redirects» (бесконечный редирект);
- Старые URL не перенаправляются на новые адреса;
- Ссылки в поисковой выдаче указывают на старый домен;
- В админке WordPress сохраняется старый URL в настройках сайта;
- Проблемы с загрузкой медиафайлов и стилей (URL ведут на старый домен).
Почему возникают проблемы с редиректами после смены домена
Основные причины:
- Неправильно обновлены настройки
siteurlиhomeв базе данных; - Отсутствие или некорректные правила в
.htaccessдля перенаправления со старого домена на новый; - Кэш браузера или плагинов кэширования сохраняет старые настройки;
- Внутренние ссылки, сохранённые в контенте и метаданных, указывают на старый домен;
- Плагины SEO и кеширующие плагины могут конфликтовать при смене URL.
Пошаговое решение проблемы перенаправления после смены домена
1. Обновление адресов сайта в базе данных
Для корректной работы WordPress необходимо обновить два параметра в таблице wp_options: siteurl и home.
UPDATE wp_options SET option_value = 'https://newdomain.ru' WHERE option_name IN ('siteurl', 'home');Если нет доступа к базе данных напрямую, добавьте временно в wp-config.php:
define('WP_HOME', 'https://newdomain.ru');
define('WP_SITEURL', 'https://newdomain.ru');2. Настройка 301 редиректа в .htaccess
Для перенаправления всего трафика со старого домена на новый добавьте в корневой .htaccess старого сайта следующие правила:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.ru$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.ru$
RewriteRule ^(.*)$ https://newdomain.ru/$1 [L,R=301,NE]Это обеспечит SEO-дружелюбный редирект без потери позиций.
3. Поиск и замена ссылок в базе данных
В контенте, метаданных и настройках плагинов могут остаться ссылки на старый домен. Для массового поиска и замены используйте WP-CLI или плагин Better Search Replace. Пример для WP-CLI:
wp search-replace 'old-domain.ru' 'newdomain.ru' --skip-columns=guidОбратите внимание, что столбец guid менять не рекомендуется, чтобы не нарушить RSS-потоки.
4. Очистка кэша
После внесения изменений очистите кэш браузера и кэш плагинов (если используются, например, WP Super Cache, W3 Total Cache, LiteSpeed Cache). Это исключит загрузку старых данных.
5. Обновление настроек в плагинах SEO
Проверьте настройки плагинов SEO (Yoast SEO, Rank Math и др.) — укажите новый домен, обновите карту сайта и проверьте, чтобы в метатегах и schema.org не оставались ссылки на старый домен.
Как проверить, что перенаправления работают правильно
- Используйте команду
curl -I https://old-domain.ru— в ответе должен быть статус301 Moved Permanentlyи заголовокLocation: https://newdomain.ru. - Проверьте несколько внутренних URL старого домена — они должны корректно редиректиться на соответствующие URL нового домена.
- Проверьте сайт в режиме инкогнито и после очистки кэша браузера.
- Используйте онлайн-сервисы проверки редиректов, например, https://httpstatus.io/.
Частые ошибки и как их исправить
- Ошибка «Too many redirects»: Обычно вызвана циклическим редиректом из-за неправильных правил в
.htaccessили конфликтомWP_HOMEиWP_SITEURL. Проверьте, что нет двойных редиректов и что адреса настроены одинаково. - Ссылки внутри постов не меняются: Проводите поиск и замену через WP-CLI или специализированные плагины — простое изменение
siteurlне влияет на контент. - Кэш сохраняет старые URL: Очищайте все уровни кэша, включая серверный и CDN (Cloudflare и др.).
- Проблемы с SSL после редиректа: Убедитесь, что сертификат установлен на новом домене, и что редиректы ведут на https, а не http.
Практические советы по безопасности и производительности при смене домена
- Обязательно создайте резервную копию базы данных перед массовыми изменениями.
- Для крупных сайтов используйте WP-CLI — это быстрее и безопаснее, чем SQL-запросы через phpMyAdmin.
- Обновите все ссылки в файлах темы и плагинов, если они содержат жестко прописанные домены.
- Проверьте robots.txt и sitemap.xml на новый домен.
- Используйте CDN с правильной конфигурацией для нового домена, чтобы избежать проблем с кэшированием и SSL.
- Если на сайте используется WooCommerce или другие сложные плагины, проверьте их настройки на предмет ссылок на старый домен.
Сравнение вариантов перенаправления после смены домена
| Метод | Описание | Преимущества | Недостатки |
|---|---|---|---|
| Редирект через .htaccess | Настройка Apache правил для 301 редиректа | Быстрый, SEO-дружественный, не требует плагинов | Требует доступа к серверу, ошибки могут вызвать циклы |
| Плагин для редиректов (например, Redirection) | Управление перенаправлениями через админку | Удобство, логирование ошибок, гибкость | Нагрузка на сайт, возможные конфликты с другими плагинами |
| Изменение URL в базе и контенте | Обновление ссылок в базе данных | Полное обновление ссылок, меньше проблем с внутренними ссылками | Риск ошибок при массовых заменах, требует резервных копий |