Редирект 301 и 302 — это HTTP-коды перенаправления, которые говорят браузеру и поисковому роботу, что страница переехала. Код 301 означает переезд навсегда и передает сигналы старой странице новому адресу, 302 — временный переезд, после которого старый URL должен вернуться. Неправильный выбор кода — типичная причина падения позиций при миграции сайта.
301 говорит поисковику: «эта страница теперь здесь, забудьте старый адрес». 302 говорит: «страница скоро вернётся, не переносите ничего». Постоянные переезды оформляют 301, временные — 302. Ошибка в выборе кода замедляет или отменяет перенос ссылочного веса.
- Подойдёт: всем, кто меняет структуру URL, переезжает на новый домен, склеивает зеркала или удаляет дубли.
- Не подойдёт: тем, кто хочет «спрятать» страницу от индекса редиректом — для этого существуют noindex и закрытие в robots.txt.
Кому важно разобраться в редиректах
Рекомендуется:
- Владельцам сайтов, которые переезжают на новый домен или меняют CMS с другой структурой адресов.
- Веб-мастерам, чистящим дубли: страницы с параметрами, версии с www и без, http и https.
- Маркетологам, запускающим временные акции на отдельных адресах.
Не подходит:
- Тем, кто пытается решить проблему качества контента редиректом: переброска пустых страниц на главную не спасает позиции.
- Ситуациям, когда нужно убрать страницу из индекса: редирект лишь указывает на замену, а не скрывает контент.
Чем 301 отличается от 302 на уровне протокола
Код 301 Moved Permanently входит в базовый набор HTTP, определённый в RFC 9110: он сообщает, что ресурсу назначен новый постоянный адрес, и будущие запросы стоит отправлять туда. Код 302 Found в исходной формулировке оставался неоднозначным — практика показала, что клиенты не всегда сохраняют метод запроса, поэтому стандарт позднее уточнил его отдельными кодами 307 и 308, о которых MDN подробно пишет в справке по 302. Для практики это означает: 302 — Temporary Redirect, и поисковая система обязана трактовать его как временную меру.
Разница для SEO именно в этой трактовке. Получив 301, поисковик начинает выкидывать старый URL из индекса и приписывает его накопленные сигналы (ссылки, релевантность, историю) новому адресу. Получив 302, он сохраняет старый URL в индексе и ждёт возвращения контента на старое место. Если 302 стоит месяцами, поисковик со временем сам может счесть переезд постоянным, но это ненадёжное поведение, на которое нельзя закладываться.
Когда какой код нужен: таблица решений
| Ситуация | Код | Почему | Проверка |
|---|---|---|---|
| Переезд на новый домен | 301 | Старый домен больше не вернётся | Каждый старый URL ведёт на релевантный новый |
| Смена структуры URL (new CMS, новые чпу) | 301 | Адреса меняются навсегда | Карта редиректов 1:1 со старыми адресами |
| Склейка www/без www, http/https | 301 | Канонический адрес один навсегда | Один редирект, без цепочек |
| Временная акция или лендинг | 302 | После акции старая страница вернётся | Снять редирект сразу после акции |
| Технические работы на разделе | 302 (или 503) | Изменение временное | Старые URL остаются в индексе |
| A/B-тест новой страницы | 302 | Победитель ещё не выбран | Не путать с cloaking: контент близкий |
Отдельный случай — так называемый «вечный» 302. Если временная страница внезапно становится постоянной, не оставляйте 302 на годы: смените код на 301, иначе часть ссылочного веса так и останется на старом адресе. Это одна из самых частых ошибок после переделки структуры сайта.
Как мигрировать страницы: пошаговый план
-
Шаг 1: Составьте карту соответствия адресов
Выгрузите все индексируемые URL старого сайта (из sitemap, Search Console, краулера) и для каждого назначьте новый адрес. Правило: страница переезжает на максимально релевантную страницу, а не массово на главную. Полный редирект всего сайта на главную поисковики расценивают как soft 404.
-
Шаг 2: Настройте редиректы на сервере
Для Apache правила живут в .htaccess, для Nginx — в конфиге сервера. Пример массового переноса раздела с сохранением вложенности:
# Apache (.htaccess) RedirectMatch 301 ^/blog/staryj-razdel/(.*)$ https://site.ru/novyj-razdel/$1 # Nginx location ~ ^/blog/staryj-razdel/(.*)$ { return 301 https://site.ru/novyj-razdel/$1; } # Один адрес Redirect 301 /old-page.html https://site.ru/new-page.htmlДля Node.js и Express постоянный редирект одной строкой:
res.redirect(301, 'https://site.ru/new-page'). В CMS (WordPress с плагинами редиректов, Joomla, Bitrix) перенаправления задаются в админке — убедитесь, что плагин отдаёт именно 301, а не 302: некоторые по умолчанию ставят временный код. -
Шаг 3: Обновите внутренние ссылки и sitemap
Редирект — страховка, а не замена перелинковки. Все внутренние ссылки, меню, хлебные крошки должны сразу вести на новые адреса: каждый внутренний переход через редирект — лишний сетевой хоп и расход краулингового бюджета. В sitemap.xml указывайте только финальные адреса, без редиректов. Как правильно оформить карту сайта и не наделать ошибок в robots.txt, разобрано в статье про sitemap.xml и robots.txt.
-
Шаг 4: Сообщите поисковикам о переезде
В Google Search Console при смене домена используйте инструмент «Переезд сайта» после настройки 301. В Яндекс Вебмастере — раздел «Переезд сайта». Обновите canonical на новых страницах, проверьте, что новый домен добавлен в обе панели и что старый не закрыт от индексации раньше времени — иначе робот не увидит редиректы.
-
Шаг 5: Проверьте каждую группу адресов
Прогоните выборку старых URL инструментом проверки кода: код должен быть 301 (или осознанный 302), финальный адрес — релевантным, без цепочек. После переезда следите за отчётами индексации несколько недель: часть страниц может «зависнуть» на старых адресах — это нормально, но рост числа исключений стоит расследовать.
Подводные камни и частые ошибки
- 302 вместо 301 при постоянном переезде: самая дорогая ошибка. Панели хостинга и плагины нередко ставят 302 «по умолчанию». Всегда проверяйте фактический код ответа, а не настройки в интерфейсе.
- Цепочки и петли редиректов: A ведёт на B, B на C, C на D. Каждый хоп — потеря скорости и размытие сигналов; длинные цепочки робот может вообще не пройти. Настраивайте редиректы так, чтобы любой старый адрес попадал на финальный сразу.
- Массовый редирект на главную: страницы без прямого аналога отправляют на домен целиком. Поисковик видит несоответствие контента и трактует это как мягкую 404. Лучше отдать релевантный раздел или честную 404 с навигацией.
- Редирект после удаления страниц из индекса: если старые URL закрыты в robots.txt или удалены из индекса, робот перестаёт их запрашивать и не видит редирект. Настройте перенаправления до любых ограничений индексации, а снимайте их после переезда.
- Забытые старые ссылки в письмах и рекламе: они продолжают работать через редиректы годами, поэтому 301-карту нельзя удалять сразу — держите её активной минимум год.
Как проверить редиректы: инструменты
Быстрая проверка одного адреса — curl в терминале. Флаг -I запрашивает заголовки, -L следует за редиректами и показывает всю цепочку:
curl -sIL https://site.ru/old-page | grep -iE "HTTP|location"
В браузере откройте вкладку Network в инструментах разработчика и посмотрите колонку Status при загрузке страницы. Для массовой проверки всего сайта используйте краулеры: Screaming Frog (лимит бесплатной версии — 500 URL), Netpeak Spider, а также отчёты индексации в Search Console и Вебмастере. Список бесплатных инструментов для такого аудита собран в материале про SEO-инструменты, а порядок проверки чужого сайта редиректами и кодами ответов описан в разборе аудита чужого сайта. Сама переадресация — лишь один из сигналов; следить за динамикой позиций и индексом после миграции удобнее по регламенту из статьи про SEO-мониторинг.
Контрольный чек-лист
- [ ] Для каждого старого URL назначен релевантный новый адрес (карта 1:1)
- [ ] Постоянные переезды отдают 301, временные — 302
- [ ] Нет цепочек: любой старый адрес ведёт на финальный за один переход
- [ ] Внутренние ссылки обновлены на новые адреса
- [ ] sitemap.xml содержит только финальные URL
- [ ] Переезд заявлен в Search Console и Яндекс Вебмастере
- [ ] Код ответа проверен curl или краулером на выборке страниц
- [ ] Редиректы не сняты: карта хранится минимум год
- [ ] Динамика индексации и позиций отслеживается 4–8 недель после миграции
Часто задаваемые вопросы
Когда использовать 301, а когда 302 редирект?
301 ставят для постоянных переездов: новый домен, смена структуры URL, удаление дубликатов. 302 — для временных ситуаций: распродажа на отдельном адресе, технические работы, тест новой страницы. Правило простое: если старый адрес больше никогда не вернётся — 301, если вернётся — 302.
Передаёт ли 302 редирект ссылочный вес?
Полноценно — нет. Поисковик понимает 302 как временное перенаправление и продолжает держать старую страницу в индексе, ожидая её возврата. Ссылочные сигналы в основном остаются привязанными к старому адресу. Если переезд фактически постоянный, 302 со временем консолидирует сигнал, но медленнее и ненадёжнее, чем 301.
Сколько редиректов можно ставить в цепочке?
Один. Каждая страница должна вести на конечный адрес напрямую, без промежуточных переходов. Цепочки из двух и более редиректов замедляют загрузку, размывают сигналы при передаче веса и тратят лимит обхода поискового робота. Цепочку собирайте так, чтобы любой старый URL сразу указывал на актуальный.
Как проверить, какой редирект отдает страница?
В терминале: curl -I -L https://site.ru/old-page — в выводе видны все коды ответов по цепочке. Альтернативы: вкладка Network в инструментах разработчика браузера, отчёт «Проверка URL» в Google Search Console и инструмент «Проверка ответа сервера» в Яндекс Вебмастере. Смотрите код, финальный адрес и отсутствие лишних переходов.
Вывод
Выбор между 301 и 302 сводится к одному вопросу: вернётся ли старый адрес. Постоянный переезд — всегда 301, временный — 302, и менять код нужно сразу, как только характер переезда поменялся. Техническая часть миграции проста: карта соответствия адресов, редиректы на уровне сервера без цепочек, обновлённые внутренние ссылки и sitemap. Основной риск — не в настройке, а в невнимательности: 302 по умолчанию в панели хостинга и массовый редирект на главную роняют трафик надёжнее любого алгоритма. Требования к мобильной версии при переезде проверяйте по аудиту mobile-first индексации, а общее состояние сайта после миграции — по чек-листу технического SEO.
Инструмент Дня