Диагностика проблем с переадресацией после смены домена
После смены домена WordPress-сайт часто сталкивается с проблемами: старые URL ведут на несуществующие страницы, возникает циклическая переадресация, сайт не открывается, или поисковые системы продолжают индексировать старый домен. Чтобы понять, есть ли у вас эти проблемы, выполните следующие шаги:
- Проверьте доступность сайта по новому домену.
- Используйте
curl -I https://old-domain.comв терминале, чтобы увидеть заголовки ответа и наличие 301 или 302 редиректов. - Проверьте в Google Search Console, не осталось ли старых URL с ошибками.
- Оцените наличие циклических редиректов через онлайн-сервисы, например, httpstatus.io.
Пошаговое решение для правильной переадресации после смены домена
1. Обновление настроек WordPress
Первое, что нужно сделать — обновить адреса сайта в админке:
Настройки > Общие > Адрес WordPress (URL) и Адрес сайта (URL)Или через wp-config.php добавить строки:
define('WP_HOME', 'https://new-domain.com');
define('WP_SITEURL', 'https://new-domain.com');2. Замена ссылок в базе данных
WordPress хранит абсолютные URL в базе, их нужно заменить. Используйте WP-CLI или плагин Search & Replace:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --skip-columns=guidВажно опция --skip-columns=guid, чтобы не ломать ссылки RSS и feed.
3. Настройка 301 редиректов на сервере
Чтобы поисковики и посетители автоматически переходили на новый домен, настройте 301 редиректы в конфигурации сервера.
Для Apache (.htaccess):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [L,R=301]Для Nginx:
server {
listen 80;
server_name old-domain.com;
return 301 https://new-domain.com$request_uri;
}4. Очистка кеша и перегенерация ссылок
Если вы используете кеширующие плагины или CDN, очистите кеш. Также зайдите в админке WordPress > Настройки > Постоянные ссылки и просто нажмите «Сохранить», чтобы перегенерировать правила.
Проверка результата после внедрения
- Проверьте через
curl -I https://old-domain.com, что приходит 301 редирект на новый домен. - Проверьте в браузере, что все внутренние ссылки ведут на новый домен.
- Используйте онлайн-сервисы для проверки цепочек редиректов.
- В Google Search Console добавьте новый домен и запросите переиндексацию.
Частые ошибки и как их исправить
- Циклические редиректы — обычно из-за неправильных правил в .htaccess или в плагинах кеша. Исправляется удалением конфликтующих правил и очисткой кеша.
- Старые URL остались в базе данных — часто забывают заменить ссылки в контенте и метаданных. Используйте WP-CLI или специализированные плагины для поиска и замены.
- Редиректы настроены как 302 — для SEO нужен 301. Проверьте конфигурацию сервера и исправьте на 301.
- Проблемы с mixed content — если сайт не полностью перешел на HTTPS, проверьте ссылки на медиа и скрипты.
Практические советы по безопасности и производительности
- После смены домена обновите SSL-сертификаты и проверьте корректность HTTPS.
- Используйте HTTP/2 или HTTP/3 на новом домене для ускорения загрузки.
- Настройте HSTS, чтобы браузеры всегда использовали HTTPS.
- Удалите все временные правила редиректа после успешного перехода, чтобы не создавать лишнюю нагрузку.
Сравнение подходов к смене домена и переадресации
| Метод | Плюсы | Минусы | Пример |
|---|---|---|---|
| Редирект на уровне сервера | Быстрый, SEO-дружественный, универсальный | Требует доступа к серверу и знаний конфигурации | Apache: .htaccess, Nginx: конфиг |
| Плагин для редиректов | Удобно для новичков, без доступа к серверу | Может замедлить сайт, риск конфликтов с другими плагинами | Redirection, Simple 301 Redirects |
| Изменение базы данных | Обязательный шаг для корректных ссылок | Риск сломать ссылки, если сделать неаккуратно | WP-CLI search-replace |