Что такое редирект и зачем он нужен
Редирект — это ответ сервера, который говорит браузеру и поисковому роботу: «запрошенного содержимого здесь нет, оно по другому адресу». Технически это код ответа из группы 3xx плюс заголовок Location с целевым URL.
GET /catalog/staraya-kategoriya/ HTTP/1.1
HTTP/1.1 301 Moved Permanently
Location: https://example.ru/catalog/novaya-kategoriya/
Для пользователя разница между кодами незаметна — он в любом случае попадает на конечную страницу. Разница существует только для поисковой системы, и именно она определяет судьбу старого URL в индексе. Поэтому редирект — редкий случай, когда технически «работающая» настройка может месяцами разрушать индексацию, не давая никаких видимых симптомов на сайте.
Коды редиректов и их трактовка
| Способ | Код | Как трактует поисковик | Когда применять |
|---|---|---|---|
| 301 Moved Permanently | 301 | Переезд навсегда: старый URL склеивается с новым, сигналы передаются, старый адрес выпадает из индекса | Смена URL, склейка зеркал, удалённый товар с прямым аналогом |
| 302 Found | 302 | Временное перенаправление: в индексе остаётся старый URL | Временная заглушка, A/B-эксперимент, товар временно вне продажи |
| 307 Temporary Redirect | 307 | То же, что 302, но метод запроса гарантированно сохраняется (POST остаётся POST) | Временный редирект для форм и API-запросов |
| 308 Permanent Redirect | 308 | То же, что 301, с сохранением метода запроса | Постоянный переезд там, где важен метод; поддержка старыми клиентами хуже, чем у 301 |
| meta refresh | 200 | Распознаётся, но обрабатывается медленнее и хуже; при задержке больше 0 воспринимается как временный | Не применять для SEO-задач; допустимо для служебных страниц |
| JS-редирект | 200 | Срабатывает только после рендеринга страницы, откладывает переобход на неопределённый срок | Не применять для смены URL; допустимо для пользовательской логики после авторизации |
Правило выбора в одну строку: возвращать старый URL не планируете — 301, планируете — 302. Всё остальное (meta refresh, JS-редирект) для задач поисковой оптимизации использовать не стоит: они не дают серверного сигнала о переезде.
Типовые задачи в e-commerce
Удалённый или распроданный товар. Самая частая и самая дорогая по последствиям ситуация — в крупном каталоге ассортимент меняется постоянно. Варианты решения по убыванию предпочтительности:
| Ситуация | Корректное решение |
|---|---|
| Есть прямой аналог (новая модель, тот же товар в другом SKU) | 301 на карточку аналога |
| Аналога нет, товар может вернуться | Страница с кодом 200, статусом «нет в наличии» и блоком похожих товаров |
| Аналога нет, товар не вернётся, страница без трафика и ссылок | 404 или 410 |
| Удалена целая линейка | 301 на релевантную категорию, а не на главную |
Страница «нет в наличии» с сохранённым контентом и подборкой альтернатив обычно выгоднее редиректа: она удерживает поисковый трафик по названию модели и даёт пользователю выбор вместо тупика.
Смена URL категории. При переезде структуры нужно не только выставить 301 со старых адресов, но и одновременно переписать все внутренние ссылки на новые URL, обновить карту сайта и проверить, что фильтрационные и страничные URL внутри категории тоже переехали.
Склейка зеркал. Четыре классические пары, которые должны быть сведены к одной канонической версии одним переходом:
http://example.ru/ → https://example.ru/ (протокол)
https://www.example.ru → https://example.ru/ (www)
/catalog/shoes → /catalog/shoes/ (слеш в конце)
/Catalog/Shoes/ → /catalog/shoes/ (регистр)
Важно, чтобы правила были согласованы: если протокол и www обрабатываются разными правилами по очереди, получится цепочка из трёх переходов вместо одного.
Ошибки, которые дорого стоят
| Ошибка | Что происходит |
|---|---|
| Цепочка редиректов | Каждое звено — лишний запрос и задержка; расходуется краулинговый бюджет, часть сигналов теряется на длинных цепочках |
| Цикл редиректов | Страница недоступна ни пользователю, ни роботу — ошибка ERR_TOO_MANY_REDIRECTS, гарантированный вылет из индекса |
| Массовый редирект на главную | Поисковик видит, что содержимое не соответствует запросу, и трактует такие URL как soft 404 — сигналы не передаются, страницы просто выпадают |
| 302 вместо 301 на постоянный переезд | Старый URL месяцами остаётся в индексе, новый не набирает позиции, трафик распылён между двумя адресами |
| Гео- и языковые редиректы по IP | Робот, который приходит с одного региона, физически не видит остальные версии сайта — они не попадают в индекс. Ломает hreflang и в тяжёлых случаях делает недоступной карту сайта |
| Редирект вместо canonical | Редирект убирает страницу для пользователя; там, где нужно лишь указать основную версию (сортировки, UTM-параметры), корректнее канонический URL |
| Старый URL закрыт в robots.txt | Робот не может зайти на URL и, следовательно, не узнаёт о редиректе — склейка не происходит |
| Внутренние ссылки ведут на старые адреса | Сайт сам гоняет робота через редиректы на каждом обходе, хотя правило настроено верно |
Редирект всего трафика с несуществующих адресов на главную страницу выглядит как аккуратное решение «чтобы не было 404», но для поиска это худший из вариантов. Поисковая система сравнивает содержимое конечной страницы с исходным запросом, не находит соответствия и помечает такие переходы как soft 404 — сигналы не передаются, а главная страница получает поток нерелевантных заходов с мгновенным возвратом в выдачу.
Как проверять
- Код ответа, а не вид в браузере. Браузер показывает конечную страницу и скрывает промежуточные звенья. Нужен инструмент, который печатает всю трассу переходов с кодами:
curl -I -Lили любой сервис проверки ответа сервера. - Краулер по всему сайту. Полный обход показывает то, что не видно поштучно: сколько внутренних ссылок ведёт на редиректы, где образовались цепочки, есть ли циклы.
- Отчёты панелей вебмастера. В Google Search Console — отчёт об индексировании со статусом «Страница с переадресацией», в Яндекс.Вебмастере — раздел со страницами, исключёнными из поиска. Именно здесь всплывают массовые проблемы, которые не видно точечными проверками.
- Проверка робота, а не только своего браузера. Если на сайте есть гео- или языковая логика, проверьте ответ для запроса без cookie и с другим регионом — робот приходит именно так.
- Контроль после релиза. Любой переезд URL — повод перепроверить карту сайта, внутренние ссылки и файл robots.txt в тот же день, а не через месяц по факту падения органического трафика.
Чек-лист перед переездом URL:
- составлена карта соответствия «старый URL → новый URL», один к одному, без пачки адресов на одну страницу;
- везде 301, а не 302;
- ни одной цепочки: старый адрес ведёт сразу на финальный;
- внутренние ссылки, меню и хлебные крошки переписаны на новые адреса;
- карта сайта содержит только конечные URL, отдающие 200;
- старые URL не закрыты в robots.txt — иначе робот не увидит редирект;
- канонические теги на новых страницах указывают на самих себя.