Soft 404: сервер говорит «ОК», контент говорит «не найдено»
Google помечает такие URL как мягкие 404: вы тратите обход на пустышки и теряете индекс. Ниже — как совместить HTTP-статус с реальностью страницы.
Несовпадение статуса и смысла
Soft 404 — не код Apache, а ярлык Google. Пользователь видит «ничего нет», боту уходит 200 OK. Алгоритм сначала пробует индексировать «живой» документ, затем выкидывает его. На русскоязычных сайтах лидер причин — редирект любых битых адресов на главную «для удобства».
| Сигнал | Пользователь | Заголовок | Реакция Google |
|---|---|---|---|
| Hard 404 | Страница не найдена | 404 | Документ снимают. Бюджет не жгут зря. Правильно. |
| Soft 404 | «Не найдено» на живом шаблоне | 200 OK | Лишний обход, путаница, выпадение из индекса. |
| Релевантный 301 | Попал на аналог | 301 | Вес на конкретный новый URL, не на homepage. |
Типичные триггеры
1. Все ошибки на главную
Удалили карточку «красные кроссовки 42» и отправили на /. На главной этих кроссовок нет — для Google это нерелевантный редирект, фактически Soft 404. При миграции то же самое, если старый каталог слили в одну витрину.
2. Пустые категории и фильтры
«Зимние куртки» без офферов, 200 OK, текст «нет товаров». Соседний статус — Crawled — not indexed. Лечение фасетов — в гайде индексации интернет-магазина.
3. Внутренний поиск с нулём результатов
Индексируемые /search/?q= на Битрикс и WordPress плодят тысячи мягких 404. noindex + закрытие в robots.txt после выпадения из индекса.
Протокол исправления
- Замены нет — 404 или 410 с
http_response_code, не «красивый HTML с 200». - Есть близкий аналог — 301 только на него.
- Раздел живой, но пустой — контент или noindex, затем проверка в индексе Google.
Вывод: честный 404 полезен. Он оставляет crawl budget страницам, которые приносят трафик и продажи. После смены статусов имеет смысл запросить обход только для URL, которые вы реально починили.
Как найти Soft 404 пакетом
- Краул Screaming Frog: 200 OK и мало текста / фразы «не найдено», «нет в наличии».
- Выгрузка «Мягкие ошибки 404» из GSC как выборка, не как полный список.
- Сверка, какие из них ещё в выдаче, через пакетную проверку.
Другие руководства по индексации
Смежные протоколы SpeedyIndex — читайте пакетом, Google оценивает кластер тематики, а не одиночную статью.
- Переиндексация сайта
- Crawled — not indexed
- Чеклист миграции
- Индексация товаров
- Индексация бэклинков
- Индексация изображений
- Проверка индекса Google
- FAQ по тарифам
Частые вопросы
Чем Soft 404 отличается от Hard 404?
Hard 404 отдаёт 404 Not Found. Soft 404 отдаёт 200 OK при пустом или «не найдено» контенте. Для Google второе — ложный сигнал: документ якобы живой.
Помогает ли редирект всех 404 на главную?
Нет. Модуль «ошибка 404 → главная» в 1С-Битрикс и плагины WordPress массово рождают Soft 404: главная не заменяет удалённый товар. См. документацию Google по сетевым ошибкам.
Что делать с пустой категорией магазина?
Временно нет товаров — noindex плюс полезный текст, не пустой шаблон. Категория умерла — 410 или 301 на ближайшего родителя, не на корень. Разбор каталога: индексация товаров.
Может ли JavaScript дать Soft 404?
Да. Пустой SSR-скелет с 200 OK после неудачного рендера бот читает как «страница есть, смысла нет». Нужен серверный HTML.
Почему красивый шаблон 404 не срабатывает?
Google смотрит заголовок ответа, не дизайн. PHP должен вызвать http_response_code(404). Если видите кастомную страницу с 200 — это как раз Soft 404. Настройка origin: сначала честный статус, потом обход.
410 лучше 404 для удалённых URL?
Для сознательно снятого контента — да, деиндексация обычно быстрее. Для опечаток и «ещё вернём» достаточно 404.
Как Soft 404 бьёт по crawl budget?
Каждый повторный визит пустышки — слот, который мог уйти новой карточке или статье. Связка с отчётом покрытия: часть Soft 404 всплывает как Crawled — not indexed.