Цепочка — это когда браузер, прежде чем показать страницу, проходит через несколько перенаправлений подряд:
http://www.example.ru/tovar
→ https://www.example.ru/tovar (переход на HTTPS)
→ https://example.ru/tovar (склейка www)
→ https://example.ru/tovar/ (добавление слэша)
Три лишних обращения к серверу вместо нуля. Каждое — это установка соединения, ожидание ответа, новый запрос: на мобильном интернете легко набегает секунда и больше.
Чем это вредно
Скорость. Пользователь ждёт, пока браузер отработает всю цепочку, — до начала загрузки самой страницы.
Краулинговый бюджет. Робот тратит на каждое звено отдельный запрос. На большом сайте, где так устроены все адреса, это заметная доля бюджета обхода.
Потери при длинных цепочках. Поисковики обещают проходить до пяти переходов, но на практике длинные цепочки обходятся хуже, а часть авторитета по дороге теряется.
Хрупкость. Чем больше звеньев, тем выше шанс, что одно из них сломается при переезде или обновлении конфигурации, и цепочка кончится ошибкой.
Как посмотреть свою цепочку
curl -I -L http://www.example.ru/tovar
Каждый блок в выводе — одно звено. Идеально, когда блок один и в нём сразу 200.
В браузере: F12 → вкладка Network → галочка Preserve log → откройте адрес. Все промежуточные ответы с кодами 301/302 будут в списке.
В нашем отчёте это пункт «Длина цепочки редиректов»: одно перенаправление — норма, два — замечание, больше — проблема.
Как распутать
Соберите все правила перенаправления в одно место и напишите одно правило, ведущее сразу на финальный адрес. Типичный порядок разбора:
- Определите канонический вид адреса: протокол (
https), домен (с wwwилибез), слэш в конце (есть или нет). Решение принимается один раз и соблюдается везде. - Убедитесь, что правило веб-сервера приводит любой вариант к этому виду за один шаг. В nginx для этого достаточно одного
server-блока со всеми не-каноническими вариантами и однимreturn 301. - Проверьте плагины и модули CMS: они любят добавлять собственные редиректы поверх серверных. Часто именно так появляется второе и третье звено.
- Поправьте внутренние ссылки на сайте, в карте сайта и в rel=canonical — они должны указывать сразу на канонический адрес, чтобы редирект вообще не срабатывал.
Последний пункт важнее, чем кажется: самый быстрый редирект — тот, который не понадобился.
Особый случай: редирект на редирект после переезда
Когда сайт переезжал дважды (сменил структуру, потом домен), старые правила складываются друг с другом. Здесь помогает разовая ревизия: составьте таблицу «старый адрес → актуальный адрес» и перепишите правила напрямую, минуя промежуточные версии. Старые правила при этом не удаляйте, а замените — внешние ссылки на давние адреса всё ещё существуют.