seo·matrix
← Все статьи

301, 302, 307, 308 — в чём разница и какой редирект когда нужен

· Обновлено 28 июн. 2026 г. · 9 мин чтения · Автор Михаил Кузьмицкий

Markdown-версия ↗

Коротко, для тех, кто не дочитает: 301 и 308 — постоянные, 302 и 307 — временные, а 307 и 308 ещё и не дают браузеру превратить POST в GET. На переезд навсегда ставь 301, на форму с телом — 307 или 308, и не гоняй посетителя по цепочке из трёх прыжков. Дальше — почему это вообще кого-то волнует и где на этом теряют трафик годами.

На днях открыл отчёт по сайту, который давно переехал на новый домен, и заметил странную вещь: старый адрес до сих пор висит в выдаче, собирает клики и отдаёт их в никуда, а новый за всё это время так и не набрал позиций. Полез в заголовки ответа — и, конечно, там стоял 302, «временный», который кто-то поставил на неделю технических работ и благополучно забыл.

Редирект — это, по сути, ответ сервера в духе «страница теперь по другому адресу», и кодов у такого ответа несколько. Выбор между ними влияет сразу на две вещи: как поисковик перенесёт накопленный вес и как поведёт себя отправка формы или запрос к API.

301, 302, 307, 308 — в чём разница и какой редирект когда нужен

Почему путаница такая живучая? Потому что в обычной жизни разница не видна вовсе: браузер переходит куда надо при любом коде, человек ничего не замечает. Расхождение всплывает через месяцы, когда старый адрес всё ещё висит в выдаче, а новый никак не наберёт позиций.

Таблица: чем отличаются

КодТипМетод запросаКогда использовать
301 Moved PermanentlyПостоянныйМожет смениться (POST→GET)Страница переехала навсегда — основной SEO-редирект
302 FoundВременныйМожет смениться (POST→GET)Временно: A/B-тест, акция, тех. работы
307 Temporary RedirectВременныйСохраняется (POST остаётся POST)Временный переезд, где нельзя терять метод и тело запроса
308 Permanent RedirectПостоянныйСохраняетсяПостоянный переезд с сохранением метода, например у API

Ось первая: постоянный или временный

Коды 301 и 308 — постоянные, и они говорят поисковику простую вещь: переноси сигналы на новый адрес, потому что старый больше не нужен. Со временем прежний URL выпадает из индекса, а его место занимает новый, вместе со ссылочным весом и накопленной историей.

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

Как долго живёт «временный» редирект в реальной жизни? Обычно дольше, чем планировалось, — намного дольше! Поставили на неделю технических работ, забыли, вспомнили через полгода — и всё это время новая страница не получала ничего.

Ось вторая: метод запроса

Старые коды 301 и 302 исторически разрешают клиенту сменить метод, поэтому браузер после такого редиректа обычно превращает POST в GET и теряет тело запроса по дороге. Для обычных страниц это никого не волнует, потому что их и так открывают через GET.

Коды 307 и 308 ведут себя строго: метод и тело запроса сохраняются, POST остаётся POST, и это критично в трёх случаях:

  • отправка формы через POST;
  • эндпоинт API, принимающий POST или PUT;
  • любой запрос с телом, которое нельзя уронить при смене на GET.

Если промахнуться здесь, симптом будет довольно странным: форма отправляется, ответ приходит, а данных на сервере нет! Искать причину в редиректе обычно догадываются в последнюю очередь.

Какой редирект для какой задачи

ЗадачаКодПочему
Страница переехала навсегда, сменился URL301Постоянный → склеивает сигналы на новый адрес, старый выпадает из индекса
Смена домена, http→https, склейка www и дублей301Тот же механизм консолидации; собирай в один переход до финального URL
Удалён товар или истекла акция301 на релевантную категориюПередаёт вес и не плодит 404 — но не на главную, это «мягкая 404»
Тех. работы, «скоро вернёмся», сезонная страница302Временно → поисковик сохраняет исходный URL в индексе
A/B-тест, временный показ контента с другого URL302Не хотим, чтобы движок заменил оригинал тестовым адресом
Партнёрская ссылка через трекер /go/…302 или 307Оффер временный и ротируется, трекер-URL не нужно индексировать
Временно перенаправить отправку формы (POST)307Сохраняет метод и тело запроса — POST остаётся POST
API-эндпоинт переехал навсегда308Постоянный плюс сохранение метода: POST и PUT не превратятся в GET

canonical или редирект

Разница здесь принципиальная. Редирект 301 физически уводит на другой адрес, и старой страницы больше нет, а rel="canonical" оставляет все адреса рабочими и лишь указывает поисковику, какую версию считать главной.

Дубли с параметрами — это canonical, настоящий переезд страницы — это 301, и путать их не стоит. Тему я разобрал отдельно: canonical против редиректа — что выбрать и когда.

302 против 307 на практике

Оба кода временные, и вся разница между ними сводится к методу запроса: при 302 клиент может переиграть POST в GET, и браузеры исторически так и делают, а при 307 метод и тело сохраняются строго.

Что выбирать? Для обычной страницы или ссылки бери 302, потому что он проще и понятен повсеместно, а для временного перенаправления POST бери 307, иначе данные потеряются при смене метода, и ты об этом узнаешь последним.

Есть ещё нюанс, который иногда пугает: браузерный 307 генерируется внутренним механизмом HSTS при принудительном переходе с http на https. Это не твой серверный редирект, и настраивать его не нужно.

Для SEO выбор между 302 и 307 не важен вовсе, потому что оба временные и движок трактует их одинаково. Значение имеет только сценарий с методом запроса.

Что это значит для ИИ-поиска

ИИ-краулеры вроде GPTBot, PerplexityBot и ClaudeBot тоже идут по редиректам, и здесь ставки, пожалуй, выше. Если процитированный адрес отвечает битым или зацикленным переходом, ты теряешь самый дорогой трафик — человека, который уже прочитал ответ и решил кликнуть!

Временный редирект на постоянном переезде сбивает движки с толку точно так же, как поисковик: они продолжают держать в памяти старый адрес и цитировать его. Правило то же самое — постоянный переезд закрывай кодом 301 или 308 на релевантную страницу.

Частые ошибки

Первая и самая дорогая — 302 вместо 301 на постоянном переезде, потому что склейка сигналов откладывается, старый адрес висит в индексе, а новый растёт медленно.

Вторая — цепочки переходов вида A → B → C. Каждый шаг теряет немного веса и замедляет обход, поэтому держи один переход до финального адреса.

Третья — массовый редирект всего подряд на главную, и вот это уже по-настоящему больно! Google считает это «мягкой 404», вес не передаётся никуда, так что веди на релевантную страницу или отдавай честную 404.

Четвёртая — несколько переходов при связке http, https и www, которые обычно накапливаются у тебя годами по одному. Собери их в один 301 сразу до финального адреса.

Пятая — meta-refresh или редирект на JavaScript вместо серверного 3xx: работает медленнее, как сигнал заметно слабее, поэтому делай переадресацию на сервере и ничего не изобретай.

Шестая, самая незаметная — не обновлённые внутренние ссылки. Даже при рабочем редиректе ссылайся сразу на финальный адрес, а не гоняй посетителя и краулера через лишний переход, который к тому же однажды кто-нибудь случайно выпилит.

Сколько ждать результата после переезда

Вопрос, который возникает сразу после настройки: когда новый адрес заменит старый в выдаче? Честный ответ — от нескольких дней до нескольких месяцев, и разброс зависит в первую очередь от того, как часто поисковик заходит на конкретную страницу, а не от того, как хорошо ты всё настроил.

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

Что при этом нормально видеть в отчётах? Временный провал показов на пару недель — обычное явление при любом крупном переезде, и паниковать из-за него не стоит. Ненормально другое: если через месяц старый адрес всё ещё показывается в выдаче вместо нового, значит редирект либо не тот, либо не срабатывает для бота.

Проверить последнее проще всего запросом от имени краулера, а не из браузера, и вот почему: бывает, что сервер отдаёт человеку правильный 301, а роботу — 200 со старым содержимым, потому что кто-то когда-то настроил отдельное правило для кэша (как не сложно догадаться, этот кто-то давно уволился). Такие расхождения находятся только измерением.

Как проверить свои редиректы

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

И последнее, о чём забывают чаще всего: пройди по списку своих старых адресов целиком, а не по паре примеров, потому что редиректы обычно ломаются не там, где ты смотришь, а в глубине каталога, куда давно не заходил ни один живой человек.

Потом сверь три вещи: постоянные переезды закрыты кодами 301 или 308, цепочек и петель нет, а цель редиректа релевантна исходной странице. На этом проверка закончена, можно выдыхать. Хотя нет — сначала сходи глянь свои старые адреса, я подожду.

Источники

  • MDN Web Docs — HTTP redirections (301/302/303/307/308).
  • Google Search Central — Redirects and Google Search (постоянные против временных, передача сигналов).
  • RFC 7231 и RFC 7238 — семантика 3xx и кода 308.
  • Google Content Warehouse API leak (2024) — поля urlAfterRedirectsFp, forwardingdup.

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

В чём разница между 301 и 308?

Оба постоянные и передают сигналы новому URL. Разница в методе запроса: 301 разрешает сменить POST на GET, 308 сохраняет метод. Для обычных страниц берут 301, для API с POST — 308.

301 или 302 для SEO?

Для постоянного переезда — только 301: он переносит ранжирующие сигналы и заменяет старый URL новым. 302 — для действительно временных ситуаций (тех. работы, акция, A/B-тест).

Передаёт ли 302 «вес»?

302 задуман как временный, поэтому Google держит в индексе исходный URL. Долгоживущий 302 со временем может трактоваться как постоянный, но полагаться на это не стоит — на постоянный переезд ставь 301.

Что такое 307 и когда он нужен?

307 — временный редирект с сохранением метода запроса. Нужен, когда временно перенаправляешь POST-форму или запрос с телом, который нельзя превратить в GET.

Какой редирект для партнёрских ссылок?

Обычно 302 через внутренний трекер /go/… — но не «чтобы спрятать ссылку»: Google всё равно резолвит конечный URL. 302 удобен потому, что оффер временный и ротируется, а трекер не нужно индексировать. От «thin affiliate» защищает rel="sponsored" и качество контента, а не код редиректа.

Помогла статья?
Запустить SEO/GEO с seo·matrix → или заявка без Telegram →

Комментарии

  • …

Комментарии модерируются.