HTTP статус-код — трёхзначное число в ответе сервера, сообщающее результат обработки запроса. Для SEO критичны коды 2xx (успех), 3xx (редиректы), 4xx (ошибки клиента) и 5xx (ошибки сервера). В этом справочнике разберём основные коды и их влияние на индексацию.
Структура HTTP кодов
Первая цифра определяет категорию:
| Диапазон | Категория |
|---|---|
| 1xx | Информационные |
| 2xx | Успех |
| 3xx | Перенаправление |
| 4xx | Ошибка клиента |
| 5xx | Ошибка сервера |
Коды успеха (2xx)
200 OK
Запрос выполнен успешно, ресурс возвращён. Основной код для страниц, которые должны индексироваться.
HTTP/1.1 200 OK
Content-Type: text/html
204 No Content
Сервер обработал запрос, но не возвращает контент. Редко используется для веб-страниц.
Коды перенаправления (3xx)
301 Moved Permanently
Постоянное перемещение. Ресурс навсегда по новому адресу. Передаёт ссылочный вес на целевой URL.
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page
Использование: смена домена, изменение URL, миграция на HTTPS. Подробнее — в руководстве по редиректам.
302 Found (Temporary Redirect)
Временное перенаправление. Ресурс временно по другому адресу. Ссылочный вес не передаётся.
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
Доступ запрещён. Сервер понял запрос, но отказывает в доступе. Может индексироваться в зависимости от контекста (например, блокировка по IP).
404 Not Found
Ресурс не найден. Самая известная ошибка. Страница не существует. Подробнее — в руководстве по исправлению 404.
HTTP/1.1 404 Not Found
Действия: настроить 301 на релевантную страницу или оставить 404 с кастомной страницей. Массовая проверка — bulk checker reChecker.
410 Gone
Ресурс удалён навсегда. Как 404, но явно указывает на постоянное удаление. Google быстрее исключает из индекса.
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: 3600
504 Gateway Timeout
Таймаут при ожидании ответа от upstream. Сервер не успел обработать запрос.
Влияние на SEO
| Код | Индексация | Действие |
|---|---|---|
| 200 | Да | Норма |
| 301 | Перенос веса | Проверить цепочки, целевой URL |
| 302/307 | Временное | Для постоянных — заменить на 301 |
| 404 | Исключение | Редирект или кастомная страница |
| 410 | Быстрое исключение | Для удалённого контента |
| 500, 502, 503, 504 | Проблемы | Исправить сервер |
Массовая проверка статус-кодов
При сотнях и тысячах URL ручная проверка невозможна. Массовая проверка URL на reChecker проверяет статус-коды пакетно. Инструмент проверки редиректов анализирует цепочки перенаправлений.
Информационные коды (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 быстрее исключает 410 из индекса. Используйте при целенаправленном удалении контента.
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.