Код 301 Moved Permanently: постоянный редирект
Код 301 Moved Permanently означает, что страница навсегда переехала на другой адрес. Сервер отдаёт новый URL в заголовке Location, а браузер и поисковые роботы автоматически переходят на него.
Обновлено 11 октября 2026 г.
Что значит код 301
По RFC 9110 (раздел 15.4.2) статус 301 говорит клиенту: целевой ресурс получил новый постоянный URL, и все будущие обращения нужно направлять на него. Новый адрес сервер указывает в заголовке Location. По умолчанию такой ответ можно кешировать, поэтому браузеры запоминают переезд и в следующий раз идут на новый адрес без обращения к серверу.
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page/
Content-Length: 0301, 302, 307 и 308: в чём разница
Все четыре кода перенаправляют на другой URL, но различаются по смыслу (постоянно или временно) и по тому, что происходит с методом запроса. Для обычных страниц, которые открываются GET-запросом, на практике выбирают между 301 и 302.
| Код | Тип | Метод запроса | Когда использовать |
|---|---|---|---|
| 301 Moved Permanently | постоянный | клиент может заменить POST на GET | переезд страницы, смена домена, http → https |
| 302 Found | временный | клиент может заменить POST на GET | временная подмена страницы, A/B-тест |
| 307 Temporary Redirect | временный | метод и тело сохраняются | временный редирект API и форм |
| 308 Permanent Redirect | постоянный | метод и тело сохраняются | постоянный редирект для POST и API |
Когда нужен 301-редирект
- поменялся URL страницы или структура сайта (категории, ЧПУ, расширения);
- сайт переехал на другой домен или на HTTPS;
- нужно выбрать главное зеркало: с
wwwили без, со слешем или без; - удалённая страница имеет близкий по смыслу аналог;
- нужно склеить дубли страниц на один адрес.
Что делать посетителю
Обычно ничего: вы просто окажетесь на новой странице. Если браузер пишет «слишком много перенаправлений» (ERR_TOO_MANY_REDIRECTS), очистите cookie этого сайта и откройте адрес заново, а причины и способы лечения разобраны в статье про ERR_TOO_MANY_REDIRECTS. Браузер кеширует 301, поэтому после отмены редиректа на сервере он может ещё какое-то время вести себя по-старому. Проверьте адрес в режиме инкогнито или очистите кеш.
Как настроить 301 владельцу сайта
nginx
# одна страница
location = /old-page/ {
return 301 /new-page/;
}
# http -> https и единое зеркало
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}Apache (.htaccess)
# одна страница (директива работает по префиксу пути)
Redirect 301 /old-page/ /new-page/
# http -> https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]PHP
<?php
header("Location: /new-page/", true, 301);
exit;Не хотите писать правила вручную? Соберите их в генераторе 301-редиректов, а нюансы конфигурации смотрите в руководствах по nginx и .htaccess. Общая теория и сценарии переезда собраны в статье 301 редирект.
Типичные ошибки с 301
- Цепочки. A → B → C: каждый лишний шаг замедляет загрузку и расходует обход робота. Настраивайте переход сразу на конечный URL.
- Петли. A → B → A приводит к ошибке в браузере.
- Все удалённые страницы на главную. Для робота это почти то же, что soft 404: смысл страниц не совпадает. Редиректите на близкую по теме страницу, а если её нет, отдавайте 404 или 410.
- Старые ссылки в sitemap и canonical. В них должен быть конечный адрес, а не тот, с которого стоит редирект.
Как 301 видят Яндекс и Google
Google использует 301 (и 308) как сильный сигнал, что новый URL должен стать каноническим. Яндекс при 301 заменяет в индексе старый адрес на новый. Смена происходит не мгновенно: роботу нужно заново обойти старые URL. При переезде домена используйте «Переезд сайта» в Яндекс Вебмастере и инструмент смены адреса в Google Search Console, а 301-редиректы держите не меньше года: так рекомендует Google. Гарантий сохранения позиций после переезда никто дать не может, но корректные редиректы убирают основную причину их потери.
Как проверить, что редирект работает
Откройте старый адрес в проверке кода ответа: инструмент покажет всю цепочку редиректов с кодами и конечным URL. То же можно сделать из консоли:
curl -sIL https://example.com/old-page/ | grep -iE "^(HTTP|location)"После переезда сайта часть старых URL всё равно остаётся без редиректа: на них ссылаются внешние сайты и закладки. Monitor404 собирает такие 404 с реальных переходов и подсказывает, куда поставить 301.
Частые вопросы
Что значит редирект 301?
Страница постоянно переехала на другой адрес. Сервер сообщает новый URL в заголовке Location, а браузеры и роботы идут по нему автоматически и запоминают переезд.
Чем 301 отличается от 302?
301 означает постоянный переезд: поисковик заменяет старый адрес новым. 302 означает временный: старый адрес, как правило, остаётся в индексе. Если страница переехала навсегда, ставьте 301.
Сколько времени держать 301-редирект?
Google рекомендует оставлять редиректы при переезде сайта минимум на год. Если на старый адрес ещё ходят посетители или есть внешние ссылки, держите редирект дольше.
Теряется ли вес страницы при 301?
Google заявляет, что 301 передаёт сигналы на новый URL. Но позиции после переезда не гарантированы: роботу нужно время на переобход, а новая страница должна быть сопоставима по содержимому со старой.