Проверка редиректов

Вставьте до 20 URL и увидьте каждый переход цепочки редиректов: код статуса, цель, Cache-Control и время на переход, конечный URL и статус, циклы, цепочки длиннее трёх переходов, временные 302/307 вместо 301, двойные цепочки http→https→www, meta refresh и JavaScript-редиректы на конечной странице, canonical, не совпадающий с конечным URL, — а также, по желанию, отправляют ли Googlebot не туда, куда браузер. Экспорт в CSV. Ничего не сохраняется.

Готово URL: 3 (не более 20). По одному на строку; схема добавляется, если её нет.

Проходит каждую цепочку второй раз с user-agent Googlebot и сравнивает конечный URL и статус.

Запросы идут с нашего сервера с user-agent Chrome (и Googlebot, если выбрано); каждый переход проверяется на частные и link-local адреса, ничего не сохраняется и не логируется. Лимит: 10 запусков за 5 минут с адреса. Инструмент сообщает, что делает цепочка; нужен ли редирект — решение о сайте.

Как это работает

1. Каждый URL запрашивается с нашего сервера с user-agent Chrome (и, если выбрано, ещё раз как Googlebot); редиректы не следуются автоматически — каждый переход это отдельный запрос, чтобы записать его статус, Location, Cache-Control и время
2. До 10 переходов на цепочку; URL, встреченный дважды, — цикл; 8 с на запрос и 25 с на цепочку; каждый переход проходит те же проверки публичного хоста (никаких частных, link-local или localhost целей)
3. Читается только тело последнего ответа, только если это HTML, с ограничением 256 КБ — чтобы найти <meta http-equiv="refresh">, встроенные паттерны location.href / location.replace() и <link rel="canonical">
4. Замечания по цепочке: нет редиректа / конец OK / конец с ошибкой (4xx–5xx), цикл, достигнут предел переходов, больше 3 переходов, 302 или 307 в цепочке, 303, относительный Location, http→https→www в два перехода, понижение https→http, смена хоста, meta refresh, JavaScript-редирект, canonical отличается от конечного URL, медленная цепочка (> 3 с)
5. С опцией Googlebot две цепочки сравниваются: другой конечный URL или статус помечается — классический признак клоакинга по user-agent или редиректа только для ботов
6. Пакетно: до 20 URL за запуск, 5 параллельно; таблицу переходов каждой цепочки можно скачать как CSV

О редиректах и о том, что сообщает инструмент

Редирект говорит клиенту, что ресурс находится по другому URL. Для поисковых систем код статуса несёт смысл: 301 и 308 говорят, что перенос постоянный, поэтому сигналы ранжирования должны объединиться на цели, а старый URL может выпасть из индекса; 302 и 307 говорят, что перенос временный, поэтому исходный URL должен сохранить своё место. Google годами говорит, что на практике считает давно стоящие 302 постоянными, но ему всё равно приходится угадывать — 301 убирает догадку. 303 — это идиома POST→GET, которой не место при переносе сайта. Инструмент показывает код каждого перехода, так что намерение цепочки видно, а не выводится.

Цепочки расходуют краулинговый бюджет и понемногу размывают сигналы с каждым переходом, а Googlebot сдаётся после десяти. Обычный виновник — не одно плохое правило, а несколько правильных, наложенных друг на друга: http→https на веб-сервере, без www → www в CMS, конечный слеш от фреймворка и переименование URL в приложении — четыре перехода там, где хватило бы одного. Инструмент явно называет паттерн http→https→www, потому что он самый частый и его легче всего свернуть в одно правило, ведущее сразу на конечный URL.

Не все редиректы — HTTP. Страница, которая возвращает 200, а затем переносит посетителя через <meta http-equiv="refresh"> или строку JavaScript, для пользователя редирект, а для краулера без выполнения скриптов — обычная страница; Google, который рендерит JavaScript, считает такие случаи слабым сигналом по сравнению с серверным 301. Инструмент читает конечный HTML на оба паттерна и сообщает о них; он не следует по ним, потому что в этом и суть: HTTP-цепочка и реальная цель различаются.

Запрос как Googlebot рядом с браузером ловит сразу две проблемы. Редиректы только для ботов — отправка краулеров на другую страницу, чем пользователей, — нарушают политику Google о клоакинге, намеренно это или нет (достаточно неверно настроенной защиты от ботов или гео-правила). А некоторые сайты перенаправляют браузеры по языку или стране, оставляя Googlebot на версии по умолчанию, что нормально, но об этом стоит знать. Инструмент сравнивает конечный URL и статус двух агентов и говорит, совпадают ли они. Что делать с различием, зависит от его причины; инструмент его сообщает.

Частые вопросы

301 или 308?
Оба постоянные. 308 дополнительно запрещает клиенту менять метод (POST остаётся POST), что важно для API и форм, а не для страниц. Для переносов сайта 301 понимают все; 308 тоже подходит. Для индексации Google трактует их одинаково.
Вредит ли 302 SEO?
Не обязательно. Google говорил, что со временем считает постоянно стоящий 302 постоянным и в любом случае объединяет сигналы. Проблема в неоднозначности: 302 говорит «это временно», поэтому при миграции поисковая система может держать старый URL в индексе дольше, чем вы хотите. Если перенос постоянный, скажите это через 301 — инструмент помечает 302/307 в цепочке, чтобы вы могли решить.
Сколько переходов — слишком много?
Google следует не более чем 10 редиректам в цепочке; дальше страница не сканируется. Каждый переход добавляет задержку для пользователей и небольшую потерю сигнала для поиска, так что рабочее правило — один переход, максимум два. Инструмент предупреждает при более чем трёх. Исправляйте цепочки, направляя первый URL прямо на последний, а не удаляя промежуточные правила, которые ещё нужны другим URL.
Почему инструмент говорит, что canonical конечной страницы отличается?
Потому что HTML, на котором заканчивается цепочка, указывает в <link rel="canonical"> на другой URL, чем тот, на который вы попали. Редирект на страницу B, чей canonical называет страницу C, рассказывает Google две разные истории. Обычно один из них устарел после миграции; инструмент сообщает о расхождении и об обоих URL.
Что такое цикл редиректов и почему инструмент останавливается рано?
Цикл — это цепочка, которая возвращается к уже посещённому URL: A → B → A. Браузеры показывают ошибку, краулеры сдаются. Инструмент останавливается, как только URL повторяется, и помечает цепочку как цикл; он также останавливается на 10 переходах независимо от цикла, потому что так делает Googlebot.
Зачем запрашивать как Googlebot?
Некоторые сайты — намеренно или из-за неверного правила — отправляют краулеров не туда, куда браузеры. Перенаправлять Googlebot на другую страницу, чем пользователей, — клоакинг по правилам Google о спаме; перенаправлять браузеры по языку, оставляя ботов на версии по умолчанию, — распространённая и допустимая практика, но о ней стоит знать. Инструмент проходит цепочку дважды с двумя user-agent и сообщает, совпадают ли конечный URL и статус. Учтите, что некоторые сервисы защиты от ботов блокируют всех, кто называет себя Googlebot с непроверенного IP, — 403 в прогоне для бота может быть этим, а не правилом редиректа.
Следует ли инструмент по meta refresh или JavaScript-редиректам?
Нет. Он обнаруживает их в конечном HTML и сообщает цель, но показываемая цепочка — это HTTP-цепочка, то есть то, что видит краулер без выполнения скриптов. Google рендерит JavaScript и считает такие случаи редиректами, но медленнее и с меньшей уверенностью, чем серверный 301. Если инструмент сообщил о таком, реальная цель на шаг дальше, чем показывает таблица.
Проверка SSRПроверьте, отдаёт ли URL содержимое прямо в HTML или собирает его JavaScript'ом. Страница запрашивается как браузер и как Googlebot без выполнения JS; определяются фреймворк и режим рендеринга (Next.js, Nuxt, React SPA, WordPress…), считаются слова, ссылки и заголовки, которые видит краулер, отмечаются блокировка ботов и динамический рендеринг. Бесплатно, без регистрации.Проверка robots.txtПроверьте robots.txt для любого пути и краулера: загрузите файл с сайта или вставьте его, выберите Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot или свой user-agent и увидьте точное правило, которое разрешает или запрещает путь, — плюс сводку по каждому краулеру, предупреждения о синтаксисе и строки Sitemap. Сопоставление по RFC 9309, работает в браузере, ничего не сохраняется.Генератор hreflangВставьте пары язык–URL, выберите x-default и получите проверенный набор hreflang в виде тегов <link rel="alternate">, записей xhtml:link для карты сайта и HTTP-заголовка Link. Проверяет коды языка по ISO 639-1, письменности по ISO 15924 и региона по ISO 3166-1, ловит en-uk, коды без языка и трёхбуквенные коды, повторяющиеся теги, относительные URL и отсутствие x-default — каждая страница перечисляет весь набор, обратные ссылки гарантированы. Работает в браузере, ничего не сохраняется.