Цепочки редиректов больше 3 шагов
URL A → B → C → D — поисковик может не дойти до конца. Сжимаем цепочки.
Симптом
- При переходе по ссылке открывается страница, но URL в адресной строке меняется несколько раз (A → B → C → D).
- В консоли браузера видны сообщения
301 Moved Permanentlyили302 Foundболее чем три раза подряд. - В инструментах поисковой консоли Google Search Console появляется предупреждение «Слишком длинные цепочки редиректов».
- В отчёте о crawl errors Google видны ошибки типа
Too many redirects(слишком много редиректов). - На сайте появляются «плохие» ссылки в sitemap, которые ведут к цепочке редиректов.
Причина
- Неправильная конфигурация сервера: несколько правил в
.htaccess,nginx.confили в настройках CMS, которые пересекаются и создают цепочку. - Дублирование URL: одна и та же страница доступна по разным адресам (с www/без www, http/https, trailing slash/без). Каждый вариант перенаправляется на другой, пока не достигнет конечного адреса.
- Проблемы с HTTPS: сначала перенаправление с http на https, затем на canonical‑URL, затем на страницу без www, и т.д.
- Плагин/модуль: в CMS (WordPress, Joomla, Drupal) установлены плагины, которые добавляют свои правила редиректа, не учитывая уже существующие.
Как проверить
-
Проверка цепочки в браузере
- Открой DevTools → Network → включиPreserve log.
- Перейди по проблемной ссылке и посмотри, сколько раз меняется URL и какой статус код (301/302). -
Проверка через команду curl
bash curl -I -L http://example.com/old-page
-Lзаставит curl следовать редиректам. В выводе будет видно последовательность URL и кодов. -
Проверка конфигурации сервера
- Apache: просматривай.htaccessиhttpd.conf.
- Nginx: проверьnginx.confи файлы вsites-available.
- В обоих случаях ищи правилаRewriteRule,Redirect,return 301,rewrite. -
Проверка CMS
- В админке проверь разделы «Переадресации», «Постоянные ссылки» (permalinks).
- Отключи временно плагины редиректа и проверь, исчезла ли цепочка. -
Проверка в Google Search Console
- В разделе «Покрытие» найдите ошибки «Слишком длинные цепочки редиректов» и посмотрите, какие URL задействованы.
Решение
- Упорядочить правила редиректа
- Сконцентрируй все перенаправления в одном месте (например, в.htaccessдля Apache).
- Убедись, что каждое правило имеет конечный результат и не вызывает дальнейших редиректов.
Apache пример (.htaccess):
```apache
RewriteEngine On
# http → https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www → без www RewriteCond %{HTTP_HOST} ^www.example.com$ [NC] RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
# canonical URL без trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /$ RewriteRule ^(.+?)/$ https://example.com/$1 [L,R=301] ```
Nginx пример (nginx.conf):
```nginx
server {
listen 80;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
server { listen 443 ssl; server_name example.com;
# без trailing slash
if ($request_uri ~* /$) {
return 301 https://example.com$uri;
}
# остальные правила
} ```
-
Устранить дублирующие URL
- Настрой canonical‑теги в HTML:
html <link rel="canonical" href="https://example.com/page" />- В sitemap.xml указывай только canonical‑версии. -
Проверить плагины/модули
- Отключи все плагины редиректа, проверь работу сайта.
- Если всё ок, включай плагины по одному, пока не найдёшь конфликт.
- Перенеси правила из плагина в основной конфиг, чтобы избежать дублирования. -
Тестирование
- После внесения изменений снова запустиcurl -I -L http://example.com/old-pageи убедись, что цепочка не превышает 3 редиректа.
- Проверь в Google Search Console, исчезла ли ошибка. -
Мониторинг
- Добавь вrobots.txtдирективу, чтобы поисковики не обходили страницы, которые могут быть временно недоступны:
txt User-agent: * Disallow: /temp-redirect/
- Регулярно проверяй отчёты о покрытии и отчёты о crawl errors.
Связанные
Не хотите разбираться сами?
Запустите технический аудит сайта за 5 минут — получите PDF-отчёт с разбором всех 64 параметров и конкретными точками роста. Или закажите комплексное SEO-продвижение сайта — починим всё это и возьмём на себя дальнейшую оптимизацию.