Код ответа сервера
Код ответа сервера (также HTTP-статус код, HTTP status code) - трёхзначное число, которое сервер возвращает в ответ на запрос браузера или поискового робота. Код информирует о результате обработки запроса: успешно ли загружена страница, произошла ли ошибка, требуется ли перенаправление на другой адрес.
Для интернет-маркетолога и SEO-специалиста понимание кодов ответа критически важно, так как они напрямую влияют на индексацию сайта поисковыми системами и пользовательский опыт. Неправильные коды могут привести к тому, что важные страницы выпадут из поиска или не будут загружаться у посетителей.
Классификация кодов ответа
[править]Все HTTP-статусы делятся на 5 классов, определяемых первой цифрой кода.
1xx: Информационные
[править]Коды этого класса информируют о том, что запрос принят и обрабатывается. В обычной работе сайтов встречаются редко и обычно не видны пользователю. Для SEO не имеют значения.
2xx: Успешные
[править]Коды, сообщающие об успешной обработке запроса.
200 OK - самый желательный код. Означает, что страница успешно загружена и передана браузеру или поисковому роботу. Все страницы, которые должны быть в индексе, должны отдавать именно этот код.
201 Created - запрос выполнен успешно, и в результате создан новый ресурс. Используется в API при создании записей.
204 No Content - запрос выполнен успешно, но сервер не возвращает никакого содержимого. Иногда используется для служебных вызовов.
3xx: Перенаправления
[править]Коды этого класса указывают, что для получения запрошенного ресурса необходимо выполнить дополнительное действие, обычно перейти по другому URL.
301 Moved Permanently - постоянное перенаправление. Указывает, что страница навсегда перемещена на новый адрес. Поисковые системы передают вес страницы на новый URL и обновляют ссылки в своей базе. Используется при смене домена, переезде на HTTPS, объединении страниц.
302 Found (ранее 302 Moved Temporarily) - временное перенаправление. Указывает, что страница временно доступна по другому адресу. Поисковые системы не передают вес и продолжают индексировать исходный URL. Используется при технических работах, A/B-тестировании, временных акциях.
303 See Other - аналогичен 302, но предписывает использовать метод GET для получения ресурса. Редко используется в обычных сайтах.
304 Not Modified - указывает, что страница не изменилась с момента последнего запроса. Используется для экономии трафика и ускорения загрузки: браузер или робот могут использовать кэшированную версию.
307 Temporary Redirect - замена 302 для HTTP 1.1. Аналогично 302 указывает на временное перенаправление.
308 Permanent Redirect - замена 301 для HTTP 1.1. Аналогично 301 указывает на постоянное перенаправление.
4xx: Ошибки клиента
[править]Коды, указывающие, что ошибка произошла по вине клиента (браузера или пользователя) - запрошен несуществующий ресурс, недостаточно прав доступа и т.д.
400 Bad Request - сервер не может обработать запрос из-за синтаксической ошибки. Редко встречается на обычных сайтах.
401 Unauthorized - требуется аутентификация. Пользователь должен войти в систему для доступа к ресурсу.
403 Forbidden - доступ запрещён. Сервер понял запрос, но отказывается его выполнять. Обычно означает, что у пользователя или робота нет прав на просмотр страницы. Важно не путать с 404: здесь страница существует, но доступ к ней ограничен.
404 Not Found - самая известная ошибка. Означает, что запрошенный ресурс не найден на сервере. Страница могла быть удалена, перемещена без редиректа или никогда не существовать. Поисковые системы исключают страницы с 404 из индекса.
405 Method Not Allowed - метод запроса (GET, POST и т.д.) не поддерживается для данного ресурса.
410 Gone - страница была удалена намеренно и больше не вернётся. В отличие от 404, это более явный сигнал для поисковиков, что страница не существует и не появится вновь.
429 Too Many Requests - слишком много запросов за короткое время. Часто возвращается при защите от DDoS-атак или при превышении лимитов API.
5xx: Ошибки сервера
[править]Коды, указывающие, что ошибка произошла на стороне сервера. Сервер не смог выполнить запрос по внутренним причинам.
500 Internal Server Error - внутренняя ошибка сервера. Самая общая ошибка, указывающая, что на сервере произошёл сбой, но конкретная причина не уточняется. Требует анализа логов сервера и работы программистов.
502 Bad Gateway - сервер, выступая в роли шлюза или прокси, получил недействительный ответ от вышестоящего сервера. Часто возникает при проблемах с хостингом или CDN.
503 Service Unavailable - сервер временно не может обработать запрос из-за перегрузки или технических работ. Поисковые системы понимают, что проблема временная, и возвращаются позже.
504 Gateway Timeout - сервер, выступая в роли шлюза, не дождался ответа от вышестоящего сервера.
507 Insufficient Storage - недостаточно места на сервере для обработки запроса.
Значение для SEO
[править]200 OK
[править]Все страницы, которые должны присутствовать в поиске, должны отдавать именно этот код. Регулярная проверка статусов помогает убедиться, что важные разделы доступны для индексации.
301 редирект
[править]Правильное использование 301-редиректов позволяет сохранить вес страницы при её перемещении. Например, при смене домена, переходе с HTTP на HTTPS, объединении похожих страниц.
Важно: использовать 301 только для постоянных перемещений. Для временных акций или тестирования применяется 302.
404 ошибка
[править]Страницы с 404 должны быть сведены к минимуму. Битые ссылки ухудшают пользовательский опыт и заставляют поисковых роботов тратить бюджет сканирования впустую.
Что делать с 404:
- Настроить правильные редиректы для страниц, которые были перемещены
- Вернуть 410 для страниц, которые удалены навсегда и точно не вернутся
- Создать полезную кастомную страницу 404 с навигацией по сайту
5xx ошибки
[править]Ошибки сервера - сигнал о серьёзных технических проблемах. Длительное наличие 5xx может привести к исключению страниц из индекса, так как поисковые роботы не могут получить к ним доступ.
При временных проблемах (например, пиковые нагрузки) лучше использовать 503, чтобы поисковики понимали, что ситуация временная и вернутся позже.
Как проверить коды ответа
[править]Вручную
[править]В браузере можно посмотреть код ответа через инструменты разработчика (F12 → вкладка Network). При загрузке страницы все запросы отображаются с их статусами.
Специализированные инструменты
[править]- Screaming Frog SEO Spider - при сканировании сайта показывает код ответа для каждой страницы. Позволяет быстро найти все страницы с ошибками.
- Netpeak Spider - аналогичный функционал с удобными фильтрами.
- Яндекс.Вебмастер - раздел «Диагностика» → «Состояние страниц» показывает страницы с ошибками, которые нашёл робот Яндекса.
- Google Search Console - раздел «Покрытие» содержит информацию о страницах с ошибками и предупреждениями.
- Online HTTP Status Checker - простые онлайн-сервисы для проверки одного URL.
Анализ логов сервера
[править]Наиболее полный метод - анализ access-логов сервера. Он показывает не только какие страницы посещали роботы, но и какие коды они получали в ответ. Полезно для понимания реальной ситуации с индексацией.
Распространённые проблемы
[править]- Мягкие 404. Страницы отдают код 200, но содержат текст «страница не найдена» или пустой контент. Поисковые системы индексируют такие страницы, что приводит к засорению базы бесполезными URL.
- Цепочки редиректов. Несколько последовательных перенаправлений (301 → 302 → 301) увеличивают время загрузки и могут привести к потере веса.
- Редиректы на главную. Вместо перенаправления на конкретную страницу все удалённые страницы ведут на главную. Поисковики считают это плохой практикой.
- Страницы с 5xx в Google Search Console. Длительное наличие серверных ошибок сигнализирует о проблемах с хостингом или кодом.
- Закрытые в robots.txt страницы с 200. Если страница закрыта от индексации в robots.txt, но робот всё равно пытается её сканировать и получает 200, бюджет тратится впустую.
