Главная / База знаний / Технические проблемы / Цепочки редиректов больше 3 шагов
База знаний

Цепочки редиректов больше 3 шагов

URL A → B → C → D — поисковик может не дойти до конца. Сжимаем цепочки.

Технические проблемы · 3 мин чтения

Симптом

Причина

Как проверить

  1. Проверка цепочки в браузере
    - Открой DevTools → Network → включи Preserve log.
    - Перейди по проблемной ссылке и посмотри, сколько раз меняется URL и какой статус код (301/302).

  2. Проверка через команду curl
    bash curl -I -L http://example.com/old-page
    -L заставит curl следовать редиректам. В выводе будет видно последовательность URL и кодов.

  3. Проверка конфигурации сервера
    - Apache: просматривай .htaccess и httpd.conf.
    - Nginx: проверь nginx.conf и файлы в sites-available.
    - В обоих случаях ищи правила RewriteRule, Redirect, return 301, rewrite.

  4. Проверка CMS
    - В админке проверь разделы «Переадресации», «Постоянные ссылки» (permalinks).
    - Отключи временно плагины редиректа и проверь, исчезла ли цепочка.

  5. Проверка в Google Search Console
    - В разделе «Покрытие» найдите ошибки «Слишком длинные цепочки редиректов» и посмотрите, какие URL задействованы.

Решение

  1. Упорядочить правила редиректа
    - Сконцентрируй все перенаправления в одном месте (например, в .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;
   }

   # остальные правила

} ```

  1. Устранить дублирующие URL
    - Настрой canonical‑теги в HTML:
    html <link rel="canonical" href="https://example.com/page" /> - В sitemap.xml указывай только canonical‑версии.

  2. Проверить плагины/модули
    - Отключи все плагины редиректа, проверь работу сайта.
    - Если всё ок, включай плагины по одному, пока не найдёшь конфликт.
    - Перенеси правила из плагина в основной конфиг, чтобы избежать дублирования.

  3. Тестирование
    - После внесения изменений снова запусти curl -I -L http://example.com/old-page и убедись, что цепочка не превышает 3 редиректа.
    - Проверь в Google Search Console, исчезла ли ошибка.

  4. Мониторинг
    - Добавь в robots.txt директиву, чтобы поисковики не обходили страницы, которые могут быть временно недоступны:
    txt User-agent: * Disallow: /temp-redirect/
    - Регулярно проверяй отчёты о покрытии и отчёты о crawl errors.

Связанные

SEO КП · нужна помощь?

Не хотите разбираться сами?

Запустите технический аудит сайта за 5 минут — получите PDF-отчёт с разбором всех 64 параметров и конкретными точками роста. Или закажите комплексное SEO-продвижение сайта — починим всё это и возьмём на себя дальнейшую оптимизацию.

Запустить аудит за 199 ₽ Узнать про продвижение →