Проверщик HTTP‑кодов статуса
Каждый код статуса и его значение для обхода, индексации и ссылок — плюс декодер заголовков ответа, которые вы уже захватили.
| Код | Что это значит | Индексируемый | Передаёт ссылки |
|---|---|---|---|
| 100 Continue | Промежуточный: сервер разрешает клиенту отправить оставшуюся часть запроса. Это никогда не окончательный ответ и не воспринимается поисковым роботом как таковой. | — | — |
| 101 Switching Protocols | Рукопожатие для перехода на WebSocket или другой протокол. Не является страницей. | — | — |
| 102 Processing | WebDAV. Сервер всё ещё обрабатывает запрос. | — | — |
| 103 Early Hints | Отправляется до реального ответа, чтобы браузер мог начать предзагрузку. Функция ускорения, а не результат. | — | — |
| 200 OK | Обычный успешный ответ. Страница существует, и это её ответ. Всё остальное в этом списке — отклонения от него. | Да | Полный |
| 201 Created | Что‑то было создано. Ответ API, а не страница. | Нет | — |
| 202 Accepted | Принято к обработке, но не завершено. Нет чего индексировать. | Нет | — |
| 203 Non-Authoritative Information | Прокси изменил ответ по пути. Обрабатывается как 200 и свидетельствует о том, что что‑то между вами и посетителем переписывает ваши страницы. | Да | Полный |
| 204 No Content | Успешный ответ с пустым телом. У Google нет чего индексировать, и URL будет рассматриваться как ошибка. | Нет | Нет |
| 205 Reset Content | Сообщает клиенту очистить только что отправленную форму. Не является страницей. | Нет | — |
| 206 Partial Content | Запрос диапазона — перемотка видео, возобновляемые загрузки. Нормально, не ошибка. | — | — |
| 207 Multi-Status | WebDAV, несколько результатов в одном теле. | Нет | — |
| 208 Already Reported | WebDAV, избегание повторения внутри 207. | Нет | — |
| 226 IM Used | Дельта‑кодирование. Вы его не увидите. | Нет | — |
| 300 Multiple Choices | Несколько вариантов без предпочтительного. Без заголовка Location у Google нет чего‑то переходить, и он рассматривает URL как мягкий 404. | Нет | Нет |
| 301 Moved Permanently | Постоянное перемещение. Google объединяет старый URL с новым и полностью передаёт сигналы ранжирования, обычно в течение нескольких недель. Браузеры агрессивно кэшируют его, поэтому тестируйте в новой профиле. | Цель | Полный |
| 302 Found | Временный. Google сохраняет старый URL в индексе и ожидает его возврат. Если оставлять его на месяцы, Google считает, что вы имели в виду 301 и обрабатывает его как таковой — поэтому ошибка стоит месяцев между ними. | Источник | К цели |
| 303 See Other | Перенаправление после отправки формы, всегда преобразующее запрос в GET. Рассматривается как временное перенаправление для индексации. | Цель | К цели |
| 304 Not Modified | Ничего не изменилось с последнего визита сканера, поэтому тело не отправляется. Это хорошо — экономит бюджет сканирования. Это не ошибка и не приводит к удалению из индекса. | Не изменено | — |
| 305 Use Proxy | Устарел и игнорируется всеми клиентами по соображениям безопасности. | Нет | Нет |
| 307 Temporary Redirect | 302, при котором нельзя менять метод запроса. POST остаётся POST. Также то, что браузер делает внутренне для хоста с предзагруженным HSTS. | Источник | К цели |
| 308 Permanent Redirect | 301, при котором нельзя менять метод запроса. Передаёт сигналы идентично. Используйте его для конечных точек форм и API; используйте 301 для страниц, которые понимает каждый клиент. | Цель | Полный |
| 400 Bad Request | Запрос был сформирован неправильно. Появление этого на обычном URL означает, что что‑то в вашем стеке отклоняет легитимный запрос — обычно слишком длинная строка запроса или символ, который не нравится WAF. | Нет | Нет |
| 401 Unauthorized | Требуется аутентификация. Google отбрасывает URL и не продолжает попытки долго. Правильно для действительно закрытой области, катастрофично, если плагин начинает обслуживать её по всему сайту. | Нет | Нет |
| 402 Payment Required | Зарезервировано. Иногда используется API для ограничения количества запросов. | Нет | Нет |
| 403 Forbidden | Сервер понял запрос и отказывает в его выполнении. Это самая распространённая причина исчезновения страницы из Google при том, что в браузере она выглядит нормально: правило WAF или защиты от ботов возвращает 403 только для Googlebot. Подтверждайте с помощью проверки URL, а не в своём браузере. | Нет | Нет |
| 404 Not Found | Страница не существует. Это не штраф, и сайт с тысячами таких страниц не наказывается за это. Google пытается некоторое время и затем отбрасывает URL. Ссылки, указывающие на 404, ничего не передают, что единственная причина обращать на это внимание. | Нет | Нет |
| 405 Method Not Allowed | URL существует, но не для этого метода. Обычно происходит, когда делают GET к эндпоинту, принимающему только POST. | Нет | Нет |
| 406 Not Acceptable | Не удалось выполнить согласование контента. Плагины безопасности иногда случайно отдают его сканерам, что выглядит так же, как 403 по своим последствиям. | Нет | Нет |
| 407 Proxy Authentication Required | Прокси требует учётные данные. Если сканер видит это, значит запрос перехватывается. | Нет | Нет |
| 408 Request Timeout | Клиент слишком долго отправлял запрос. Постоянные 408 для сканера указывают на проблему с сетью или балансировщиком нагрузки. | Нет | Нет |
| 409 Conflict | Запрос конфликтует с текущим состоянием. Территория API. | Нет | Нет |
| 410 Gone | Удалено намеренно и не вернётся. Google удаляет 410 быстрее, чем 404, и прекращает повторные попытки раньше. Честный ответ для контента, который вы действительно сняли с публикации без замены. | Нет | Нет |
| 411 Length Required | Сервер требует заголовок Content-Length. | Нет | Нет |
| 412 Precondition Failed | Условие условного запроса не выполнено. | Нет | Нет |
| 413 Content Too Large | Тело запроса слишком велико. Точки загрузки. | Нет | Нет |
| 414 URI Too Long | Почти всегда это цикл перенаправлений, каждый раз добавляющий параметр, или фасетная навигация, вышедшая из‑под контроля. | Нет | Нет |
| 415 Unsupported Media Type | Сервер не принимает этот тип контента. | Нет | Нет |
| 416 Range Not Satisfiable | Запрошенный диапазон байтов не существует. | Нет | Нет |
| 417 Expectation Failed | Сервер не выполнит заголовок Expect. | Нет | Нет |
| 418 I'm a Teapot | Шутка на День дурака 1998 года, которая всё ещё в реестре. Некоторые сервисы защиты от ботов действительно возвращают её для нежелательного трафика, поэтому она попадает в отчёт сканирования. | Нет | Нет |
| 421 Misdirected Request | Соединение попало на сервер, который не может отвечать за этот хост. Проблема с общим сертификатом или объединением соединений HTTP/2, реальная причина периодических, неповторимых ошибок сканирования. | Нет | Нет |
| 422 Unprocessable Content | Понято, но семантически неверно. Проверка форм и API. | Нет | Нет |
| 423 Locked | Блокировка ресурса WebDAV. | Нет | Нет |
| 424 Failed Dependency | Предыдущий запрос в той же операции завершился с ошибкой. | Нет | Нет |
| 425 Too Early | Сервер не будет рисковать повторным выполнением запроса с ранними данными. | Нет | Нет |
| 426 Upgrade Required | Клиент должен переключить протокол, обычно на TLS. | Нет | Нет |
| 428 Precondition Required | Сервер требует условный запрос, чтобы избежать потери обновлений. | Нет | Нет |
| 429 Too Many Requests | Ограничение скорости. Googlebot воспринимает это как \"you are struggling\" и уменьшает скорость обхода, а продолжительные 429 в конечном итоге приводят к потере проиндексированных страниц. Самый разрушительный 4xx, который может выдать крупный сайт. | Нет | Нет |
| 431 Request Header Fields Too Large | Обычно слишком большой cookie. | Нет | Нет |
| 451 Unavailable For Legal Reasons | Заблокировано по требованию закона или региональному законодательству. Для целей индексации ведёт себя как 404. | Нет | Нет |
| 500 Internal Server Error | Что‑то сломалось. Google повторно пытается, замедляет обход всего сайта, а после продолжительного периода начинает отбрасывать страницы. Хуже, чем 404, потому что подавляет обход и остальных ресурсов. | Нет | Нет |
| 501 Not Implemented | Сервер вообще не поддерживает этот метод. | Нет | Нет |
| 502 Bad Gateway | Прокси получил недействительный ответ от upstream. Обычно приложение за прокси упало. | Нет | Нет |
| 503 Service Unavailable | Временно недоступно. Это правильный код для запланированного обслуживания: отдавайте 503 с заголовком Retry-After, и Google вернётся без потери данных. Подача вместо этого страницы 200 с обслуживанием приводит к индексации сообщения \"We'll be back soon\" как домашней страницы. | Нет | Задержано |
| 504 Gateway Timeout | Upstream занял слишком много времени. Постоянные 504 снижают скорость обхода так же, как 500. | Нет | Нет |
| 505 HTTP Version Not Supported | Сервер отклоняет эту версию HTTP. | Нет | Нет |
| 506 Variant Also Negotiates | Неправильная настройка согласования контента. | Нет | Нет |
| 507 Insufficient Storage | На сервере не хватает места. | Нет | Отсутствует |
| 508 Loop Detected | Бесконечный цикл при обработке запроса. | Нет | Отсутствует |
| 510 Not Extended | Запрос требует расширения, которое сервер хочет, чтобы было объявлено. | Нет | Отсутствует |
| 511 Network Authentication Required | Каптивный портал. Если сканер получает это, значит что‑то в сети перехватывает запрос. | Нет | Отсутствует |
| 520 Unknown Error (Cloudflare) | Не является стандартным кодом. Cloudflare получил пустой или некорректный ответ от вашего источника. Сканеры рассматривают семейство 52x как обычные ошибки 5xx. | Нет | Отсутствует |
| 521 Web Server Is Down (Cloudflare) | Не стандартно. Ваш источник отказал в соединении. | Нет | Отсутствует |
| 522 Connection Timed Out (Cloudflare) | Не стандартно. Cloudflare не смог вовремя достичь вашего источника. | Нет | Отсутствует |
| 523 Origin Is Unreachable (Cloudflare) | Не стандартно. Обычно проблема с DNS у источника. | Нет | Отсутствует |
| 524 A Timeout Occurred (Cloudflare) | Не стандартно. Источник принял соединение, но не завершил ответ. | Нет | Отсутствует |
| 525 SSL Handshake Failed (Cloudflare) | Не стандартно. TLS между Cloudflare и вашим источником не удался. | Нет | Отсутствует |
| 526 Invalid SSL Certificate (Cloudflare) | Не стандартно. Сертификат вашего источника не может быть проверен. | Нет | Отсутствует |
Ничего, что вы вводите здесь, не загружается, не сохраняется и не отправляется куда-либо. Всё работает в вашем браузере.
Почему ни один браузерный инструмент не может проверить живой URL, и что это говорит вам
Страница, работающая в вашем браузере, не имеет доступа к заголовкам ответа запроса к другому источнику. Это не ошибка, а политика одного происхождения, и она является причиной, по которой вредоносная страница не может тихо читать вашу веб‑почту. Без Access-Control-Allow-Origin заголовка, предоставляющего разрешение — который не отправляет ни один обычный сайт — заголовки остаются невидимыми для JavaScript.
Таким образом, любой проверщик кодов статуса, который принимает URL и показывает результат, выполняет запрос на сервере. Это легитимный способ создания инструмента. Это также означает, что введённый вами URL, время ввода и ваш IP где‑то записываются в журнал, а на тестовом домене или незапущенной странице это реальная утечка. Эта страница декодирует то, что вы вставляете, и никогда не делает запрос. Это более простой инструмент, которым можно пользоваться для любого ресурса.
Коды, которые действительно влияют на поведение Google
- 200 без полезного содержимого. Страница «нет результатов», пустая категория, мягкая ошибка — всё это ответы с кодом 200, и Google классифицирует их как soft 404 и всё равно игнорирует. Код и содержимое должны совпадать.
- 403, возвращаемый только для краулеров. Ваш браузер получает страницу, Googlebot получает отказ, и страница исчезает без воспроизводимой ошибки. По умолчанию защита от ботов обычно является причиной. Это самая недооценённая техническая проблема SEO.
- 503 для обслуживания. Единственный 5xx, который можно использовать намеренно. С
Retry-Afterзаголовком он сообщает Google вернуться позже, а не переоценивать страницу. Ошибка — размещать страницу обслуживания с кодом 200. - 429 при высокой нагрузке. Googlebot воспринимает это как сигнал отступить и продолжает отступать. Ограничитель запросов, не освобождающий проверенных краулеров, может стоить крупному сайту значительную часть индекса.
- 410 вместо 404. Скорее удаление и меньше повторных запросов. Стоит использовать, когда вы сознательно выводите раздел из эксплуатации, но не имеет смысла внедрять на всём сайте.
Что вам говорят заголовки вокруг кода статуса
Код — это заголовок, а не содержание. An X-Robots-Tag: noindex на 200 означает, что страница в порядке, но всё равно не будет проиндексирована — и поскольку это заголовок, а не тег, он невидим в view-source и большинству расширений браузера. A Link: <…>; rel="canonical" заголовок выполняет ту же функцию, что и HTML‑тег, и выигрывает споры, о которых вы даже не подозревали. Vary: User-Agent сообщает, что вы отдаёте разный контент разным клиентам, что допустимо для мобильного динамического обслуживания, но является тревожным сигналом в остальных случаях. Всё это находится в дампе заголовков и отсутствует в самой странице.
Корректный захват заголовков
curl -I https://example.com/ даёт вам один ответ. curl -IL следует перенаправлениям и выводит каждый переход, так вы находите цепочку. Добавьте -A "Googlebot" и сравните — если они отличаются, вы нашли проблему, хотя имейте в виду, что хороший сервис защиты от ботов проверяет обратный DNS и не будет обманут только строкой user-agent. В DevTools на вкладке Network заголовки ответа дают то же самое для уже открытой страницы, включая cookies.
Вопросы пользователей
Почему этот инструмент не проверяет просто мой URL?
Потому что это невозможно, и ни одна другая страница в вашем браузере тоже не может. Чтение заголовков ответа другого сайта из JavaScript блокируется политикой same-origin. Инструменты, которые, кажется, делают это, проксируют запрос через свой сервер, что работает, но сохраняет ваш URL в их логах. Вместо этого вставьте заголовки, и ничего не покинет ваш компьютер.
Много 404‑х вредно для SEO?
Нет. 404‑коды — обычная часть веба, и Google неоднократно заявлял, что их наличие не влияет на ранжирование. Важно, какие URL возвращают 404: 404 на странице, на которую указывают внешние ссылки, теряет эти ссылки, а 404 на странице, всё ещё присутствующей в вашей навигации, создаёт плохой пользовательский опыт, который вы контролируете. Исправьте эти две категории и игнорируйте остальное в отчёте.
Стоит ли использовать 404 или 410?
410 означает "удалено намеренно, перестаньте запрашивать". Google удаляет такие URL чуть быстрее и реже делает повторные запросы. 404 означает "нет здесь", что может быть временно. Если вы сознательно выводите контент из обращения без перенаправления, 410 более точен. Разница небольшая, и ни один из вариантов не оправдывает проект миграции.
Что такое soft 404?
URL, который возвращает 200, но не содержит ничего, что стоило бы индексировать — пустой результат поиска, страница "product not found", категория без товаров. Google обнаруживает несоответствие и всё равно считает это ошибкой, поэтому 200 вам ничего не даёт. Либо разместите реальный контент, либо возвращайте настоящий 404.
Потеряется ли вес ссылки в цепочке редиректов?
Не так, как утверждают старые рекомендации. Google следует нескольким переходам и передаёт сигналы через них. Реальные издержки практические: каждый переход — дополнительный запрос для посетителя, каждый может быть удалён при следующей миграции, а после примерно десяти переходов Google перестаёт их отслеживать. Упрощайте цепочки, потому что они хрупки, а не из‑за какого‑то процента.
Отправляются ли эти заголовки куда‑либо?
Нет. Декодер — обычный JavaScript в вашем браузере, и эта страница не делает никаких сетевых запросов. Это компромисс за невозможность напрямую получить URL.
Сопутствующие инструменты
Коды статуса в порядке, но всё ещё нет позиций?
Каждый URL, возвращающий правильный код, — это базовое требование. Что отличает два технически идеальных сайта, так это то, на какой из них ссылаются пользователи.