Коды ответа HTTP: 200, 301, 404, 500 и другие простым языком
Код ответа HTTP — это трёхзначное число, которым сервер отвечает браузеру и поисковому роботу на каждый запрос. По нему видно, отдалась ли страница, переехала ли она и на чьей стороне ошибка. Разбираем коды, которые встречаются в жизни сайта чаще всего.
Пять групп кодов
Первая цифра кода задаёт смысл ответа, остальные две уточняют детали. Запомнив пять групп, вы понимаете половину сообщений сервера без справочника.
| Группа | Значение | Чья зона ответственности |
|---|---|---|
| 1xx | Запрос принят, обработка продолжается | Служебные, в жизни сайта почти не встречаются |
| 2xx | Успех: запрос выполнен | Норма, ничего чинить не нужно |
| 3xx | Перенаправление: ресурс живёт по другому адресу | Настройки сайта |
| 4xx | Ошибка запроса: клиент попросил не то | Адрес, права доступа, ссылка |
| 5xx | Ошибка сервера: запрос верный, но обработать не смогли | Сервер, приложение, база данных |
Практический вывод из таблицы: коды 4xx означают проблему на стороне запроса, а 5xx — поломку внутри вашей инфраструктуры. Первое чинит редактор или разработчик, второе — админ.
Коды, которые встречаются чаще всего
| Код | Что означает | Что делать |
|---|---|---|
| 200 OK | Страница отдана успешно | Ничего, это норма |
| 301 | Постоянный переезд на новый адрес | Использовать при смене URL: вес страницы передаётся новому адресу |
| 302 | Временный переезд | Не оставлять надолго: старый адрес остаётся основным для поиска |
| 304 | Не изменилось с прошлого запроса | Норма, экономит трафик за счёт кэша браузера |
| 403 | Доступ запрещён | Проверить права на файлы и правила защиты: под 403 часто режут и поисковых роботов |
| 404 | Страница не найдена | Поставить 301 на актуальный адрес или оставить 404, если страницы больше нет |
| 410 | Страница удалена навсегда | Отдавать, когда контент удалён осознанно: из индекса вылетает быстрее, чем по 404 |
| 429 | Слишком много запросов | Смягчить лимиты, если под них попадают роботы поисковиков |
| 500 | Внутренняя ошибка сервера | Смотреть логи приложения: обычно ошибка в коде или в подключении к базе |
| 502 | Шлюз получил некорректный ответ | Проверить бэкенд за прокси: PHP-FPM, Node, приложение упало или не запущено |
| 503 | Сервис временно недоступен | Штатный код для техработ: добавить заголовок Retry-After |
| 504 | Шлюз не дождался ответа | Искать долгие запросы к базе и внешним сервисам, поднять таймауты |
Какие коды бьют по SEO
Поисковый робот видит те же коды, что и браузер, и делает из них выводы об индексации. Три ситуации опаснее остальных.
Длинные цепочки редиректов. Каждый лишний переход тратит краулинговый бюджет и размывает вес ссылки. Один переход вместо трёх — рабочее правило.
Массовые 404 после переезда. Смена структуры адресов без карты редиректов выбивает из индекса разом сотни страниц вместе с их позициями.
Долгие 5xx. Разовую ошибку робот простит и вернётся позже. Если сайт отдаёт 500 или 502 часами, страницы начинают выпадать из выдачи.
«Мягкий 404» — когда сайт показывает текст «страница не найдена», но отдаёт код 200. Человек видит ошибку, а поисковик считает страницу нормальной и держит её в индексе. Проверяйте не надпись на экране, а код в ответе сервера.
Как посмотреть код ответа
В браузере: откройте инструменты разработчика клавишей F12, вкладку «Сеть» и обновите страницу — код будет в первой строке списка запросов.
В терминале быстрее. Запрос методом HEAD возвращает только заголовки, без тела страницы:
curl -I https://example.ru
Чтобы увидеть всю цепочку редиректов целиком, добавьте флаг перехода по ним:
curl -ILs https://example.ru | grep HTTP
Пруфен следит за кодом ответа постоянно: проверка доступности по HTTP запускается с интервалом от 2 минут из 13 точек, и когда сайт вместо 200 начинает отдавать 500 или 502, приходит уведомление на Email, в Telegram, в Макс или звонком. Бесплатно доступны 5 проверок без ограничения по времени.
Частые вопросы
Чем 301 отличается от 302 для поиска? По 301 поисковик переносит адрес и накопленный вес страницы на новый URL. По 302 он считает переезд временным и продолжает держать в индексе старый адрес. Ошибка с выбором кода стоит позиций.
Что лучше при удалении товара — 404 или 410? Если товар исчез навсегда и замены нет, честнее 410: он говорит поисковику, что возвращаться не нужно. Если появится аналог, поставьте 301 на него.
Опасен ли 503 во время техработ? Нет, при коротких работах это правильный код: он показывает, что сайт жив, но временно занят. Опасен как раз обратный случай — когда во время работ отдаётся 200 с пустой страницей.
Почему сайт открывается в браузере, но мониторинг видит ошибку? Браузер мог показать страницу из кэша, а робот запрашивает её заново. Ещё вариант — защита сайта отдаёт роботам 403 или 429, пока обычные посетители заходят нормально.