При настройке переадресации веб-мастера часто сталкиваются с выбором: использовать 301 или 302 код ответа? На первый взгляд, для пользователя результат одинаков — он попадает на новую страницу. Но для поисковых систем (Яндекс, Google) разница колоссальна, и неправильный выбор может привести к потере позиций в выдаче.
Что такое HTTP-редиректы?
HTTP-редиректы — это ответы сервера, которые сообщают браузеру или поисковому роботу, что запрашиваемый ресурс доступен по другому адресу. Когда сервер возвращает код 3xx, в заголовке Location указывается новый URL, куда должен перейти клиент.
Технический пример ответа сервера:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page
Content-Length: 0
Существует несколько типов редиректов (301, 302, 303, 307, 308), но в повседневной практике чаще всего используются 301 и 302.
301 Moved Permanently (Постоянно перемещён)
Код 301 говорит поисковому роботу: «Старая страница больше не существует по этому адресу. Забудь её и индексируй только новую».
Как работает 301
При получении ответа 301 поисковые системы:
- Переносят все накопленные ссылочные сигналы (PageRank, ИКС) на новый URL
- Постепенно удаляют старый URL из индекса
- Начинают ранжировать новый URL вместо старого
- Кэшируют редирект — при следующем обращении могут сразу идти на новый адрес
Когда использовать 301
- Переезд на новый домен — например, с
company.comнаcompany.ruили при смене бренда - Переход на HTTPS — с
http://site.ruнаhttps://site.ru - Смена структуры URL — например,
/blog/post-nameстал/articles/post-name - Объединение сайтов — при слиянии нескольких доменов в один
- Склейка зеркал — редирект с
www.site.ruнаsite.ruили наоборот - Удаление страницы — если есть релевантная замена, лучше сделать 301, чем показывать 404
- Исправление опечаток в URL — редирект с неправильного написания на правильное
Пример настройки 301 в Nginx
# Редирект с www на без www
server {
listen 80;
server_name www.example.com;
return 301 https://example.com$request_uri;
}
# Редирект конкретной страницы
location = /old-page {
return 301 /new-page;
}
# Редирект с HTTP на HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
Пример настройки 301 в Apache (.htaccess)
# Включаем mod_rewrite
RewriteEngine On
# Редирект домена
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]
# Редирект страницы
Redirect 301 /old-page https://example.com/new-page
# Редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Влияние 301 на SEO
| Параметр | Эффект |
|---|---|
| Ссылочный вес | Передаётся на новый URL (примерно 90-99%) |
| Позиции в поиске | Новый URL наследует позиции старого |
| Индексация | Старый URL удаляется из индекса |
| Скорость обработки | Google: 3-6 месяцев, Яндекс: 2-4 недели |
Важно: Google официально подтвердил, что 301 редирект больше не теряет PageRank (ранее терялось около 15%). Теперь весь ссылочный вес передаётся полностью.
302 Found (Временно перемещён)
Код 302 ранее назывался «Moved Temporarily». Он сообщает роботу: «Эта страница сейчас временно доступна по другому адресу, но скоро вернётся на старое место».
Как работает 302
При получении ответа 302 поисковые системы:
- НЕ переносят ссылочный вес на новый URL
- Сохраняют старый URL в индексе
- Продолжают периодически проверять старый адрес
- Могут показывать в выдаче как старый, так и новый URL
Когда использовать 302
- Технические работы — временная заглушка «Сайт на обслуживании»
- A/B тестирование — перенаправление части трафика на тестовую версию
- Гео-таргетинг — перенаправление на региональную версию сайта
- Сезонные акции — временная страница распродажи или промо
- Авторизация — редирект на страницу логина с последующим возвратом
- Платёжные системы — редирект на страницу оплаты и обратно
- Мультивариантное тестирование — когда структура URL может измениться
Пример настройки 302 в Nginx
# Временный редирект на страницу обслуживания
location / {
return 302 /maintenance.html;
}
# Гео-редирект (пример)
if ($geoip_country_code = "DE") {
return 302 https://de.example.com$request_uri;
}
Пример настройки 302 в Apache
# Временный редирект
Redirect 302 /promo https://example.com/summer-sale
# Через mod_rewrite
RewriteRule ^old-promo$ /new-promo [R=302,L]
Влияние 302 на SEO
| Параметр | Эффект |
|---|---|
| Ссылочный вес | НЕ передаётся (остаётся на старом URL) |
| Позиции в поиске | Старый URL сохраняет позиции |
| Индексация | Оба URL могут быть в индексе |
| Кэширование | Браузеры и роботы не кэшируют редирект |
Другие типы редиректов
Помимо 301 и 302, существуют и другие коды:
| Код | Название | Описание |
|---|---|---|
| 303 | See Other | Перенаправление методом GET (после POST-запроса) |
| 307 | Temporary Redirect | Временный редирект с сохранением HTTP-метода |
| 308 | Permanent Redirect | Постоянный редирект с сохранением HTTP-метода |
Когда использовать 307/308: Если важно сохранить HTTP-метод (POST, PUT, DELETE). Например, при редиректе формы отправки данных.
Типичные ошибки при настройке редиректов
1. Использование 302 вместо 301 для постоянного переезда
Это самая частая ошибка. Если вы переехали на новый домен и используете 302:
- Старый домен останется в индексе месяцами
- Ссылочный вес не передастся
- В выдаче могут отображаться оба домена
2. Цепочки редиректов
A → B → C → D (плохо)
A → D (хорошо)
Каждый редирект в цепочке:
- Увеличивает время загрузки
- Может терять часть ссылочного веса
- Google обрабатывает до 5 редиректов, но рекомендует не более 3
3. Редирект на нерелевантную страницу
Не редиректьте все старые страницы на главную. Это воспринимается как soft 404, и ссылочный вес всё равно не передастся. Лучше:
- Найти наиболее релевантную страницу-замену
- Если замены нет — показать 404/410
4. Забытые внутренние ссылки
После настройки редиректа обновите все внутренние ссылки на новый URL. Это:
- Ускорит индексацию
- Уменьшит нагрузку на сервер
- Улучшит краулинговый бюджет
5. Неправильная настройка для мобильной версии
При отдельных URL для мобильной версии (m.site.ru) нужны двусторонние аннотации:
<!-- На десктоп-версии -->
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/page">
<!-- На мобильной версии -->
<link rel="canonical" href="https://example.com/page">
Как проверить редирект?
- Браузер DevTools: Откройте Network → посмотрите Status Code
- curl в командной строке:
curl -I https://example.com/old-page
# Покажет заголовки включая Location и Status
- Онлайн-сервисы: Используйте наш тестер редиректов для визуального анализа цепочки перенаправлений
Сводная таблица: какой редирект выбрать
| Ситуация | Рекомендуемый код |
|---|---|
| Переезд на новый домен навсегда | 301 |
| Смена CMS с изменением структуры URL | 301 |
| Переход с HTTP на HTTPS | 301 |
| Склейка www и без www | 301 |
| Объединение двух сайтов | 301 |
| Временная акция (Black Friday, Новый год) | 302 |
| Сайт на обслуживании | 302 или 503 |
| A/B тестирование | 302 |
| Редирект после отправки формы (POST → GET) | 303 |
| API-редирект с сохранением метода | 307 или 308 |
Итоги
- 301 — для постоянных изменений, когда старый URL больше не нужен
- 302 — для временных изменений, когда планируете вернуться к старому URL
- При сомнениях выбирайте 301 — это самый частый и безопасный вариант
- Избегайте цепочек редиректов — ведите сразу на конечный URL
- Проверяйте редиректы инструментами перед запуском
В редиректо.ru вы можете легко настроить любой тип редиректа в пару кликов. По умолчанию мы используем 301, так как это самый частый сценарий при переезде домена.