Редирект (перенаправление) — это ответ сервера «этой страницы здесь больше нет, идите по другому адресу». Браузер автоматически переходит на новый URL, а поисковый робот получает сигнал, что делать с адресом в индексе. Редиректы нужны при переезде на HTTPS, смене домена, изменении структуры URL, объединении страниц и удалении товаров.
Коды перенаправления: 301, 302, 307, 308
| Код | Название | Постоянный? | Сохраняет метод запроса | Когда использовать |
|---|---|---|---|---|
| 301 | Moved Permanently | Да | Нет (POST может стать GET) | Постоянный переезд страницы или сайта |
| 302 | Found | Нет | Нет | Временное перенаправление: акция, A/B-тест |
| 307 | Temporary Redirect | Нет | Да | Временное, когда важно сохранить POST |
| 308 | Permanent Redirect | Да | Да | Постоянное, с сохранением метода (API, формы) |
Для обычного сайта на практике хватает двух: 301 для постоянных изменений и 302 для временных. Коды 307 и 308 важны для API и отправки форм, где нельзя превращать POST в GET.
Отдельно стоит HSTS: браузер может сам показать «внутренний» 307 при переходе с HTTP на HTTPS — это не ответ вашего сервера, а кэш браузера.
Как редиректы влияют на SEO
- 301 и 308 — сигнал для Google и Яндекса заменить старый адрес в индексе новым и перенести на него накопленные сигналы (ссылки, историю). Склейка занимает от нескольких дней до нескольких недель.
- 302 и 307 — старый адрес остаётся основным. Подходит, если вы действительно вернёте страницу.
- Редирект на нерелевантную страницу (например, все удалённые товары на главную) Google может расценить как «мягкую 404» — веса это не передаст. Лучше вести на ближайшую категорию или аналогичный товар.
- Яндекс раньше поддерживал директиву
Hostв robots.txt для выбора главного зеркала; с 2018 года её заменил 301-й редирект. Для смены домена или протокола в Яндекс Вебмастере есть инструмент «Переезд сайта».
Цепочки и циклы
Цепочка: http://example.ru → https://example.ru → https://www.example.ru → https://www.example.ru/. Четыре шага вместо одного: замедление и риск, что робот не дойдёт до конца (Google следует максимум примерно 10 переходам за раз).
Цикл: A ведёт на B, а B обратно на A. Браузер показывает ERR_TOO_MANY_REDIRECTS. Частая причина — конфликт правил: CMS перенаправляет на www, а сервер или CDN — на домен без www; или CDN общается с сервером по HTTP, а сервер требует HTTPS.
Проверьте любой адрес в проверке редиректов: инструмент покажет каждый шаг, код ответа и конечный URL. Цель — максимум один переход.
Примеры настройки
Сгенерировать правила под свой случай можно в генераторе 301 редиректа. Ниже — типовые варианты.
Apache (.htaccess)
Одна страница:
Redirect 301 /old-page/ https://example.ru/new-page/
HTTPS и домен без www одним правилом:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://example.ru/$1 [L,R=301]
Смена раздела каталога:
RewriteRule ^catalog/(.*)$ /shop/$1 [L,R=301]
nginx
server {
listen 80;
listen 443 ssl;
server_name www.example.ru;
return 301 https://example.ru$request_uri;
}
location = /old-page/ {
return 301 /new-page/;
}
Временный редирект
Redirect 302 /sale/ https://example.ru/black-friday/
После изменений проверьте заголовки ответа в проверке HTTP-заголовков: должен быть нужный код и правильный Location.
Переезд сайта: порядок действий
- Составьте карту соответствий «старый URL → новый URL» для всех страниц, которые имеют трафик или внешние ссылки. Таблица в Excel или Google Sheets подойдёт.
- Настройте 301-е редиректы один к одному, без промежуточных шагов.
- Обновите внутренние ссылки, canonical и sitemap на новые адреса — внутренние ссылки не должны вести через редирект.
- Сообщите поисковикам: Google Search Console (инструмент «Изменение адреса» при смене домена) и Яндекс Вебмастер («Переезд сайта»).
- Следите за ошибками 404 в обеих панелях ещё несколько недель.
- Не удаляйте редиректы минимум год, а лучше — никогда.
Редиректы и параметры URL
Отдельная тема — адреса с параметрами и слешами. Для поисковиков example.ru/catalog, example.ru/catalog/ и example.ru/catalog/index.php — три разных URL. Выберите один формат и перенаправляйте остальные на него 301-м редиректом. Пример для Apache, который добавляет завершающий слеш к адресам без расширения:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Также важно сохранять GET-параметры при переадресации, если они нужны (UTM-метки рекламных кампаний). В nginx переменная $request_uri уже содержит параметры, а в Apache флаг QSA или поведение по умолчанию переносит строку запроса.
Регистр букв тоже имеет значение: /Catalog/ и /catalog/ на Linux-сервере — разные адреса. Если в старых ссылках встречаются заглавные буквы, настройте перенаправление на вариант в нижнем регистре.
Сколько «стоит» редирект для скорости
Каждый переход — это дополнительный запрос к серверу, а для перехода на другой домен — ещё и DNS-запрос и новое TLS-соединение. На мобильной сети один редирект может добавлять 100–300 мс. Поэтому рекламные ссылки, ссылки в email-рассылках и QR-коды лучше сразу вести на конечный адрес, а не через цепочку сокращателей и редиректов.
Типичные ошибки
- Все старые страницы перенаправлены на главную.
- Использован 302 при постоянном переезде.
- Редирект через JavaScript или meta refresh вместо серверного 301.
- Внутренние ссылки сайта ведут на адреса с редиректом.
- Цепочки после нескольких переездов: старые правила не обновили под новый домен.
- Правила для
wwwи HTTPS в разных местах (CMS, сервер, CDN) противоречат друг другу.
Чек-лист
- Постоянные изменения — 301 (или 308), временные — 302 (или 307).
- Каждый старый URL ведёт на конечный адрес за один шаг.
- Нет циклов при входе по HTTP, HTTPS, с
wwwи без. - Удалённые страницы ведут на релевантные замены, а не на главную.
- Внутренние ссылки, canonical и sitemap обновлены.
- Переезд отмечен в Search Console и Яндекс Вебмастере.
Если переадресация нужна для перехода на защищённый протокол, начните с гайда Что такое SSL-сертификат.