Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Транслит для загранпаспорта ГОСТ 7.79 ISO 9 Блог Вопросы и ответы Создать URL
Разбор

Цепочки редиректов: чем опасны и как их разорвать

Один редирект — норма. Два подряд — уже проблема. Три и больше — почти гарантированная потеря части накопленного веса и заметная задержка загрузки.

Что такое цепочка

Ситуация, когда запрошенный адрес перенаправляет на другой, а тот — на третий.

http://www.site.ru/Catalog
  → 301 → https://www.site.ru/Catalog
  → 301 → https://site.ru/Catalog
  → 301 → https://site.ru/catalog
  → 301 → https://site.ru/catalog/
  → 200

Четыре перенаправления вместо одного. Каждое — отдельный запрос к серверу, а на мобильной сети это заметная задержка. Для робота это ещё и четыре обращения вместо одного при том же результате.

Чем плохи

  • Скорость. Каждый шаг добавляет время до отрисовки страницы.
  • Бюджет обхода. Робот тратит обращения на промежуточные адреса.
  • Размывание сигналов. При каждой передаче часть веса теряется.
  • Ограничение браузеров. После двадцати перенаправлений браузер прекращает попытки с ошибкой.
  • Сложность диагностики. В длинной цепочке трудно понять, какое правило что делает.

Откуда берутся

Цепочка почти всегда — результат того, что правила добавлялись в разное время и никто не проверял их совместную работу.

ИсточникКак проявляется
Неверный порядок правилСначала слэш, потом протокол — два шага вместо одного
Несколько переездов подрядА ведёт на Б, Б на В, никто не обновил первое правило
Правила в разных местахЧасть в .htaccess, часть в CMS, часть на уровне приложения
Внутренние ссылки на старые адресаКаждый переход по меню проходит через редирект
Карта сайта со старыми адресамиРобот идёт по ним и попадает в цепочку

Петли

Крайний случай — адрес перенаправляет сам на себя, напрямую или через промежуточные шаги. Браузер показывает ошибку «слишком много перенаправлений», страница недоступна.

Типичная причина: два правила противоречат друг другу. Одно добавляет слэш, другое убирает; одно ведёт на версию с www, другое обратно. Проверять такие вещи нужно сразу после добавления каждого правила.

Правило одного шага. Любой старый адрес должен вести на конечный актуальный за одно перенаправление. Если появился новый переезд — обновите и старые правила, чтобы они сразу указывали на финальный адрес.

Правильный порядок правил

Большинство цепочек снимается одной только очерёдностью директив.

  1. Протокол: перевод на https.
  2. Домен: склейка www.
  3. Индексный файл: удаление index.php.
  4. Регистр: приведение к нижнему.
  5. Слэш: единый формат.
  6. Точечные редиректы конкретных страниц.

При такой последовательности адрес приводится к каноническому виду за один проход. Подробности по каждому правилу — в статье про .htaccess для SEO.

Как найти цепочки

  1. Краулер. В отчёте по редиректам видна вся цепочка целиком с промежуточными адресами.
  2. Инструменты разработчика. Вкладка «Сеть» показывает все запросы, включая промежуточные.
  3. Онлайн-сервисы проверки заголовков — многие показывают полный путь перенаправлений.
  4. Ручная проверка ключевых адресов: главная в четырёх вариантах, несколько внутренних страниц.

Как разорвать

Работа делится на две части.

Первая — сервер. Перепишите правила так, чтобы каждое старое соответствие вело сразу на конечный адрес. Если у вас таблица соответствия из прошлого переезда, обновите в ней колонку новых адресов.

Вторая — сам сайт. Найдите и исправьте внутренние ссылки, ведущие на старые адреса: меню, баннеры, ссылки в текстах, карта сайта, канонические адреса, микроразметка. Это не менее важно: даже при идеальных правилах каждый переход по сайту будет проходить через редирект.

Когда один редирект неизбежен

Полностью избавиться от перенаправлений нельзя, да и не нужно. Один шаг — нормальная ситуация для внешних ссылок, старых закладок и адресов из офлайн-рекламы.

Цель не в нулевом числе редиректов, а в том, чтобы ни один путь не проходил больше одного шага и чтобы сам сайт на свои старые адреса не ссылался.

Скрытая цепочка во внутренних ссылках

Сервер может быть настроен идеально, но если меню ссылается на старый адрес, каждый переход по сайту всё равно проходит через перенаправление. Формально цепочки нет — фактически посетитель ждёт лишний запрос на каждом клике.

Проверяется это краулером: в отчёте видно, какие внутренние ссылки ведут на адреса с кодом 3xx. Исправлять нужно сами ссылки в шаблонах и текстах, а не добавлять новые правила на сервере.

Редиректы в рекламе и рассылках

Адреса в объявлениях, письмах и на визитках живут дольше, чем структура сайта. После переезда они начинают вести через редирект, а иногда и через цепочку.

  • После смены структуры обновите ссылки в рекламных кампаниях.
  • Проверьте адреса в шаблонах писем и автоответах.
  • Обновите ссылки в карточках организации и справочниках.
  • Ссылки с офлайн-носителей исправить нельзя — для них редирект придётся держать постоянно.

Последний пункт объясняет, почему старые правила перенаправления не удаляют: они продолжают работать для источников, которые вы не контролируете.

Частые вопросы

Сколько редиректов подряд допустимо?

Один. Любой старый адрес должен вести на конечный за один шаг. Два и более замедляют загрузку и размывают передаваемые сигналы.

Почему браузер пишет «слишком много перенаправлений»?

Возникла петля: адрес перенаправляет сам на себя напрямую или через цепочку. Обычно это два противоречащих друг другу правила в конфигурации.

Как быстро найти цепочки на сайте?

Прогнать сайт краулером и открыть отчёт по редиректам — там видна вся цепочка с промежуточными адресами и указанием исходной ссылки.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также