Перейти к содержимому
Попробовать

301 или 302 редирект: когда какой использовать

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

В гайде разбираем разницу между 301, 302, 307 и 308, когда применяется каждый, как настроить в .htaccess, nginx, WordPress и Node.js. Отдельный раздел — почему цепочки редиректов вредят SEO и как их найти на сайте за 5 секунд.

Что такое HTTP-редирект

HTTP-редирект — это ответ сервера со статусом 3xx и заголовком Location, который указывает браузеру перейти на другой URL. Пользователь нажимает ссылку на example.com/old, сервер отвечает:

HTTP/1.1 301 Moved Permanently
Location: https://example.com/new

Браузер автоматически делает запрос на /new. Для пользователя всё происходит незаметно — только меняется адрес в адресной строке.

Редиректы решают три типичные задачи: перенос сайта на новый домен, смена структуры URL (из /product?id=42 в /products/nike-air-max), объединение дублей (www и без www, HTTP и HTTPS). Ошибки в настройке приводят к потере позиций — все ссылки, которые копились годами, могут перестать работать.

301 Moved Permanently: постоянный редирект

301-редирект сообщает: страница переехала навсегда. Поисковые системы обновляют индекс, старый URL выпадает, новый занимает его место. Браузеры кешируют 301-редирект — следующий раз пользователь сразу пойдёт на новый URL без обращения к старому.

В 2016 году Google подтвердил: 301-редирект передаёт практически 100% ссылочного веса (PageRank). До этого в индустрии был миф, что 301 «теряет 15% веса» — это неверно, и сейчас уже точно неактуально. Яндекс ведёт себя аналогично — вес передаётся полностью.

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

302 Found: временный редирект

302-редирект — временное перенаправление. Поисковик не заменяет старый URL новым, а продолжает держать в индексе исходный. Браузеры не кешируют 302 так агрессивно, как 301.

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

Главное правило: 302 используется, когда исходная страница должна остаться в индексе.

301 vs 302: главные отличия

Сводная таблица по каждому параметру.

Параметр301 Moved Permanently302 Found
ТипПостоянныйВременный
Ссылочный весПередаётся сразу, почти 100%Не передаётся сразу, Google может начать передавать через месяцы
Индекс GoogleСтарый URL выпадает, новый занимаетСтарый URL остаётся в индексе
Индекс ЯндексаАналогично GoogleАналогично Google
Кеширование браузеромАгрессивное, надолгоСлабое, на одну сессию
Когда использоватьСмена URL навсегдаВременная замена, A/B-тест, техработы

Практическая сторона: ошибка с 302 вместо 301 при смене URL — это 2–6 месяцев потерянного трафика, пока Google сам не догадается передать вес. Ошибка с 301 вместо 302 — сложно исправляется, потому что 301 закеширован у пользователей и сидит в индексе.

Когда использовать 301

Шесть типичных сценариев:

  1. Переезд на новый домен. oldbrand.runewbrand.ru. Настройте 301 с каждой страницы старого домена на соответствующую страницу нового.
  2. Смена URL страницы. Было /product?id=42, стало /products/nike-air-max. 301 со старого URL.
  3. HTTP → HTTPS. После установки SSL-сертификата — 301 с http:// на https://. Без этого у вас дубли.
  4. Слеш в конце URL. /about/ и /about — это разные URL для поисковика. Выберите канонический вариант и 301-редиректьте второй.
  5. Объединение www и без www. www.example.com и example.com — два разных хоста. Один 301-редиректом на другой.
  6. Удалённая страница объединяется с похожей. Закрыли рубрику /obzory/, вместо неё открыли /stati/ — 301 со страниц старой рубрики на страницы новой.

Во всех шести случаях 302 приведёт к дублям, конфликтам в индексе и потере трафика. Подробнее о дублях и canonical — в статье «Мета-теги для SEO».

Когда использовать 302

Три корректных сценария:

  1. A/B-тестирование. Редиректите часть трафика на версию B, чтобы Google индексировал основную версию A. После теста — 302 убирается.
  2. Технические работы. /shop/ временно недоступен, редиректите на / или на страницу с сообщением. После восстановления — убираете.
  3. Геоиндикация или язык. Пользователь из Франции заходит на example.com, сервер 302-редиректит на example.com/fr/. При этом в индексе остаются обе версии — с правильно настроенными hreflang, конечно. Подробнее — в инструменте проверка hreflang.

Во всех других случаях 302 — это баг, а не фича.

307 и 308: современные альтернативы

Помимо 301/302 есть ещё два редирект-кода, и они важны для API и форм.

КодСемантикаHTTP-метод
301 Moved PermanentlyПостоянныйМожет измениться (POST → GET)
302 FoundВременныйМожет измениться (POST → GET)
307 Temporary RedirectВременныйСохраняется (POST → POST)
308 Permanent RedirectПостоянныйСохраняется (POST → POST)

Разница с 301/302 в одном пункте: 307 и 308 гарантируют сохранение HTTP-метода при редиректе. Если пользователь отправил форму через POST, 307 передаст её на новый URL тоже POST'ом. 302 может превратить POST в GET — тогда форма потеряется.

Для обычных GET-переходов (клик по ссылке) разницы нет — 301 и 308 ведут себя одинаково, как и 302/307. Для API и форм — только 307/308. Для SEO — 301 и 308 эквивалентны.

Проверьте редиректы на сайте за 5 секунд
SEO Crawler покажет цепочки, циклы и смешение 301/302 — в одном отчёте по всем страницам.
Проверить редиректы

Как настроить редирект

Синтаксис зависит от стека. Ниже — примеры для четырёх популярных платформ.

Apache (.htaccess)

Файл .htaccess лежит в корне сайта или в подкаталоге. Простой 301:

Redirect 301 /old-page https://example.com/new-page

Редирект всего старого домена на новый с сохранением пути:

RewriteEngine On
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]

HTTP → HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

nginx

В блоке server:

# Простой 301
location = /old-page {
    return 301 /new-page;
}

# С поддержкой путей
location /obzory/ {
    rewrite ^/obzory/(.*)$ /stati/$1 permanent;
}

# HTTP → HTTPS
server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

permanent = 301. Для 302 — redirect. Для 307/308 — используется return с явным кодом: return 307 /new;.

WordPress

Самый простой способ — плагин Redirection. Ставится, открываете раздел в админке, добавляете пары «Source URL → Target URL», выбираете тип (301/302). Работает через PHP на уровне приложения, без правки файлов сервера.

Программно:

wp_redirect('/new-page', 301);
exit;

Node.js / Express

app.get('/old-page', (req, res) => {
  res.redirect(301, '/new-page');
});

Для 307: res.redirect(307, '/new-page'). По умолчанию Express использует 302 — обычно это не то, что нужно для SEO, всегда указывайте код явно.

Цепочки редиректов: почему это плохо

Цепочка — когда A редиректит на B, а B редиректит на C. Google и Яндекс обходят цепочки, но каждый лишний шаг — это:

  • Потеря crawl budget (лишний запрос к серверу)
  • Замедление загрузки (каждый редирект — это HTTP round-trip)
  • Потенциальная потеря веса на каждом шаге (незначительная, но накапливается)
  • Риск обрыва: Google обрабатывает до 10 редиректов в цепочке, Яндекс меньше. Если их больше — страница не индексируется.

Правило: максимум один редирект. Если у вас миграция с трёх доменов подряд и на каждом висит 301 — объедините всё в прямой редирект на финальный URL.

Найти цепочки вручную невозможно, если на сайте больше 100 URL. Проверка редиректов в SEO Crawler строит карту редиректов по сайту, подсвечивает цепочки, циклы и смешение 301/302. Подробнее о смежных проблемах — в статье «Как найти битые ссылки на сайте».

Часто задаваемые вопросы

301 передаёт ссылочный вес?

Да, практически полностью. Google официально подтвердил в 2016 году, что 301-редирект передаёт PageRank без потерь. Яндекс ведёт себя аналогично. Старый миф про «потерю 15%» — неактуален.

302 теряет ссылочный вес?

Технически — да, вес сразу не передаётся. Но если 302 висит месяцами, Google в какой-то момент начинает трактовать его как 301 самостоятельно. Для постоянной смены URL всегда используйте 301.

Canonical или 301?

Зависит от ситуации. 301 физически перенаправляет пользователя — старая страница становится недоступна. canonical — подсказка поисковику, какую версию считать основной, обе страницы остаются рабочими. Смена URL с удалением старого — 301. Дубли контента на живых страницах (товар в двух категориях) — canonical.

Цепочки редиректов вредят SEO?

Да. Google проходит до 10 редиректов в цепочке, Яндекс — меньше. Каждый шаг — это потеря времени и crawl budget. Максимум, к которому нужно стремиться, — один редирект с исходного URL на финальный.

Редирект с HTTP на HTTPS — 301 или 302?

Только 301. HTTPS-версия — постоянная. 302 в этом случае приведёт к тому, что Google будет индексировать HTTP-версию как основную, а HTTPS — как временную альтернативу, что противоречит смыслу.

В чём разница между 302 и 307?

307 Temporary Redirect гарантирует сохранение HTTP-метода: POST остаётся POST, PUT остаётся PUT. Исторически 302 мог менять метод на GET — это ломает отправку форм и API-запросов. Для API и форм используйте 307, для обычных ссылок — можно оба, но 307 семантически корректнее.

Найдите все проблемные редиректы на сайте
SEO Crawler обходит сайт и строит карту редиректов — с подсветкой цепочек, 302 вместо 301 и редиректов в 404.
Запустить аудит
Поделиться:
SC
Команда SEO Crawler
Пишем о техническом SEO, аудите и продвижении сайтов
Ссылка скопирована