Коротко. 301 ставят, когда адрес меняется навсегда: переезд, склейка дублей, смена структуры. 302 — когда перенаправление временное: тест, акция, техническая заглушка. Оба кода работают через заголовок Location, но поисковик по-разному решает, какой адрес считать основным.
Как читать материал. Сначала определяем тип переезда, потом выбираем код и проверяем цепочку. Нейросеть помогает собрать карту редиректов и найти лишние звенья, но правила применяются на сервере.
Что такое 301 и 302
301 Moved Permanently говорит: ресурс переехал навсегда, дальше используйте новый адрес. 302 Found говорит: ресурс временно находится в другом месте. Для поисковика основной адрес остаётся старым.
Оба ответа должны содержать заголовок Location с новым URL. Без него редирект не сработает.
Есть ещё 307 и 308. Они сохраняют метод запроса: POST остаётся POST. У 301 и 302 метод может смениться на GET. Если перенаправляете форму или API, смотрите в сторону 307 и 308.
Чем 301 отличается от 302
| Код | Смысл | Когда ставить |
|---|---|---|
| 301 Moved Permanently | Переезд навсегда | Новый домен, новая структура, склейка дублей |
| 302 Found | Временный адрес | Тест, акция, заглушка, A/B-тест |
| 307 Temporary Redirect | Временный, метод сохраняется | POST-формы и API |
| 308 Permanent Redirect | Постоянный, метод сохраняется | Постоянный переезд API |
Когда нужен 301
- Смена домена или переезд на новый сайт.
- Переход с HTTP на HTTPS.
- Склейка www и без www.
- Смена структуры URL:
/uslugi/→/services/. - Удаление дублей с параметрами.
- Объединение нескольких страниц в одну.
Когда нужен 302
- Временная заглушка на время работ.
- Акция с отдельной страницей.
- A/B-тест, где пользователя временно ведут на другой вариант.
- Проверка нового адреса до окончательного переезда.
302 не подходит для постоянного переезда: поисковик продолжает считать основной старый адрес, и сигналы не склеиваются.
Как проверить редирект
Одна команда показывает код и цепочку:
curl -I https://site.ru/old-page
В ответе смотрите HTTP/1.1 301 и Location: https://site.ru/new-page. Если хотите увидеть всю цепочку, добавьте -L:
curl -IL https://site.ru/old-page
Каждый ответ в выводе — отдельный шаг. Два-три редиректа подряд замедляют загрузку и усложняют диагностику. В идеале цепочка состоит из одного перехода.
Классический путь. Проверьте старые URL через curl -IL и соберите таблицу: откуда, куда, сколько шагов.
С нейросетью. Отдайте список URL и вывод команды, попросите найти цепочки и циклы.
Вот вывод curl -IL для 20 старых URL. Найди цепочки длиннее одного шага,
редиректы в никуда и возможные циклы. Составь таблицу: старый URL, конечный
URL, число шагов, что исправить. Не придумывай URL, которых нет в выводе.
Проверка. Откройте несколько цепочек вручную и убедитесь, что конечный URL отдаёт 200.
Как настроить
Пример nginx: постоянный редирект со старого раздела на новый.
location /uslugi/ {
return 301 /services/;
}
Для склейки www:
server {
server_name www.site.ru;
return 301 https://site.ru$request_uri;
}
Правило лучше ставить на уровне сервера, а не в каждом приложении. Тогда редирект сработает до загрузки CMS и не будет зависеть от плагинов.
Что происходит с SEO
301 — стандартный способ сообщить о постоянном переезде. Поисковик со временем заменяет старый URL новым и переносит сигналы.
Что сделать вместе с редиректом:
- обновить внутренние ссылки на новый адрес;
- заменить URL в sitemap;
- проверить canonical: он должен вести на конечный адрес;
- убрать старые URL из меню и шаблонов;
- проследить, чтобы не было цепочек и циклов.
Редирект через JavaScript или meta refresh менее надёжен: роботу нужно выполнить код, а результат зависит от страницы. Если есть возможность, используйте серверный 301.
Где помогает нейросеть
| Задача | Что делает модель | Что проверять руками |
|---|---|---|
| Карта переезда | сопоставляет старые и новые URL | фактический ответ сервера |
| Конфиг nginx | пишет блок return 301 | синтаксис через nginx -t |
| Аудит цепочек | находит лишние шаги | вывод curl -IL |
| Текст для клиента | объясняет, почему 302 не подходит | сроки и факты переезда |
Частые ошибки
- Ставить 302 на постоянный переезд.
- Делать цепочку из трёх редиректов.
- Забывать про слэш в конце URL.
- Оставлять старые ссылки во внутреннем меню.
- Указывать canonical на старый адрес.
- Ждать мгновенной склейки после редиректа через JS.
- Проверять только главную, а не весь сайт.
Вопросы
301 и 302 — это ошибки?
Нет. Это штатные коды перенаправления.
Можно ли использовать 302 при переезде?
Технически да, но поисковик будет считать старый адрес основным. Для постоянного переезда нужен 301.
Сколько редиректов допустимо в цепочке?
Чем меньше, тем лучше. Один переход — норма. Два и больше — повод почистить правила.
Передаёт ли 301 все сигналы?
Поисковики переносят сигналы со старого URL на новый, но не гарантируют полного совпадения позиций. Риски снижают внутренние ссылки, sitemap и корректный canonical.
Может ли нейросеть настроить редирект?
Она предложит правило, но применить его и проверить ответ нужно на сервере.
Связанные материалы
Источники
Официальные документы 6
- RFC 9110: 301 Moved Permanentlyrfc-editor.org
- RFC 9110: 302 Foundrfc-editor.org
- MDN: перенаправленияdeveloper.mozilla.org
- nginx: returnnginx.org
- Google Search Central: редиректыdevelopers.google.com
- Яндекс Вебмастер: редиректыyandex.ru