Soft 404 — ситуация, когда несуществующая страница отдаёт HTTP-код 200 (OK) вместо 404, но контент пустой или с сообщением «ничего не найдено». Поисковик решает, что страница есть, и расходует на неё crawl budget — но в индекс не добавляет.
Возникает обычно из-за неправильного шаблона на CMS, удалённых товаров без редиректа, фильтров без результатов. Лечится правильным возвратом 404 или 410, или 301 на ближайший осмысленный URL.
| Код | Название | Что означает / когда отдавать |
|---|---|---|
| 200 | OK | Страница есть и отдаётся нормально |
| 301 | Moved Permanently | Постоянный редирект — старый URL переехал навсегда. Передаёт ≈90% ссылочного веса |
| 302 | Found | Временный редирект. Старый URL остаётся в индексе |
| 304 | Not Modified | Контент не изменился, используй кэш. Экономит трафик |
| 403 | Forbidden | Доступ запрещён. Часто из-за неправильных прав или WAF |
| 404 | Not Found | Страница не существует. Из индекса выпадает за ≈4–8 недель |
| 410 | Gone | Удалён намеренно и навсегда. Выпадает из индекса быстрее, чем 404 |
| 500 | Internal Server Error | Ошибка сервера. Сильно бьёт по индексации и поведенческим |
| 503 | Service Unavailable | Временно недоступно (например, на время техработ). Робот вернётся позже |
Soft 404 vs обычная 404
Разница в одном — в HTTP-коде, и именно она сбивает поисковик с толку:
| Тип | HTTP-код | Что видит пользователь | Что делает поисковик |
|---|---|---|---|
| Обычная 404 | 404 Not Found | «Страница не найдена» | Корректно выкидывает из индекса |
| Soft 404 | 200 OK | Пустую страницу или «ничего не найдено» | Путается: тратит crawl budget, может сам переоценить в 404 |
Из-за чего возникает soft 404
- CMS отдаёт заглушку с кодом 200. Например, WooCommerce при удалённом товаре иногда возвращает пустую страницу или главную с кодом 200 вместо 404.
- Пустые результаты фильтров и поиска по сайту. URL есть, контента нет — страница формально «успешна».
- Старые движки с редиректом на главную. Несуществующий адрес ведёт на главную с кодом 200 — для поисковика это дубль, а не 404.
- Кастомная страница 404, ошибочно отдающая 200. Дизайн «страницы не найдено» сделали, а правильный код вернуть забыли.
Как обнаружить soft 404
- Google Search Console → отчёт «Индексирование страниц» → тип «Не найдено (soft 404)». Точка входа для большинства SEO-специалистов.
- Screaming Frog — просканируйте сайт и отфильтруйте тонкие/пустые страницы, которые отдают код 200.
- Вручную через DevTools. F12 → вкладка Network → откройте подозрительный URL → посмотрите Status Code. Быстрее — через проверку ответа сервера.
Как исправить soft 404
- Вернуть корректный код. Если страницы нет — отдавайте 404, а если удалили навсегда — 410 (выпадает из индекса быстрее). Настраивается в CMS или на сервере.
- Поставить 301-редирект. Если у страницы есть смысловая замена — редирект на ближайший URL (например, на категорию). Правила удобно собрать в генераторе 301-редиректов.
- Наполнить страницу. Если страница должна жить (например, карточка временно отсутствующего товара) — добавьте блок «похожие товары» и оставьте 200: тогда это уже не soft 404.
- Убрать генерацию пустышек. Закройте от индексации пустые страницы фильтров и поиска или не плодите под них отдельные URL.
Чем soft 404 вредит SEO
Это не «безобидная мелочь». Soft 404 расходует crawl budget на мусорные страницы вместо важных, ухудшает общую оценку качества сайта (в индексе копятся пустышки), вызывает предупреждения в Search Console и иногда приводит к ложной индексации пустых страниц по нужным запросам. На большом сайте с тысячами товаров и фильтров эффект ощутимый.
Частые вопросы
Чем soft 404 отличается от обычной 404?
Как найти soft 404 на сайте?
Чем грозит soft 404?
Код 200 на несуществующей странице — это всегда плохо?
Удалённый артикул товара возвращает страницу со сообщением «товар закончился», но HTTP-код 200. Поисковик расходует на неё crawl budget, в индекс не добавляет.
Опасность soft 404 не в одной странице, а в масштабе. На интернет-магазине с фильтрами по цвету, размеру и бренду пустых комбинаций генерируются тысячи: «красные ботинки 47 размера» товара нет, но URL отдаёт 200 и шаблон каталога. Робот обходит их вместо живых карточек, и crawl budget уходит в пустоту — новые товары неделями не попадают в индекс. В Google Search Console это всплывает как растущий отчёт «Страница с переадресацией / Soft 404», в Яндекс.Вебмастере — как страницы «малоценные или маловостребованные», которые робот сам исключает.
Проверять код ответа надо именно у несуществующего адреса, а не у заглавной страницы 404. Добавьте к любому URL мусорный хвост — /asdf123 — и посмотрите ответ через curl -I, плагин Link Redirect Trace или вкладку Network в DevTools. Должно прийти 404 или 410; если 200 — это soft 404, даже когда на экране красиво написано «страница не найдена». Для удалённых товаров с трафиком и ссылками лучше не 404, а 301-редирект на категорию или похожий товар: так вес ссылок не теряется.
Сервер рапортует «всё ок», хотя контента на странице по сути нет.
Робот тратит обходы на фантомные URL, а живые страницы ждут индексации.
Несуществующее → 404 или 410, удалённое с трафиком → 301 на ближайший осмысленный URL.