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

Редирект — это автоматическое перенаправление браузера с одного URL на другой. Когда сервер получает запрос на старый адрес, он отвечает специальным HTTP-кодом (3xx) и указывает новый адрес в заголовке Location.

Типичные причины использования редиректов:

Коды редиректов: 301, 302, 307, 308

КодНазваниеТипМетод запроса
301 Moved Permanently Постоянный Может измениться на GET
302 Found (Moved Temporarily) Временный Может измениться на GET
307 Temporary Redirect Временный Сохраняется (POST остаётся POST)
308 Permanent Redirect Постоянный Сохраняется (POST остаётся POST)

301 — Постоянный редирект

Сообщает браузеру и поисковикам: «этот URL навсегда переехал сюда». Браузер кэширует редирект — в следующий раз сразу откроет новый URL без запроса к серверу. Google передаёт PageRank (ссылочный вес) по 301.

302 — Временный редирект

Сообщает: «сейчас по этому URL смотри вот сюда, но старый URL останется». Браузер не кэширует, поисковик сохраняет оригинальную страницу в индексе. Подходит для A/B тестирования, временных акций.

307 и 308 — современные аналоги

301 и 302 имеют исторический баг: браузеры превращают POST в GET при редиректе. 307 (временный) и 308 (постоянный) гарантируют что метод HTTP сохраняется. Используйте их для форм и API.

ℹ️ Практика: для большинства случаев достаточно знать 301 (постоянный переезд) и 302 (временно). 307 и 308 нужны только при работе с POST-запросами.

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

СитуацияИспользуйте
Переезд сайта на новый домен навсегда301
HTTP → HTTPS301
www → без www (или наоборот)301
Страница удалена, есть похожая301
Временная акционная страница302
A/B тестирование302
Технические обслуживание (на пару часов)302 или 503
Редирект после POST-формы (login, checkout)303
Постоянный редирект с сохранением метода308

Влияние редиректов на SEO

Редиректы — важная тема для SEO. Несколько правил:

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

Google официально подтверждает: 301 передаёт «практически весь» PageRank новой странице. На практике — потери есть, но они минимальны (1-15%). Длинные цепочки редиректов теряют больше.

302 сохраняет старую страницу в индексе

При 302 Google продолжает индексировать и ранжировать исходный URL. Если вы хотите чтобы поисковик переключился на новый URL — используйте 301.

Цепочки редиректов теряют вес

Если A → B → C — это два редиректа. Google проходит их, но каждый переход немного «размывает» вес. Идеал: один прямой редирект A → C.

Критические ошибки:
  • Редирект петля (A → B → A) — сайт недоступен
  • 302 вместо 301 при постоянном переезде — Google не переносит ранжирование
  • Цепочка из 5+ редиректов — поисковики могут не дойти до конца
  • Редирект всего сайта на главную — потеря всего ссылочного веса подстраниц

Цепочки редиректов и redirect loop

Цепочка редиректов — когда URL А → Б → В → Г. Каждый переход добавляет задержку (~100-200 мс) и потенциально теряет SEO-вес. Длинные цепочки часто возникают при:

Redirect loop (петля) — A перенаправляет на B, B перенаправляет на A. Браузер прерывает запрос после нескольких итераций и показывает ошибку «ERR_TOO_MANY_REDIRECTS».

⚠️ Частая причина петли: настройка HTTP→HTTPS редиректа на сервере когда SSL терминируется на балансировщике/прокси. Сервер не «видит» HTTPS и снова редиректирует. Решение: проверять заголовок X-Forwarded-Proto.

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

Воспользуйтесь нашим инструментом:

🔀 Проверить редиректы → 📄 HTTP заголовки

Показывает полную цепочку переходов, код каждого шага, время и конечный URL

Через командную строку:

# Показать все редиректы
curl -I -L https://example.com

# Показать каждый шаг подробно
curl -v -L --max-redirs 10 https://example.com 2>&1 | grep -E 'HTTP/|Location:'

Настройка редиректов на сервере

nginx

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

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

# Старая страница → новая
location /old-page/ {
    return 301 /new-page/;
}

Apache (.htaccess)

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

# Конкретная страница
Redirect 301 /old-page/ https://example.com/new-page/

Cloudflare (Page Rules / Redirect Rules)

В панели Cloudflare: Rules → Redirect Rules → Create Rule. Можно настроить любые условия без касания сервера. Cloudflare применяет редирект на своей стороне, что быстрее (ответ приходит с CDN-узла).

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

Сколько редиректов допустимо в цепочке?

Технически браузеры обрабатывают до 20-30 редиректов. Google рекомендует не более 3-5. Для скорости и SEO — стремитесь к одному прямому редиректу. Проверяйте цепочки регулярно — они накапливаются со временем.

Как долго Google обрабатывает 301 при переезде?

Видимый эффект — обычно 2-4 недели. Полный перенос ссылочного веса — до 3-6 месяцев. Не убирайте редиректы раньше чем через год — часть ссылок с других сайтов всё ещё ведёт на старые URL.

Что лучше: 301 или канонический тег?

Зависит от задачи. 301 — для реального переезда, когда старый URL больше не нужен. Canonical — для дублирующегося контента в рамках одного сайта (например, страницы с параметрами сортировки). Если вы хотите чтобы Google перешёл на новый URL навсегда — используйте 301.

ERR_TOO_MANY_REDIRECTS — как исправить?

Это redirect loop. Проверьте через наш инструмент — он покажет где возникает петля. Частые причины: конфликт HTTPS-редиректов (сервер + .htaccess), неправильный редирект www ↔ без www, плагин кэширования WordPress с устаревшими правилами.

🛠️ Попробуйте наши инструменты

📄 HTTP заголовки Заголовки и анализ безопасности Время ответа TTFB, HTTP ответ 🔒 SSL проверка Сертификат, срок, цепочка 🌐 cURL эмулятор HTTP запрос с нашего сервера 🔬 Анализатор сайта Полный анализ сервера