Группы кодов
Первая цифра задаёт смысл всего кода.
| Группа | Значение | Примеры |
|---|---|---|
| 2xx | Успех | 200 |
| 3xx | Перенаправление | 301, 302, 304 |
| 4xx | Ошибка на стороне запроса | 403, 404, 410 |
| 5xx | Ошибка на стороне сервера | 500, 502, 503 |
200 — страница существует
Нормальный ответ для любой рабочей страницы. Проблемы начинаются, когда код 200 отдают страницы, которых по смыслу быть не должно.
- Страница ошибки с текстом «ничего не найдено» и кодом 200 — так называемая мягкая 404. В индекс попадают сотни одинаковых пустых страниц.
- Адрес с любым произвольным параметром, если нет канонического указания.
- Обе версии адреса — со слэшем и без, с www и без — вместо перенаправления на одну.
301 и 302 — два разных перенаправления
Различие принципиальное, и ошибка здесь стоит дорого.
| Код | Смысл | Что делает поисковая система |
|---|---|---|
| 301 | Переехало навсегда | Переносит сигналы на новый адрес, старый убирает из индекса |
| 302 | Временно | Оставляет в индексе старый адрес |
Постоянный переезд, оформленный как временный, приводит к тому, что оба адреса долго живут в индексе. Подробный разбор с примерами настройки — в инструкции по 301-редиректу.
404 и 410 — страницы нет
404 означает «не найдено», 410 — «удалено окончательно». Оба выводят страницу из индекса, 410 обычно быстрее.
Требование к обоим одинаковое: код должен быть настоящим. Проверить это в браузере невозможно — нужен инструмент, показывающий заголовки ответа.
Мягкая 404 — самая частая ошибка. Страница выглядит как ошибка, но отдаёт 200. Возникает, когда обработчик ошибок написан как обычная страница. Проверяется просто: откройте заведомо несуществующий адрес и посмотрите код ответа.
503 — сайт временно недоступен
Правильный ответ на время технических работ. Он сообщает: сайт жив, но сейчас занят, зайдите позже. Поисковая система не станет выбрасывать страницы из индекса и вернётся позже.
Ошибкой было бы отдавать в это время 404 или 500: первое означает, что страниц больше нет, второе — что сайт сломан. К ответу 503 полезно добавить заголовок с ориентировочным временем восстановления.
403 и 500
403 — доступ запрещён. Появляется при неверных правах на файлы или при блокировке. Если 403 отдают обычные страницы, сайт выпадет из индекса.
500 — внутренняя ошибка сервера. Самая частая причина на обычном хостинге — синтаксическая ошибка в .htaccess, о чём подробно в статье про настройку .htaccess.
Ситуация и правильный ответ
| Ситуация | Код |
|---|---|
| Обычная рабочая страница | 200 |
| Страница переехала на новый адрес | 301 |
| Склейка www, http, слэша | 301 |
| Акция закончилась, вернётся позже | 302 |
| Товара нет в наличии, но он вернётся | 200 |
| Товар снят с продажи навсегда | 404 или 410 |
| Технические работы на сайте | 503 |
| Раздел закрыт для незалогиненных | 403 |
Как проверить код ответа
- Инструменты разработчика в браузере: вкладка «Сеть», колонка со статусом.
- Онлайн-сервисы проверки заголовков ответа.
- Панель вебмастера: отчёты по обходу показывают коды для всех известных адресов.
- Краулер при сканировании сайта — самый полный вариант.
Минимальный набор проверок для любого сайта: главная в четырёх вариантах адреса, внутренняя страница, заведомо несуществующий адрес, адрес с произвольным параметром. Четыре проверки за пять минут отлавливают большинство проблем.
304 и кеширование
Отдельного упоминания заслуживает код 304 — «не изменилось». Он отдаётся, когда браузер или робот спрашивает: изменилась ли страница с прошлого визита, и получает отрицательный ответ.
Для крупных сайтов это способ экономить бюджет обхода: робот не скачивает заново то, что не менялось, и тратит время на новые страницы. Работает механизм через заголовки с датой изменения и идентификатором версии страницы.
Когда ошибки становятся массовыми
Одиночная ошибка 404 — норма для любого сайта. Тревожный признак — резкий рост их числа.
| Симптом | Вероятная причина |
|---|---|
| Резкий рост 404 за сутки | Смена структуры адресов без редиректов |
| Массовые 500 | Ошибка в .htaccess или сбой на сервере |
| Массовые 403 | Неверные права на файлы после переноса |
| Постоянные 302 вместо 301 | Настройка перенаправлений по умолчанию в CMS |
Проверяйте отчёт об ошибках обхода после каждого обновления сайта: большинство проблем видно уже на следующий день.
Частые вопросы
Что такое мягкая 404?
Страница ошибки, которая отдаёт код 200 вместо 404. Поисковая система считает её обычной страницей и индексирует, из-за чего в индексе появляются десятки пустых копий.
Какой код отдавать во время технических работ?
503. Он сообщает, что сайт временно недоступен, и страницы не выпадут из индекса. Отдавать 404 или 500 в это время нельзя.
Можно ли посмотреть код ответа прямо в браузере?
Да, во вкладке «Сеть» инструментов разработчика. Визуально страница может выглядеть одинаково при разных кодах, поэтому проверять нужно именно заголовки.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.