Редиректы 301 и 302: когда и как использовать
Чем постоянный и временный редиректы отличаются, когда подходит каждый и как проверить конечные адреса, цепочки и сигналы индексации.
Редирект — это инструкция для сервера: «Запрошенный URL переехал, вот новый адрес». Браузер и поисковый бот получают HTTP-код и новый URL и переходят по нему автоматически. Для пользователя это незаметно, а для SEO важно выбрать правильный тип.
Что такое редиректы
HTTP-редирект — это ответ сервера с кодом 3xx, который сообщает, что ресурс находится по другому URL. Браузер переходит по новому адресу сам. Поисковый бот делает то же самое и обновляет индекс в зависимости от типа редиректа.
Постоянный
Передаёт до 99% ссылочного веса. Страницы объединяются в Google за несколько недель
Временный
Не передаёт ссылочный вес. Исходный URL остаётся в индексе
Задержка
Правильно настроенный редирект добавляет меньше 1 мс ко времени ответа
Переходов в цепочке
Максимальная рекомендуемая длина цепочки редиректов
301: постоянный редирект
301 Moved Permanently сообщает браузеру и поисковому боту, что страница переехала навсегда. Google передаёт ссылочный вес (PageRank) со старого URL на новый, обновляет индекс и начинает показывать новый URL в выдаче.
Когда использовать 301
| Сценарий | Пример |
|---|---|
| Смена домена | old-domain.com → new-domain.com |
| Удаление страницы, если есть замена | /old-product → /new-product |
| Объединение дублей | /page и /page/ → /page/ (единый завершающий слеш) |
| HTTP → HTTPS | http://site.com → https://site.com |
| www → без www (или наоборот) | www.site.com → site.com |
| Перестройка структуры URL | /blog/2020/post → /blog/post |
302: временный редирект
302 Found — временный редирект. Google не передаёт ссылочный вес и не обновляет индекс: исходный URL остаётся каноническим. Используйте его, только если страница действительно временно недоступна и вернётся на исходный адрес.
Когда использовать 302
| Сценарий | Пример |
|---|---|
| A/B-тестирование | Тест новой версии страницы без потери позиций оригинала |
| Гео-редирект | Перенаправление на страну или язык с возможностью вернуться |
| Временная акция | Страница акции → основная страница продаж (только пока акция активна) |
| Техобслуживание | Перенаправление во время обслуживания сервера |
307, 308 и другие коды
| Код | Название | HTTP-метод | SEO-смысл |
|---|---|---|---|
| 301 | Moved Permanently | Может меняться (GET→GET) | Постоянный, передаёт PageRank |
| 302 | Found | Может меняться (POST→GET) | Временный, не передаёт PageRank |
| 307 | Temporary Redirect | Сохраняется (POST→POST) | Временный, строгий метод |
| 308 | Permanent Redirect | Сохраняется (POST→POST) | Постоянный, строгий метод |
| 303 | See Other | Всегда GET | После POST — перенаправление на GET |
| 410 | Gone | — | Страница удалена навсегда, замены нет |
Для большинства SEO-задач хватает 301 и 302. Коды 307 и 308 нужны в API и веб-приложениях, где важно сохранить HTTP-метод. Код 410 сообщает Google, что страница удалена навсегда, и она уходит из индекса быстрее, чем при 404.
Влияние на SEO
301 редирект передаёт до 99% ссылочного веса — по заявлению Google. На практике позиции после миграции могут временно просесть и восстановиться за несколько недель. Это нормально и не является постоянной потерей.
| Аспект | 301 | 302 |
|---|---|---|
| Передача PageRank | До 99% (по заявлению Google) | Не передаётся |
| Канонический URL в индексе | Новый URL | Исходный URL |
| Скорость обновления индекса | Несколько недель | Не обновляется |
| Влияние на позиции | Временное падение, затем восстановление | Позиции остаются за исходным URL |
| Срок кэширования в браузере | Долго (пока не изменится) | Не кэшируется или кэшируется недолго |
Цепочки редиректов
Цепочка редиректов — это когда URL-A → URL-B → URL-C вместо URL-A → URL-C. Каждый лишний переход снижает передаваемый PageRank, увеличивает время загрузки и усложняет сканирование для Googlebot.
Рекомендуемая максимальная длина цепочки — 3 перехода. Google может обрезать цепочки из 5 и более переходов, так и не дойдя до конечного URL. Регулярно проверяйте цепочки инструментами (Screaming Frog, Redirect Checker) и спрямляйте их.
# Check redirect chain via curl
curl -L -s -o /dev/null -w "%{url_effective}\n%{http_code}\n%{redirect_url}\n" \
https://old-domain.com/page
# Check all redirects in the chain
curl -L -v https://old-domain.com/page 2>&1 | grep -E "^< HTTP|^> GET|Location:"Настройка на сервере
Nginx
# 301: permanent redirect for a single page
server {
location = /old-page {
return 301 /new-page;
}
}
# 301: full domain redirect
server {
server_name old-domain.com;
return 301 https://new-domain.com$request_uri;
}
# 301: HTTP → HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
# 302: temporary redirect
server {
location = /promo {
return 302 /sale;
}
}Next.js (next.config.ts)
// next.config.ts
const nextConfig = {
async redirects() {
return [
// 301: permanent redirect
{
source: '/old-blog/:slug',
destination: '/blog/:slug',
permanent: true, // = 301
},
// 302: temporary redirect
{
source: '/promo',
destination: '/sale',
permanent: false, // = 302
},
];
},
};
export default nextConfig;Типичные сценарии
| Сценарий | Тип | Пояснение |
|---|---|---|
| Миграция на HTTPS | 301 | http://... → https://... для всех URL |
| Нормализация www | 301 | www.site.com → site.com (или наоборот) |
| Завершающий слеш | 301 | /page → /page/ или наоборот, единообразно |
| Смена домена | 301 | old.com → new.com с сохранением структуры URL |
| Удаление страницы | 301 или 410 | → ближайшей тематической странице, или 410, если замены нет |
| Сезонные акции | 302 | → страница акции, только пока она действует |
| A/B-тестирование | 302 | → вариант B без потери позиций варианта A |
Частые вопросы
Теряется ли PageRank при 301 редиректе?
Что лучше: canonical или 301 редирект?
Сколько времени Google обрабатывает 301 редирект?
Нужно ли проверять редиректы после настройки?
Что делать с битыми ссылками после удаления страниц?
Check it with SpiderHead
Free and local: run the audit on your own machine.



