ИНСТР-301-302HTTP 3xx · RedirectionSEO · Yandex / Googleревизия 2026-05-07

301 vs 302 редирект

HTTP 301 (постоянный) vs 302 (временный): детальное сравнение для SEO. Когда что использовать, как настроить в Apache, Nginx, Next.js.

⏱ работает в браузере · без регистрации
Инструмент · ИНСТР-301-302|real-time
calcal.ru / redirect-301-302-otlichie
Загрузка инструмента…
301
Постоянный
302
Временный
Передаёт SEO-вес
cached
Браузер кэширует 301

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

HTTP-редирект — механизм, при котором сервер сообщает браузеру: «эта страница переехала, иди по другому URL». Браузер автоматически делает новый запрос. Все коды категории 3xx — редиректы. Самые популярные — 301 и 302.

Разница в одной фразе: 301 — навсегда, 302 — временно. Кажется простым, но влияние на SEO и поведение браузеров кардинально разное. Неправильный выбор может убить ранжирование сайта.

301 vs 302 — детальное сравнение

Аспект301 Moved Permanently302 Found (Temporary)
ДлительностьНавсегдаВременно
Передача SEO-веса✓ Да✗ Нет
Индекс поисковикаСтарый URL заменяется на новыйСтарый URL остаётся в индексе
Кэш браузераАгрессивно кэшируется (часто навсегда)Не кэшируется по умолчанию
Метод запросаМожет конвертироваться в GETМожет конвертироваться в GET
Аналог со строгим методом308 Permanent Redirect307 Temporary Redirect
Когда использоватьМиграция домена, HTTPS, удаление дублейA/B тест, обслуживание, авторизация
301 redirects pass virtually 100% of link equity. The myth that you lose 10-15% PageRank with each redirect is outdated since 2016. Use 301 confidently for permanent moves.John Mueller, Google Search Advocate, 2021

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

  • Миграция домена. example.com → newexample.com. Все URL старого домена → 301 на соответствующие нового.
  • HTTP → HTTPS. Каждый http://example.com/page → 301 на https://example.com/page. Обязательно для SEO и безопасности.
  • www vs без www. Выберите канонический вариант, второй → 301. Не оставляйте оба — это дубль контента.
  • Trailing slash. /page/ vs /page — выберите один, второй → 301.
  • Реструктуризация URL. /blog/123 → /blog/post-name. Сохраняет SEO-вес.
  • Удаление дублей. /product?id=42 и /product/42 — должна быть одна канонична, остальные → 301.
  • Удаление страницы. Если есть похожая → 301 на неё. Если нет — лучше 410 Gone (а не 301 на главную, это плохая практика).

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

  • A/B тестирование. /landing → 50% юзеров на /landing-v2 (тест), 50% на /landing-v1 (контроль).
  • Технические работы. Сайт offline → 302 на /maintenance (поисковики НЕ удалят страницы из индекса).
  • Геолокация. example.com/ из Москвы → 302 на /ru/, из Парижа → /fr/. Поисковик индексирует все три варианта.
  • Авторизация. Защищённая страница → 302 на /login если не залогинен. Возврат через ?return_to=...
  • Корзина / checkout. Очищенная корзина → 302 на каталог.
  • Промокоды / акции. Временная распродажа доступна по короткому URL → 302 на длинный с промо-параметрами.

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

Apache (.htaccess)

# 301 для конкретного URL
Redirect 301 /old-page /new-page

# 301 для всего домена
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]

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

# Удалить www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Nginx

# Конкретный URL
location = /old-page {
    return 301 /new-page;
}

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

# www → без www
server {
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

Next.js (next.config.js)

module.exports = {
  async redirects() {
    return [
      {
        source: '/old-page',
        destination: '/new-page',
        permanent: true, // true = 301, false = 302
      },
      {
        source: '/blog/:slug',
        destination: '/articles/:slug',
        permanent: true,
      },
    ];
  },
};

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

  • curl -I url — покажет HTTP-код. HTTP/1.1 301 Moved Permanently — всё работает.
  • Chrome DevTools → Network → выберите запрос → Response Headers → Status Code.
  • Online tools. httpstatus.io, redirect-checker.org — проверка цепочки редиректов (301 → 301 → 200).
  • Screaming Frog SEO Spider. Полный аудит сайта, найдёт все редиректы и их цепочки.
  • Yandex Webmaster. Раздел «Индексирование» → «Страницы в поиске» — видно как поисковик понимает редиректы.
ИСТОЧНИКИ
  1. RFC 9110 — HTTP Semantics (Section 15.4). IETF. datatracker.ietf.org/doc/html/rfc9110#section-15.4. 2022.
  2. Yandex Webmaster — настройка редиректов. Яндекс. yandex.ru/support/webmaster/recommendations/redirects.html. 2024.
  3. Google — Redirects and Search. Google Search Central. developers.google.com/search/docs/crawling-indexing/301-redirects. 2024.
ЧАСТЫЕ ВОПРОСЫ

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

301 Moved Permanently — «навсегда переехал на новый URL». 302 Found — «временно по другому URL, скоро вернусь». Для SEO это критично: 301 передаёт SEO-вес (link juice) на новый URL, 302 — нет. Поисковики обновляют свой индекс при 301, но при 302 продолжают индексировать старый URL.
(1) Миграция домена (example.com → newexample.com). (2) Переход с HTTP на HTTPS — все http URL должны давать 301 на https. (3) Удаление дубликатов — одна страница имеет несколько URL, 301 на канонический. (4) Реструктуризация сайта — /blog/post-123 → /blog/post-name. (5) Удаление www → без www (или наоборот) — выберите один вариант. (6) Trailing slash — /page/ → /page (или наоборот). Везде, где URL изменился навсегда.
(1) A/B-тестирование — половина пользователей идёт на /v2-page временно. (2) Технические работы — сайт временно отключён, редирект на статус-страницу. (3) Геолокация — пользователь из Москвы → /ru/, из Парижа → /fr/. (4) Авторизация — / возвращает 302 на /login если не залогинен. (5) После POST — обычно используется 303 See Other, но 302 тоже подходит. Везде, где URL изменился временно.
308 Permanent Redirect = 301, но строго сохраняет HTTP-метод. Если запрос был POST — после 308 будет POST, после 301 может быть GET. 307 Temporary Redirect = 302, но строго сохраняет метод. Используйте 308 для постоянного редиректа non-GET запросов (например, POST в API). 307 — для временного редиректа non-GET. Для обычных GET-запросов разницы нет, используйте 301/302.
В корне сайта файл .htaccess: RewriteEngine On / RewriteRule ^old-page$ /new-page [R=301,L]. Для всего домена: Redirect 301 / https://newdomain.com/. Для удаления www: RewriteCond %{HTTP_HOST} ^www\. / RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]. Изменения вступают сразу. Не используйте 302 (без R=301) если переезд постоянный — потеряете SEO.
В server блоке: return 301 https://example.com$request_uri; — простейший вариант для всего домена. Для конкретных URL: location /old-page { return 301 /new-page; }. Для www → без www: server { server_name www.example.com; return 301 https://example.com$request_uri; }. После изменений: nginx -t (проверка), systemctl reload nginx (применение).
В Next.js — файл next.config.js: redirects() returns array of {source, destination, permanent: true} (true = 301, false = 302). Для динамических редиректов — в middleware.ts через NextResponse.redirect(url, 301). Для React SPA на стороне клиента — нельзя установить HTTP-код, только JavaScript-редирект (window.location). Поэтому SPA-редиректы не дают SEO-преимущества — настраивайте на уровне сервера/CDN.
Ничем. Браузер обрабатывает оба одинаково — переходит на новый URL. Разница только для поисковиков и кэша браузера. Браузеры АГРЕССИВНО кэшируют 301 (часто навсегда), 302 не кэшируют. Если ошибочно поставили 301 на временный URL, пользователи могут продолжать видеть редирект даже после исправления — нужно очищать DNS-кэш и кэш браузера. Поэтому: сомневаетесь временно или постоянно — используйте 302, потом замените на 301.
Лиана Арифметова
АВТОРverifiedред. calcal.ru

Лиана Арифметова

Создатель и главный редактор

Миссия: демократизировать сложные расчёты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Mathematical Engineering · МФТИ · редактирует каталог с 2012 года

Был ли этот калькулятор полезен?

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ

Инструмент справочный — не заменяет эксперта

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Профессиональные решения — медицинские, финансовые, инженерные — должны приниматься только после консультации с квалифицированным специалистом. Не используйте автоматический расчёт как единственное основание для важных решений.

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