Техническое SEO: доступ поисковика к сайту

302 редирект

302 — временный перенос с возвратом старого URL: чем он не 301, когда браузер кэширует слабее и почему «пока понаблюдаем» ломает переезд домена.

Кирилл Бабийчук · обновлено · 3 мин чтения

302 — временный перенос: документ ещё здесь по смыслу, но сейчас ответ отдаём с другого URL. Сервер ставит Location, поисковик не обязан менять адрес в индексе так, как при постоянном переезде. Хаб технического SEO — доступ целиком. Постоянный случай разобран на 301. Два живых URL с одним смыслом, оба нужны людям — canonical, не «пока 302». Здесь только временный код: акция, A/B, гео-витрина, почему браузер и робот помнят его по-разному.

Когда 302 честен

Честный случай короткий и обратимый: промо на две недели, витрина «закрыто на учёт», тестовый путь, который снимут. Старый URL должен вернуться. Нечестный: «поставим 302, вдруг передумаем» на переезд домена. Часть роботов со временем начинает вести себя как с постоянным, браузеры кэшируют слабее 301 — вы получаете два мира. Если адрес умер, скажите 301 или 404/410, не держите временный год.

Ситуация Код Почему не наоборот
Слеш, HTTPS, смена дерева, тот же документ навсегда 301 одним прыжком 302 оставит старый URL в индексе дольше, чем нужно
Акция / временная витрина, URL вернётся 302 (или 307, если метод запроса нельзя менять) 301 кэшируется агрессивнее: «потом вернём» не вернётся у части аудитории
Два живых дубля в меню canonical Любой редирект убьёт один адрес, который ещё открывают
Документа нет и не будет 404 или 410 Временный редирект на главную — ложная склейка

Кэш, метод, цепочка

  • 302 исторически разрешал менять POST на GET. Если форма не должна терять метод — 307. Для посадочных GET это редкость, для касс и фильтров — нет.
  • Не складывайте 302 в цепочку с 301: A 302→ B 301→ C. Сожмите до одного прыжка нужного типа.
  • Роботу 302, человеку 200 на старом — клоакинг, как и с постоянным.
  • Meta refresh и редирект в JavaScript временный перенос не заменяют. Статус в HTTP.

Проверка без следования: curl без -L, старый отвечает 302, один Location, финал 200, каноникал финала на себя, если витрина живёт там. В меню на время акции можно оставить старый URL, если он вернётся; внутренние «стабильные» ссылки на промо-путь кормят обход. Склейку www и HTTPS не делают 302 «на всякий случай» — это инфраструктура, ей нужен постоянный код.

302 честен, когда старый URL вы готовы вернуть в выдачу. Если не готовы — это уже 301 или заглушка, а не «мягкий переезд».

Магазин, который гоняет снятый SKU на категорию «на время, вдруг вернём» через год, кормит ту же ложную склейку, что пылесос 404 на главную. Ближний сосед по модели честнее корня каталога. Если перенос связан с деньгами и зеркалами, это постановка продвижения плюс правила сервера, не одна строка в ISPmanager.

Ограничение. Срока «через N дней 302 станет 301 в индексе» нет. Не обещаем, что вес ссылок «подождёт» на старом URL. 303 после POST, HSTS и CDN-правила — соседние темы инфраструктуры. Цепочки редиректов — отдельный URL кластера.

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

Почему после «временного» редиректа старый URL всё ещё в индексе?

Так и задумано для 302: робот не обязан менять адрес. Если переезд постоянный — ставьте 301 и правьте внутренние ссылки на финал.

Можно ли держать 302 месяцами на переезде домена?

Нельзя как стратегию. Часть клиентов закэширует слабо, часть роботов начнёт считать постоянным. Для домена нужен 301 и срок жизни внешнего href, не «пока наблюдаем».

302 или canonical на акцию?

Если промо-URL не должен существовать после даты — 302 со старого на акцию или сразу отдельный документ со сроком. Canonical оставляют, когда оба URL живые и оба открывают люди.