Проверка переадресации URL¶
Проверка переадресации — это процедура определения того, каким образом сервер отвечает на запрос к определённому URL-адресу, включая тип возвращаемого HTTP-статуса и конечный адрес, на который перенаправляется клиент. Переадресация (redirect) применяется при смене доменного имени, переносе сайта на другой адрес, при объединении страниц и в ряде иных сценариев. Некорректно настроенные переадресации приводят к потере трафика, падению позиций в поисковых системах и ошибкам для пользователей, поэтому их регулярная проверка является стандартной частью технического аудита сайта.
¶HTTP-статусы переадресации
Переадресация реализуется через специальные коды состояния HTTP-ответа:
| Код | Название | Особенности |
|---|---|---|
| 301 | Moved Permanently | Постоянный редирект; вес страницы передаётся новому адресу |
| 302 | Found (ранее — Moved Temporarily) | Временный редирект; поисковые системы не переносят вес |
| 307 | Temporary Redirect | Строгий временный редирект с сохранением метода запроса |
| 308 | Permanent Redirect | Строгий постоянный редирект с сохранением метода запроса |
Для большинства постоянных переадресаций используется код 301. Коды 307 и 308 появились в стандарте HTTP/1.1 позже и гарантируют, что метод запроса (GET, POST и другие) не будет изменён при перенаправлении.
¶Инструменты командной строки
¶curl
Утилита curl входит в состав большинства Linux-дистрибутивов и доступна в Windows 10 и 11. Для просмотра цепочки переадресаций используется флаг -I (только заголовки) и -L (следовать редиректам):
`` curl -I -L https://example.com/page ``
Флаг -I отправляет HEAD-запрос и выводит только заголовки ответа, что позволяет увидеть код статуса и заголовок Location с конечным адресом. Добавление -L заставляет curl переходить по всем редиректам до конечной страницы, отображая статус каждого промежуточного ответа. Для вывода только итоговых заголовков без тела ответа применяется также --head.
Для проверки без автоматического перехода:
`` curl -I https://example.com/page ``
В выводе строка HTTP/1.1 301 Moved Permanently и заголовок Location: https://newsite.com/page` покажут тип и адрес переадресации.
¶wget
Утилита wget позволяет отследить цепочку редиректов с помощью флага --max-redirect:
`` wget --max-redirect=10 --spider https://example.com/page ``
Режим --spider не скачивает содержимое страницы, а только проверяет доступность и переадресации.
¶Онлайн-сервисы
Существует ряд веб-сервисов, отображающих цепочку переадресаций в браузере без установки программ:
- Redirect Detective — показывает полную цепочку редиректов с кодами статусов.
- httpstatus.io — проверяет массово до 100 URL одновременно, отображает статусы и заголовки.
- Redirect Checker (redirect-checker.org) — отслеживает цепочку и определяет конечный адрес.
- SmallSEOTools Redirect Checker — упрощённая проверка с указанием типа редиректа.
Такие сервисы полезны при аудите небольших объёмов ссылок, однако при проверке крупных сайтов предпочтительнее использовать локальные инструменты или специализированные краулеры.
¶Проверка в браузере
Веб-браузер позволяет наблюдать переадресацию средствами веб-инспектора (DevTools):
- Открыть инструменты разработчика (F12).
- Перейти на вкладку «Сеть» (Network).
- Загрузить страницу и найти запрос с кодом 301 или 302.
- В панели «Заголовки» (Headers) просмотреть
Location.
Браузер обычно не отображает промежуточные редиректы в интерфейсе — происходит автоматический переход. Для отслеживания цепочки можно использовать расширения, например «Redirect Path» для Google Chrome, которое показывает все промежуточные редиректы и их коды.
¶Массовая проверка
При аудите больших сайтов ручная проверка неэффективна. Применяются:
- Screaming Frog SEO Spider — краулер, собирающий все ответы 3xx и формирующий отчёт по цепочкам редиректов.
- Sitebulb — коммерческий краулер с визуализацией цепочек.
- wget --spider -r — рекурсивное обход сайта с фиксацией редиректов.
Для обработки результатов массовой проверки используют скрипты на Python (библиотеки requests, httpx) или Bash, фильтруя строки с кодами 3xx.
¶Типичные ошибки
При проверке переадресаций чаще всего выявляются следующие проблемы:
- Цепочки редиректов — несколько последовательных перенаправлений вместо одного. Ухудшает скорость загрузки и может приводить к обрыву цепочки.
- Петли редиректов — URL перенаправляется сам на себя или на адрес, ведущий обратно. Браузер отображает ошибку «Too many redirects».
- Редиректы на ошибочные страницы — конечный адрес возвращает 404 или 500.
- Смешение 301 и 302 — временный редирект там, где нужен постоянный, и наоборот.
- Канонические редиректы с HTTP на HTTPS — при неполном переходе часть запросов продолжает идти по HTTP.
¶Источники
- RFC 7231 — Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
- Документация curl — curl.se/docs/manpage.html
- Документация GNU Wget — gnu.org/software/wget/manual
- Google Search Central — Переадресации (redirects) и поисковая система
- Mozilla Developer Network — HTTP response status codes
