Редирект 301

HTTP-статус «Moved Permanently»: сообщает браузеру и поисковым роботам, что ресурс окончательно переехал на новый URL. Передаёт ссылочный вес, кешируется браузером и применяется для постоянных коротких ссылок.

Редирект 301 — HTTP-статус 301 Moved Permanently, описанный в RFC 7231. Когда сервер возвращает этот код, он добавляет в ответ заголовок Location с новым адресом. Браузер немедленно переходит туда, не показывая пользователю промежуточный экран, а поисковый робот помечает исходный URL как устаревший и переносит его авторитетность на целевую страницу.

Ключевая особенность 301 — агрессивное кеширование. Браузер сохраняет факт перенаправления и при повторном запросе того же URL не обращается к серверу: он сразу открывает закешированный пункт назначения. Это ускоряет загрузку для пользователя, но создаёт проблему, если вы захотите изменить цель: старый редирект останется в кеше до его принудительной очистки. Именно поэтому в динамическом QR постоянный 301 неприменим — сократить ссылку с возможностью смены назначения можно только через временный редирект, который не кешируется клиентом.

301 vs 302 vs 307 vs 308

  • 301 Moved Permanently — постоянный редирект, браузер кеширует, поисковик передаёт ссылочный вес. Метод запроса может измениться с POST на GET (по исторической практике браузеров).
  • 302 Found — временный редирект, не кешируется. Используется, когда страница временно недоступна или идёт A/B-тест. Поисковик сохраняет исходный URL в индексе.
  • 307 Temporary Redirect — временный, метод запроса строго сохраняется (POST остаётся POST). Применяется в API и формах, где важна семантика метода.
  • 308 Permanent Redirect — постоянный аналог 307: кешируется и передаёт вес, как 301, но метод не меняется. Полезен при миграции POST-эндпоинтов.
  • Мета-редирект и JS redirect — не HTTP-коды, а клиентские механизмы; поисковики обрабатывают их хуже и не гарантируют передачу веса.

Когда выбрать 301

Редирект 301 — правильный выбор в четырёх ситуациях: смена домена (example.ru → example.com), склейка зеркал (www и без www на один канонический адрес), постоянное перемещение страницы внутри сайта, а также короткая ссылка, цель которой никогда не изменится. Во всех этих случаях вы намеренно сигнализируете поисковику: «исходный URL больше не существует, переноси весь авторитет сюда».

Однако если URL используется в динамическом vs статическом QR-коде, ставить 301 нельзя. Динамический QR-код — это короткий URL, цель которого можно менять в личном кабинете. Если сервер однажды ответил 301, браузер пользователя закешировал редирект. При следующем сканировании он откроет старую цель, минуя сервер, и не узнает об изменении. Для динамических ссылок правильный выбор — 302 или 307.

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

Передаёт ли редирект 301 ссылочный вес (link juice) полностью?

Да, Google и большинство поисковиков официально заявляют, что 301 передаёт ссылочный вес в полном объёме. Ранние эксперименты SEO-специалистов фиксировали потери около 15%, однако с 2016 года Google подтвердил: корректно настроенный 301 не снижает передаваемый авторитет. Важно, чтобы цепочка редиректов была короткой — каждое дополнительное звено добавляет задержку и теоретически может уменьшать вес. Оптимально: один редирект от исходного URL до финального, без промежуточных остановок.

Как очистить кеш редиректа 301 в браузере?

Браузер сохраняет 301-редирект без заголовка Expires на неопределённый срок — иногда до нескольких месяцев. Чтобы очистить: в Chrome откройте DevTools → Network → установите галочку «Disable cache», затем выполните жёсткую перезагрузку страницы (Ctrl+Shift+R / Cmd+Shift+R). Полная очистка — через «Настройки → Конфиденциальность → Очистить данные → Кешированные изображения и файлы». Пользователи редко делают это самостоятельно, поэтому смена цели 301-редиректа — рискованная операция: часть аудитории будет видеть старый адрес ещё долгое время.

Чем отличается редирект на стороне сервера от мета-редиректа?

HTTP-редирект (301, 302 и др.) срабатывает до того, как браузер начинает рендерить страницу: сервер возвращает код статуса и заголовок Location, браузер мгновенно переходит. Мета-редирект (<meta http-equiv="refresh">) — инструкция внутри HTML: браузер сначала загружает и разбирает страницу, потом выполняет переход. Это медленнее, создаёт мерцание и хуже обрабатывается поисковиками. Google понимает мета-редиректы, но относит их к менее надёжным сигналам, чем HTTP 301. Для SEO и производительности всегда предпочтительнее серверный редирект.