Редиректы 301 и 302: когда и какой использовать
Неправильно выбранный редирект может обнулить позиции после переезда или редизайна. Объясняем разницу между 301 и 302 и показываем, как настраивать перенаправления без потерь.
// содержание статьи
Редирект — это автоматическое перенаправление посетителя и робота с одного адреса на другой. Человек его почти не замечает: ввёл старый адрес, оказался на новой странице. А вот для поисковой системы важен не только сам факт перенаправления, но и его тип. От того, какой код ответа отдаёт сервер, зависит, какой адрес останется в индексе и перейдут ли на новую страницу накопленные позиции.
Чаще всего в работе встречаются два кода: 301 и 302. Разница между ними кажется формальностью, пока не случается переезд сайта, после которого половина трафика исчезает. В этой статье — без лишней теории: что означает каждый код, в каких ситуациях его использовать и как проверить, что всё настроено правильно.
Коротко о кодах ответа
Когда браузер или робот запрашивает страницу, сервер первым делом отвечает трёхзначным кодом. Коды, начинающиеся с тройки, означают: «то, что вы ищете, находится в другом месте».
Основные варианты:
- 301 Moved Permanently — страница переехала навсегда. Старый адрес больше не нужен.
- 302 Found — страница временно доступна по другому адресу. Старый адрес вернётся.
- 307 Temporary Redirect — строгий аналог 302, который гарантирует сохранение метода запроса. Для SEO ведёт себя как 302.
- 308 Permanent Redirect — строгий аналог 301. Для поиска равнозначен 301, но поддерживается не всеми старыми клиентами.
На практике в 95 % случаев выбор стоит между 301 и 302, поэтому дальше говорим о них.
Как поисковики понимают 301 и 302
Постоянный редирект
Получив 301, поисковая система делает вывод: старый адрес устарел, в индексе должен быть новый. Со временем старый адрес исчезает из выдачи, а новая страница получает его историю, ссылочные сигналы и, при прочих равных, его позиции.
Передача не мгновенная. Роботу нужно переобойти старые адреса, увидеть редирект и пересчитать сигналы. Обычно на это уходит от нескольких дней до пары месяцев в зависимости от размера сайта и частоты обхода.
Временный редирект
Получив 302, поисковик считает, что основной адрес — старый. В индексе остаётся именно он, а целевая страница рассматривается как временная замена. Если держать 302 долго, Google со временем может начать трактовать его как постоянный, но полагаться на это не стоит: Яндекс ведёт себя консервативнее, и склейка может не произойти вовсе.
Сравнение в одной таблице
| Параметр | 301 | 302 |
|---|---|---|
| Смысл | Страница переехала навсегда | Страница временно в другом месте |
| Какой адрес остаётся в индексе | Новый | Старый |
| Передача ссылочных сигналов | Да | Не гарантируется |
| Кешируется браузером | Да, надолго | Обычно нет |
| Типичное применение | Переезд, смена структуры, склейка дублей | Акции, технические работы, A/B-тесты |
| Риск при ошибочном выборе | Трудно откатить из-за кеша браузеров | Новый адрес не набирает позиции |
Когда нужен 301
Используйте постоянный редирект во всех случаях, когда старый адрес больше не должен жить.
- Переезд на новый домен. Каждая страница старого домена перенаправляется на соответствующую страницу нового.
- Переход на HTTPS. Все адреса с HTTP ведут на защищённую версию. Подробнее об этом — в статье про HTTPS и безопасность.
- Склейка зеркал. Версия с www и без, со слешем на конце и без — всё сводится к одному формату.
- Смена структуры адресов. Например, при переходе с адресов вида /product.php?id=15 на понятные /catalog/divany/uglovoy-milan/.
- Объединение страниц. Две слабые статьи на одну тему сливаются в одну сильную, со второй ставится 301.
- Удаление страницы, у которой есть замена. Товар снят с производства, но есть новая модель — ведите на неё или в категорию.
Когда уместен 302
Временный редирект нужен реже, но у него есть своя ниша.
- Временная акция. Главная страница раздела на время распродажи перенаправляет на страницу акции, а после её окончания всё возвращается.
- Технические работы. Раздел закрыт на обновление, посетителей временно отправляют на заглушку. Правда, для полного закрытия сайта правильнее отдавать код 503.
- Тестирование. Часть трафика отправляется на новую версию страницы для сравнения.
- Геолокация и язык. Посетителя перенаправляют на региональную версию, но основной адрес должен остаться в индексе.
- Товар временно отсутствует. Если он вернётся через неделю, можно временно вести в категорию, сохранив исходный адрес. Хотя чаще лучше оставить страницу с пометкой — об этом подробно в материале о товарах, которых нет в наличии.
Главный вопрос, который стоит себе задать: «Вернётся ли старый адрес?» Если да — 302. Если нет или вы не уверены — скорее всего, 301.
Ошибки, которые встречаются чаще всего
302 вместо 301 при переезде
Самая дорогая ошибка. Многие CMS и модули по умолчанию ставят временный редирект. Сайт переехал, новый домен работает, но в индексе остаются старые адреса, а новые не набирают позиции. Проверяйте код ответа сразу после настройки.
Цепочки редиректов
Адрес А ведёт на Б, Б — на В, В — на Г. Так бывает, когда сайт переезжал несколько раз и каждый раз редиректы добавлялись поверх старых. Каждый шаг замедляет загрузку, а поисковики могут прекратить следовать по цепочке после нескольких переходов. Решение — перенастроить все старые адреса сразу на конечную страницу.
Циклические редиректы
А ведёт на Б, а Б — обратно на А. Браузер показывает ошибку «слишком много перенаправлений», страница недоступна ни людям, ни роботу. Часто возникает при конфликте правил сервера и настроек CMS, например при одновременной настройке HTTPS в двух местах.
Массовый редирект на главную
При удалении раздела все его страницы перенаправляют на главную. Поисковики расценивают такой редирект как мягкую ошибку 404 и не передают сигналы. Перенаправлять нужно на максимально близкую по смыслу страницу, а если её нет — честно отдавать 404 или 410.
Редиректы во внутренних ссылках
Редирект настроен, но в меню, хлебных крошках и тексте статей остались ссылки на старые адреса. Каждый клик — лишний запрос к серверу, а робот тратит бюджет обхода. После настройки перенаправлений обязательно обновите внутреннюю перелинковку.
Переезд сайта: пошаговый план
Переезд на новый домен или новую CMS — момент, когда редиректы решают всё. Вот порядок, по которому мы работаем.
- Соберите все старые адреса. Источники: карта сайта, выгрузка краулера, панели вебмастеров, данные Метрики о страницах входа, логи сервера. Не забудьте страницы, на которые ведут внешние ссылки.
- Составьте таблицу соответствия. Каждому старому адресу — новый. Для страниц без аналога — ближайший раздел.
- Настройте 301 на уровне сервера. Правила на сервере работают быстрее и надёжнее, чем плагины CMS.
- Проверьте выборку. Прогоните все старые адреса через краулер: у каждого должен быть один переход с кодом 301 на страницу с кодом 200.
- Обновите внутренние ссылки, canonical и карту сайта на новые адреса.
- Сообщите поисковикам. В Яндекс Вебмастере используйте инструмент переезда, в Search Console — инструмент смены адреса, если меняется домен.
- Сохраняйте редиректы долго. Минимум год, а лучше бессрочно: внешние ссылки и закладки продолжают вести на старые адреса.
Для компании по установке окон в Самаре мы переносили сайт с конструктора на новую CMS со сменой всей структуры адресов. Таблица соответствия насчитывала около 1 200 строк. Благодаря полной карте редиректов органический трафик просел лишь на две недели и затем вырос выше прежнего уровня за счёт новой структуры.
Как проверить редирект
Способов несколько, и все простые.
- Инструменты разработчика в браузере. На вкладке сети видны все запросы и их коды. Включите сохранение журнала, чтобы видеть переходы.
- Сервисы проверки ответа сервера. Показывают цепочку редиректов и код на каждом шаге. Есть такой инструмент и в Яндекс Вебмастере.
- Краулер. Незаменим для массовой проверки: загружаете список старых адресов и смотрите итоговые коды.
- Командная строка. Для технических специалистов — запрос заголовков ответа утилитой curl с ключом, показывающим только заголовки.
Пример того, как выглядят правила на сервере nginx для перенаправления отдельной страницы и целого раздела:
location = /old-page/ {
return 301 /new-page/;
}
location /stariy-razdel/ {
rewrite ^/stariy-razdel/(.*)$ /noviy-razdel/$1 permanent;
}
Ключевое слово permanent в правиле rewrite означает именно 301. Если написать redirect, получится временный 302 — одна из тех мелочей, на которых ошибаются даже опытные разработчики.
Выводы
Выбор между 301 и 302 сводится к одному вопросу: вернётся ли старый адрес. Всё остальное — аккуратность исполнения:
- постоянные изменения — только 301, временные — 302 или 307;
- после настройки всегда проверяйте фактический код ответа;
- избегайте цепочек и циклов, ведите сразу на конечный адрес;
- не сваливайте удалённые страницы на главную;
- при переезде готовьте полную таблицу соответствия и сохраняйте редиректы как можно дольше;
- обновляйте внутренние ссылки, чтобы они вели на конечные адреса без перенаправлений.
Если вы планируете переезд, редизайн или смену CMS, лучше подключить специалиста до запуска, а не после падения трафика. Мы сопровождаем такие проекты в рамках технической оптимизации, а если позиции уже просели — поможем найти причину и восстановить их.
$ help --seo
Хотите применить это на своём сайте?
Посмотрим сайт и подскажем, какие шаги дадут результат быстрее всего. Разбор бесплатный.