HTTP статус-код — трёхзначное число в ответе сервера, сообщающее результат обработки запроса. Для SEO критичны коды 2xx (успех), 3xx (редиректы), 4xx (ошибки клиента) и 5xx (ошибки сервера). В этом справочнике разберём основные коды и их влияние на индексацию.
Структура HTTP кодов
Первая цифра определяет категорию:
| Диапазон | Категория |
|---|---|
| 1xx | Информационные |
| 2xx | Успех |
| 3xx | Перенаправление |
| 4xx | Ошибка клиента |
| 5xx | Ошибка сервера |
Коды успеха (2xx)
200 OK
Запрос выполнен успешно, ресурс возвращён. Основной код для страниц, которые должны индексироваться.
HTTP/1.1 200 OK
Content-Type: text/html204 No Content
Сервер обработал запрос, но не возвращает контент. Редко используется для веб-страниц.
Коды перенаправления (3xx)
301 Moved Permanently
Постоянное перемещение. Ресурс перенесён на новый адрес. Для Google это сильный сигнал выбора целевого URL в качестве канонического; код сам по себе не гарантирует сохранение позиций или трафика.
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-pageИспользование: смена домена, изменение URL, миграция на HTTPS. Подробнее — в руководстве по редиректам.
302 Found (Temporary Redirect)
Временное перенаправление. Ресурс временно по другому адресу. Для Google это более слабый сигнал выбора целевого URL в качестве канонического, чем постоянный редирект. Выбирайте код по назначению перехода.
HTTP/1.1 302 Found
Location: https://example.com/temp-pageИспользование: A/B тесты, временные акции. Для постоянных изменений — 301.
307 Temporary Redirect
Как 302, но сохраняет метод запроса (POST остаётся POST). Рекомендуется вместо 302 для временных редиректов.
308 Permanent Redirect
Как 301, но сохраняет метод запроса. Рекомендуется вместо 301 при перенаправлении POST-запросов.
Коды ошибок клиента (4xx)
400 Bad Request
Неверный синтаксис запроса. Клиент отправил некорректные данные. Редко встречается при обычном просмотре.
401 Unauthorized
Требуется авторизация. Страница доступна после входа. Не индексируется (робот не авторизуется).
403 Forbidden
Доступ запрещён. Сервер понял запрос, но отказывает в доступе. Если Googlebot получил 403, содержимое этого ответа не используется для индексирования. Проверяйте, какой ответ получает именно робот: блокировка по IP может давать посетителю и роботу разные результаты.
404 Not Found
Ресурс не найден. Самая известная ошибка. Страница не существует. Подробнее — в руководстве по исправлению 404.
HTTP/1.1 404 Not FoundДействия: настроить 301 на релевантную страницу или оставить 404 с кастомной страницей. Массовая проверка — bulk checker reChecker.
410 Gone
Ресурс удалён навсегда. В отличие от 404, код явно сообщает о постоянном удалении. Google описывает одинаковую обработку 4xx, кроме 429; более быстрое удаление из индекса только из-за выбора 410 не гарантируется.
429 Too Many Requests
Превышен лимит запросов (rate limiting). Временная блокировка. Может влиять на краулинг.
Коды ошибок сервера (5xx)
500 Internal Server Error
Внутренняя ошибка сервера. Код приложения, база данных, конфигурация. Критично для SEO — страница недоступна.
502 Bad Gateway
Сервер-посредник получил неверный ответ от upstream. Часто при проблемах с PHP-FPM, балансировщиками.
503 Service Unavailable
Сервис временно недоступен. Техобслуживание, перегрузка. Роботы могут вернуться позже. Рекомендуется Retry-After.
HTTP/1.1 503 Service Unavailable
Retry-After: 3600504 Gateway Timeout
Таймаут при ожидании ответа от upstream. Сервер не успел обработать запрос.
Влияние на SEO
| Код | Индексация | Действие |
|---|---|---|
| 200 | Содержание может быть рассмотрено для индексации; включение не гарантировано | Проверить, что получен нужный документ |
| 301 | Сильный сигнал выбора целевого URL | Проверить цепочку и соответствие новой страницы |
| 302/307 | Временное | Для постоянных — заменить на 301 |
| 404 | Исключение | Редирект или кастомная страница |
| 410 | Обрабатывается как остальные 4xx, кроме 429 | Для явно удалённого навсегда контента |
| 500, 502, 503, 504 | Проблемы | Исправить сервер |
Текущая обработка кодов описана в документации Google. Успешный ответ сервера не подтверждает индексирование; для конкретного URL сверяйте сведения поискового кабинета.
Массовая проверка статус-кодов
При сотнях и тысячах URL удобна пакетная проверка. Массовая проверка URL на reChecker показывает полученные статус-коды и отслеженные переходы. Инструмент проверки редиректов проверяет серверные HTTP-переходы; JavaScript и meta refresh не исполняются. Сетевой сбой или неотслеженный переход не подтверждают ответ целевой страницы.
Информационные коды (1xx)
100 Continue
Клиент может продолжать запрос. Используется при Expect: 100-continue. Редко встречается в веб-разработке.
101 Switching Protocols
Сервер переключает протокол (например, на WebSocket). Используется при upgrade соединения.
Дополнительные коды 3xx
303 See Other
Результат по другому URL, запрос методом GET. Используется после POST для предотвращения повторной отправки формы.
304 Not Modified
Ресурс не изменился с момента последнего запроса. Клиент может использовать кэш. Важен для производительности — сокращает передачу данных.
305 Use Proxy (устарел)
Указывал на необходимость использовать прокси. Практически не используется.
306 (не используется)
Зарезервирован, не применяется.
Дополнительные коды 4xx
405 Method Not Allowed
Метод не разрешён для ресурса. GET разрешён, POST — нет. Проверьте настройки сервера для API.
406 Not Acceptable
Сервер не может вернуть контент в формате, запрошенном через Accept-заголовки. Редко для обычных страниц.
408 Request Timeout
Сервер не получил полный запрос вовремя. Может указывать на проблемы с сетью или перегрузку.
409 Conflict
Конфликт при обработке запроса (например, версионность). Часто в API.
410 Gone
Ресурс удалён навсегда. Отличие от 404 — явное указание на постоянное удаление. Для Google действует общая обработка 4xx, кроме 429. Используйте код по смыслу ответа, без обещания ускоренного удаления из индекса.
429 Too Many Requests
Rate limiting. Клиент отправил слишком много запросов. Retry-After указывает, когда повторить. Может влиять на краулинг при агрессивном сканировании.
Дополнительные коды 5xx
501 Not Implemented
Сервер не поддерживает функциональность запроса. Ошибка конфигурации или неполная реализация.
502 Bad Gateway
Сервер-шлюз получил неверный ответ от upstream. Часто при сбоях PHP-FPM, Node.js, балансировщиков. Проверьте логи upstream-сервисов.
503 Service Unavailable
Сервис временно недоступен. Техобслуживание, перегрузка. Retry-After помогает клиентам и роботам понять, когда повторить запрос.
504 Gateway Timeout
Таймаут при ожидании ответа от upstream. Увеличьте таймауты или оптимизируйте медленные запросы.
505 HTTP Version Not Supported
Сервер не поддерживает версию HTTP. Редко.
Проверка через curl
# Простая проверка
curl -I https://example.com/page
# Следование редиректам (показать финальный код)
curl -I -L https://example.com/old-page
# Только код
curl -o /dev/null -s -w "%{http_code}\n" https://example.com/page
# С таймингом
curl -o /dev/null -s -w "Code: %{http_code}, Time: %{time_total}s\n" https://example.com/pageЧек-лист для сайта
| Проверка | Рекомендация |
|---|---|
| Важные страницы | 200 |
| Старые URL | 301 на актуальные |
| Несуществующие | 404 или 410 |
| Временные редиректы | Заменить на 301 при постоянном переносе |
| 5xx ошибки | Устранить |
| Цепочки редиректов | Сократить до одного 301 |
Логирование и мониторинг статус-кодов
Серверные логи
Логи веб-сервера (Nginx, Apache) содержат код ответа для каждого запроса. Анализ логов выявляет частоту 4xx и 5xx, проблемные URL. Инструменты: GoAccess, AWStats, ELK Stack.
Алерты на 5xx
Настройте мониторинг (Uptime Robot, Pingdom, собственные скрипты) с алертами при 5xx. Быстрое обнаружение сбоев критично для минимизации простоя.
Метрики для дашборда
Отслеживайте: долю 200 vs 4xx vs 5xx, топ URL по 404, топ URL по 5xx. Тренды помогают выявить системные проблемы.
Связанные материалы
Исправление 404 — в руководстве по 404 ошибкам. Оптимизация редиректов — в руководстве по редиректам. Массовая проверка — в bulk checker и инструменте редиректов на reChecker.