13 мин чтения
Коды редиректов HTTP: что значат 301, 302, 303, 307, 308 и другие
Что означает каждый код 3xx: сравниваем 301, 302, 303, 307 и 308 по постоянству, сохранению метода, кэшированию и SEO, с примерами для nginx, Apache и PHP.
Читать статьюБесплатная проверка редиректов
Узнайте, постоянный у URL редирект или временный. TrueURL проверяет каждый переход и сообщает, воспримут ли поисковые системы переезд как постоянный.
Нажмите Enter , чтобы проверить
Edge-сеть Cloudflare всегда проверяет сертификаты, поэтому отключить эту проверку нельзя. Проблемы с сертификатом будут показаны в результате.
Отправляется с первым запросом, до 16 КБ. Тело в формате JSON отправляется как application/json, остальное — как данные формы, если вы не указали заголовок Content-Type.
От 1 до 50. Браузеры останавливаются после 20 редиректов.
Сайты могут по-разному перенаправлять смартфоны, поисковых роботов и ботов предпросмотра ссылок.
Отправляются с каждым запросом в цепочке.
Пользовательских заголовков нет.
Введите значение, чтобы отправить этот заголовок. Значения заголовков никогда не сохраняются.
Переходить по тегам <meta http-equiv="refresh"> и заголовкам Refresh на HTML-страницах.
Переходить по простым безусловным редиректам в скриптах страницы, например location.href = "…".
Настройки сохраняются в этом браузере. Файлы cookie, значения заголовков и тело POST-запроса никогда не сохраняются.
С помощью кода ответа сервер сообщает поисковым системам, что это за переезд. Постоянный редирект (301 или 308) говорит, что старого URL больше нет и не будет, поэтому поисковые системы индексируют новый URL и объединяют на нем сигналы, например ссылки. Временный редирект (302, 303 или 307) говорит, что старый URL еще вернется, поэтому он обычно остается в индексе.
Посетители разницы не замечают, поэтому неправильный код может месяцами оставаться незамеченным. Многие инструменты, если не указать иное, отдают временный редирект: header('Location: ...') в PHP, res.redirect() в Express и директива Redirect в Apache по умолчанию используют 302.
TrueURL проверяет каждый переход цепочки, а не только первый:
И 301, и 308 — постоянные редиректы, и Google обрабатывает их одинаково. Разница в методе запроса: после 301 браузеры могут превратить POST в GET, а 308 гарантирует, что метод и тело запроса сохранятся. Используйте 301 для обычных страниц, а 308 — для эндпоинтов API или обработчиков форм, которые должны и дальше получать POST-запросы. Во временной паре все так же: 302 может изменить метод, а 307 — никогда.
Подробное сравнение всех кодов 3xx — в нашем разборе HTTP-кодов редиректов.
Во всех остальных случаях, особенно при переезде и изменении URL, используйте 301.
13 мин чтения
Что означает каждый код 3xx: сравниваем 301, 302, 303, 307 и 308 по постоянству, сохранению метода, кэшированию и SEO, с примерами для nginx, Apache и PHP.
Читать статьюВведите старый URL в поле выше. TrueURL запросит его без автоматического следования редиректам и покажет точный код ответа на каждом переходе. В командной строке curl -I https://example.com/old-page показывает только первый ответ, если не добавить -L, и не обнаруживает редиректы через meta refresh или JavaScript. Параметры curl описаны в нашем руководстве о том, как проверить редиректы URL.
Google заявлял, что 301, 302 и другие серверные редиректы не приводят к потере PageRank. Разница — в сигнале канонизации: 301 сообщает Google, что индексировать нужно новый URL, а 302 предполагает, что стоит сохранить старый. Обычно позиции переходят к новому URL после того, как обе страницы будут повторно просканированы.
Google рекомендует сохранять редиректы как минимум год, а надежнее оставить их навсегда: старые ссылки, закладки и упоминания на других сайтах годами продолжают вести на старый URL. Поддержка правила редиректа почти ничего не стоит.
Частые причины — плагин или фреймворк, который по умолчанию использует 302, правило CDN или хостинга, срабатывающее раньше вашего, или старый ответ из кэша. Посмотрите на каждый переход: если 302 приходит с другого хоста или пути, чем те, что обрабатывает ваше правило, его добавляет другой уровень.
Да. Браузеры могут кэшировать редиректы 301 и 308 надолго, часто до очистки кэша, поэтому ошибочный 301 может «застрять» у посетителей, которые уже по нему переходили. Пока тестируете новое правило, используйте 302 или короткий Cache-Control: max-age, а когда все будет настроено правильно, переключитесь на 301. TrueURL не кэширует ответы, поэтому всегда показывает то, что сервер отдает прямо сейчас.
Не для SEO: Google обрабатывает их одинаково. 308 лучше только тогда, когда нужно сохранить метод запроса, например для эндпоинта API, который принимает POST-запросы. Некоторые очень старые клиенты не понимают 308, поэтому для веб-страниц 301 остается надежным вариантом по умолчанию.
Только если главная действительно лучшая замена. Google может считать редиректы удаленных страниц на главную ложными ошибками 404 (soft 404). Перенаправляйте на ближайшую равноценную страницу, а если такой нет, возвращайте 410 Gone или 404 Not Found.