Подписывайтесь на Telegram-канал Анатолия Половинкина основателя компании TolkaDigital
Главная - Глоссарий - Код ответа сервера

Код ответа сервера

HTTP status code

SEO

Код ответа сервера — трехзначное числовое значение в заголовке HTTP-ответа, которое сообщает браузеру, поисковому роботу или любому другому клиенту итог обработки запроса. По этому числу клиент решает, что делать дальше: показать страницу, перейти по новому адресу, вывести сообщение об ошибке или отправить запрос повторно.

Что такое код ответа сервера

Каждый раз, когда браузер или поисковый бот открывает URL, сервер отвечает не просто HTML-разметкой, но и трехзначным числом, которое предшествует телу ответа. Первая цифра задает класс: 1xx — информационные сообщения, 2xx — успешное выполнение, 3xx — перенаправления, 4xx — ошибки на стороне клиента, 5xx — ошибки на стороне сервера. Второй и третий знаки уточняют конкретную ситуацию внутри класса. Например, 200 означает «все в порядке, вот контент», 301 — «страница переехала навсегда, запомни новый адрес», 404 — «страница не найдена», 503 — «сервер временно перегружен». Технически этот код записывается в строку состояния HTTP-ответа вместе с текстовым пояснением (reason phrase), например «200 OK» или «404 Not Found». Для поисковых систем код ответа — один из первых сигналов при индексировании: без корректного 200 страница не попадает в индекс, а правильно настроенный 301 передает накопленный вес ссылок на новый URL практически без потерь.

Стандарт HTTP/1.0, принятый в 1996 году (RFC 1945), ввел базовую классификацию статус-кодов, которой пользуются по сей день. В 1997 году HTTP/1.1 (RFC 2616) расширил список: появились 405 Method Not Allowed, 408 Request Timeout, 411 Length Required и другие коды, закрывшие пробелы первой версии. В 2015 году RFC 7231 актуализировал семантику всех кодов и стал основным справочником для разработчиков и поисковых систем. Google официально публикует, как Googlebot реагирует на разные коды: при 410 робот быстрее удаляет URL из индекса, чем при 404. Яндекс в своей документации описывает, что бот обрабатывает код 503 как временную недоступность и возвращается позже, не снижая позиции страницы при кратких перебоях в работе сервера.

В SEO коды ответа влияют сразу на три критических процесса: краулинг (обход страниц роботом), индексирование (добавление в базу поиска) и передачу ссылочного веса. Страница с кодом 200 и хорошими поведенческими сигналами попадает в индекс и может ранжироваться по целевым запросам. Страница с постоянным кодом 404 не только не ранжируется — она расходует краулинговый бюджет, который мог бы уйти на полезные URL. Цепочки редиректов (301 -> 302 -> 200) расходуют бюджет ещё сильнее: Googlebot не всегда проходит более трех-четырех редиректов подряд, поэтому конечная страница рискует не попасть в индекс. Для e-commerce с тысячами SKU это критично: при реструктуризации каталога одна ошибка в настройке редиректов способна спрятать от поиска целые категории на месяцы.

Маркетолог, который умеет читать коды ответа, выявляет проблемы быстрее любого автоматического аудита. Например, код 200 на странице удаленного товара — так называемый soft 404 — не сигнализирует об ошибке в стандартном краулере, но поисковик всё равно определяет, что контент не несет ценности, и понижает страницу или исключает её из индекса. Знание семантики кодов позволяет ставить точные задачи разработчикам: не «почему страница не находится», а «нужен код 410 вместо 200 на удаленных карточках товаров». Анализ кодов помогает обнаружить взлом: неожиданные 301 на внешние домены — частый признак редиректного спама, которым атакуют магазины и корпоративные сайты. Это базовый технический навык, без которого невозможна полноценная работа с SEO, веб-аналитикой и монетизацией трафика.

Как работает код ответа сервера

  1. Клиент формирует HTTP-запрос. Браузер или поисковый бот отправляет запрос на сервер: указывает метод (GET, POST, HEAD), путь к ресурсу, версию протокола и набор заголовков. Для HEAD-запроса сервер вернет только заголовки без тела — именно этот метод использует большинство SEO-краулеров, чтобы быстро проверить код ответа без полной загрузки контента.
  2. Запрос достигает сервера и проходит первичную обработку. Веб-сервер (Nginx, Apache или их аналоги) получает запрос и проверяет виртуальный хост, SSL-сертификат и базовые правила доступа. Если запрос нарушает правило — например, метод не поддерживается или заголовок Authorization отсутствует — сервер формирует код ошибки (405, 401) на этом этапе, ещё до передачи запроса приложению. Именно здесь срабатывают правила .htaccess и конфигурации Nginx, которые задают редиректы и переопределяют коды ответа.
  3. Приложение или CMS генерирует ответ. Если сервер пропустил запрос дальше, его обрабатывает приложение: WordPress, Django, 1С-Битрикс или любая другая система. Приложение обращается к базе данных, проверяет наличие ресурса и формирует HTTP-ответ с нужным кодом. Именно на этом уровне возникает большинство soft 404: CMS отвечает кодом 200, но возвращает страницу «Товар не найден» вместо полноценного контента, вводя поисковик в заблуждение относительно качества страницы.
  4. Сервер формирует строку состояния и отправляет ответ. В начале HTTP-ответа идет строка вида «HTTP/1.1 200 OK»: версия протокола, числовой код и reason phrase. Далее следуют заголовки ответа (Content-Type, Cache-Control, Location при редиректах), затем тело. Заголовок Location при кодах 301, 302, 307 и 308 содержит целевой URL — без него редирект технически некорректен, и браузер не выполнит переход. При ответе 304 тело полностью отсутствует: сервер сообщает, что контент не изменился и клиент должен использовать закешированную копию.
  5. Клиент интерпретирует код и принимает решение. Браузер при получении 200 рендерит страницу. При 301 или 302 выполняет автоматический переход на URL из заголовка Location. При 404 показывает стандартную страницу ошибки или кастомный шаблон. При 503 может показать сообщение о недоступности или повторить запрос через задержку, указанную в заголовке Retry-After. Поисковый бот при 410 немедленно помечает URL для удаления из индекса — быстрее, чем при 404, где робот ждет несколько обходов подряд прежде чем окончательно убрать страницу.
  6. Поисковая система фиксирует код и обновляет индекс. Googlebot и Яндекс.Бот записывают код ответа при каждом обходе и принимают решения на его основе. Постоянный 301 на новый URL — сигнал перенести ранжирование на цель редиректа. Серия 503-ответов подряд снижает частоту обходов и временно замораживает позиции. Резкий рост числа 404 в Search Console — повод для технического аудита: скорее всего, сменилась структура URL или слетели настройки сервера.

Виды кодов ответа сервера

  • 1xx — информационные. Сервер сообщает, что получил запрос и продолжает обработку. На практике маркетолог редко сталкивается с этими кодами напрямую — они применяются при WebSocket-соединениях и загрузке крупных файлов по частям. Код 100 Continue означает, что клиент может продолжать отправку тела запроса. Для SEO эти коды нейтральны: поисковые роботы их не фиксируют как ошибки и никаких действий не предпринимают.
  • 2xx — успешные ответы. Самый важный для SEO класс кодов. Код 200 OK подтверждает, что страница найдена и контент передан — именно такой ответ нужен для индексирования. Код 204 No Content используется для AJAX-запросов и API: данные приняты, но тело ответа пустое. Код 206 Partial Content применяется при загрузке видео и больших файлов по частям. Ключевой принцип продвижения: все страницы, которые должны находиться в индексе, обязаны отвечать кодом 200.
  • 3xx — редиректы. Код 301 (Permanent Redirect) — постоянное перенаправление; передает ссылочный вес и позиции на новый URL, браузер запоминает адрес и больше не обращается к старому. Код 302 (Found) — временный редирект; поисковик сохраняет старый URL в индексе, ожидая его возвращения. Коды 307 и 308 ведут себя аналогично 302 и 301 соответственно, но явно сохраняют HTTP-метод при переходе. На практике неверный выбор между 301 и 302 при смене структуры URL задерживает передачу ранжирования на несколько месяцев.
  • 4xx — ошибки клиента. Код 400 Bad Request говорит о некорректном запросе — сломанный URL или невалидные заголовки. Код 401 Unauthorized требует аутентификации. Код 403 Forbidden означает, что ресурс существует, но доступ закрыт — например, закрытая папка с настройками сервера. Код 404 Not Found — страница не найдена, стандартный ответ для несуществующих URL. Код 410 Gone сообщает, что ресурс удален навсегда, и поисковик быстрее выведет такой URL из индекса, чем при 404. Код 429 Too Many Requests используют для защиты от ботов и парсинга при превышении лимита запросов.
  • 5xx — ошибки сервера. Код 500 Internal Server Error — общая ошибка сервера, чаще всего баг в PHP-коде или конфликт плагинов. Код 502 Bad Gateway возникает, когда Nginx не может получить ответ от upstream-приложения — типичная картина при перегрузке PHP-FPM в часы пик. Код 503 Service Unavailable говорит о временной недоступности: при плановых работах его нужно отдавать вместе с заголовком Retry-After, тогда поисковик сделает паузу и не снизит позиции. Код 504 Gateway Timeout возникает, когда upstream слишком долго отвечал — типично для тяжелых запросов к базе данных.
  • Специальные и нестандартные коды. Код 451 Unavailable For Legal Reasons введен в 2015 году (RFC 7725) для страниц, заблокированных по решению суда или регулятора — актуально для российского рынка при выполнении требований Роскомнадзора. Код 429 Too Many Requests применяется API-сервисами для ограничения запросов (rate limiting): при сборе данных для SEO-инструментов его получение означает, что нужно добавить паузы между запросами или использовать несколько IP-адресов.

Сравнение кодов редиректа

Код Тип Передача PageRank Метод после редиректа Типичное применение
301 Постоянный Передается (~99%) Может смениться на GET Смена URL, переезд домена, слияние страниц
302 Временный Не передается Может смениться на GET A/B-тесты, временные акции, тест нового URL
307 Временный Не передается Сохраняется (POST остается POST) Перенаправление форм без смены метода
308 Постоянный Передается Сохраняется (POST остается POST) Постоянный переезд с сохранением POST-запросов
Meta Refresh HTML-редирект Передается частично GET Устаревший способ, не рекомендован для SEO

Пример использования

Интернет-магазин детской одежды с трафиком около 22 000 визитов в месяц провел реструктуризацию каталога: URL категорий сменились с /catalog/boys/ на /boys/, а URL карточек товаров — с /product/id/ на /boys/product-name/. Разработчики настроили редиректы через .htaccess, но допустили системную ошибку: вместо 301 все переходы отдавали код 302. За семь недель органический трафик упал с 22 000 до 13 400 визитов в месяц, позиции по 140 коммерческим запросам сдвинулись вниз на 5-12 строк — поисковики не передавали вес ссылок на новые URL, удерживая его на старых адресах, которые вместо контента отдавали временный редирект.

После аудита команда заменила 302 на 301 для всех переехавших страниц и добавила 410 для товаров, снятых с продажи (ранее они возвращали 200 с текстом «Товар недоступен»). Через четыре недели после исправления органический трафик восстановился до 20 800 визитов, а по 67 приоритетным запросам позиции вернулись в исходный диапазон. Устранение soft 404 — перевод снятых товаров с 200 на 410 — очистило краулинговый бюджет: количество страниц, обходимых роботом за сутки, выросло на 31%, что ускорило переиндексирование новых URL категорий.

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

Влияет ли код ответа сервера на позиции в поиске?

Влияние прямое и подтверждено официальными источниками. Google в блоге Search Central подтвердил, что 301 передает ссылочный вес практически без потерь — это означает, что правильно настроенный переезд сайта не теряет накопленные позиции при смене URL. При постоянных ответах 404 на важные страницы поисковик постепенно удаляет их из индекса, и позиции по соответствующим запросам обнуляются — иногда за несколько недель, иногда за несколько месяцев в зависимости от частоты обходов. Серия ответов 503 без заголовка Retry-After в течение нескольких дней снижает частоту обходов и может просадить позиции, хотя при восстановлении сервера ситуация нормализуется. Код 410 на удаленных страницах сокращает время вывода URL из индекса с нескольких недель (как при 404) до нескольких дней.

Как быстро проверить коды ответа для большого сайта?

Самый распространенный инструмент без программирования — Screaming Frog SEO Spider: бесплатная версия проверяет до 500 URL, платная — без ограничений. Он показывает код ответа для каждого обходимого URL, строит цепочки редиректов и выделяет проблемные страницы цветом. Google Search Console в разделе «Покрытие» группирует URL по кодам ответа и позволяет выгрузить конкретные страницы с ошибками — это быстрее ручного обхода для уже проиндексированных адресов. Яндекс.Вебмастер в разделе «Диагностика» показывает страницы с ошибками краулинга с разбивкой по типу ошибки. Для разовой проверки отдельного URL в командной строке достаточно команды curl -I https://example.com/page — она вернет заголовки ответа включая статус-код за долю секунды. Онлайн-сервисы типа httpstatus.io удобны для проверки цепочек редиректов без установки программ.

Что делать, если страница возвращает 200, но не попадает в индекс?

Код 200 — необходимое, но не достаточное условие для индексирования. Первое, что нужно проверить: нет ли на странице тега meta robots с значением noindex или HTTP-заголовка X-Robots-Tag: noindex — они запрещают индексирование даже при корректном коде 200. Второе — закрыт ли URL в robots.txt: краулер может не зайти на страницу вовсе, тогда её код ответа ему просто неизвестен. Третье — убедитесь, что это не soft 404: Google Search Console в разделе «Проверка URL» показывает, считает ли Googlebot страницу похожей на 404, даже если код ответа 200. Если содержимое страницы очень короткое, дублирует другой URL или не несет уникальной ценности, поисковик может сознательно исключить её из индекса — это уже вопрос качества контента, а не кодов ответа. При наличии всех технических условий проблема может быть в краулинговом бюджете: инструмент «Проверка URL» в Search Console ускоряет индексирование через кнопку «Запросить индексирование».

Все термины