Статья:
Soft 404 — это когда сервер отдаёт код 200 OK, а на странице по факту нечего индексировать: «Товар не найден», пустой каталог по фильтру, заглушка «раздел в разработке». Формально страница жива, по содержанию — мусор. Google (и в меньшей степени Яндекс) сам переклассифицирует такую страницу и выкидывает её из индекса, а в Search Console вешает ярлык «Мягкая ошибка 404».
Проверить за 10 секунд, с чем вы имеете дело:
curl -IL https://site.ru/tovar-udalyon
Если в ответе HTTP/2 200, а на странице текст вроде «товар снят с продажи» без реального контента — это кандидат в soft 404. Дальше открываете страницу и жмёте Ctrl+U (просмотр исходного кода) — ищете noindex в <meta name="robots"> Noindex и nofollow: как правильно применять и не терять индексацию
. Если noindex стоит и статус 200 — это уже не soft 404 в глазах Google, а сознательное решение вебмастера, и в GSC она попадёт в «Исключено noindex-тегом», не в «мягкую ошибку».
Почему это не косметика, а деньги
- Crawl budget утекает. На каталоге с 50 000+ SKU каждый мёртвый фильтр — это визит бота, который мог пойти на живую карточку. У интернет-магазинов с фильтрами по 5-7 параметрам счёт может идти на десятки тысяч мусорных комбинаций. Подробнее о том, как оптимизировать расход бюджета, читайте в статье Crawl budget: где бот тратит время впустую и как это исправить .
- Ссылочный вес теряется впустую. Если внешняя ссылка (купленная на бирже или естественная) ведёт на soft 404 — страница не в индексе, вес никуда не передаётся. Проверять это нужно ДО того, как вы платите за размещение ссылки, иначе бюджет на линкбилдинг слит.
- Аналитика врёт. Пользователь видит пустоту и уходит за секунду, но сервер отдал 200 — в Метрике/GA это не считается отказом с точки зрения кода ответа, отчёты выглядят чище, чем есть на самом деле.
Где смотреть у себя: точный путь
- Google Search Console → Индексирование → Страницы. Прокрутите вниз до блока «Почему страницы не индексируются» — там отдельной строкой идёт «Страница помечена как “мягкая ошибка 404”». Кликаете — открывается список примеров URL (обычно 20-30 штук, не весь объём).
- По каждому URL — кнопка «Проверка URL» (или вставить адрес в строку проверки наверху). В блоке «Покрытие» смотрите дату последнего сканирования: если страница просканирована 3 недели назад и до сих пор висит в этом статусе — исправление на сервере ещё не подхватилось, нужен принудительный запрос повторного сканирования тем же инструментом (кнопка «Запросить индексирование»).
- Яндекс.Вебмастер → Индексирование → Исключённые страницы. Термина «soft 404» там нет, ищите статус «Страница не найдена (404)» рядом с URL, который явно отдаёт 200, — расхождение статуса в отчёте и реального кода ответа сервера сигнализирует о том же самом.
- Серверные логи — самый точный источник. Фильтруете по User-Agent Googlebot, смотрите на URL с маленьким размером ответа (обычно до 3-5 КБ HTML без картинок) и кодом 200 — это и есть кандидаты, ещё не долетевшие до отчёта GSC (отчёт обновляется с лагом до 2 недель).
- Массовая проверка по списку URL. Если у вас каталог из тысяч страниц и ждать переобхода Google для каждой нет времени — прогоните весь список через сервис массовой проверки индексации, например Rush Analytics: загружаете URL пачкой, получаете статус индексации по каждому и видите, где страница технически в индексе Google, но фактически не отдаёт трафик — верный маркер soft 404 или тонкого контента.
Разбор реальных сценариев
Сценарий 1: карточка товара снята с продажи. Движок отдаёт шаблон «Товар недоступен» с кодом 200, статус висит в GSC 3-4 недели. Правильное решение: если товара не будет никогда — 410 (Gone), если может вернуться на склад в течение месяца — 404 плюс блок «похожие товары» вместо пустоты. После смены кода на сервере не ждите переобхода — вручную отправьте URL через «Проверка URL → Запросить индексирование», иначе статус в отчёте не изменится неделями.
Сценарий 2: фильтр «диван угловой велюр зелёный 3-местный». Комбинация без товаров отдаёт пустой каталог с кодом 200. Если таких комбинаций тысячи — это системная проблема, не разовая. Решение: на пустой выдаче фильтра ставить meta noindex + текст «сейчас нет товаров по этим параметрам, попробуйте убрать один из фильтров» + 2-3 похожие категории со ссылками. Так страница остаётся полезной для живого посетителя, но не засоряет индекс.
Сценарий 3: статья 30 слов + soft 404 по соседству. Если у вас в GSC часть тонких страниц попадает в «мягкую ошибку 404», а часть — в Crawled — currently not indexed, это одна и та же болезнь (мало пользы на странице), просто Google классифицировал по-разному в зависимости от того, насколько «пустым» показался HTML в момент обхода. Лечение одно: либо дописываете страницу до полноценной (минимум разверните тему на 3-4 конкретных подраздела с примерами), либо удаляете и ставите 301 на страницу-донора той же тематики.
Сценарий 4: «на всякий случай» 301 на главную. Частая ошибка после чистки каталога — редиректить все снятые товары на главную страницу пачкой. Если так сделать с сотней URL, Google начинает воспринимать паттерн «много адресов → один и тот же адрес» как признак мягкой ошибки уже для самой главной страницы, и она может выпасть из некоторых запросов. Alternate page with proper canonical: когда это норма, а когда — ошибка . Редиректить нужно точечно — на конкретную категорию или похожий товар, а не «куда попало, лишь бы не 404».
Таблица: статус → диагноз → действие
| Что видите | Диагноз | Что делать | Чего не делать |
|---|---|---|---|
| Код 200, текст «Товар не найден» | Классический soft 404 | 404 или 410 в зависимости от того, вернётся ли товар | Не оставлять как есть «пока не мешает» |
| Пустой каталог по фильтру, код 200 | Параметрический soft 404 | noindex + текст-заглушка с альтернативами | Не закрывать через robots.txt — бот не увидит исправления |
| GSC: висит 3+ недели без изменений | Исправление на сервере не подхватилось | Запросить повторное индексирование вручную по каждому URL | Не ждать пассивно новый обход |
| Много товаров редиректят на главную | Паттерн, похожий на soft 404 для самой главной | Редирект на конкретную категорию/аналог | Не делать 301 «куда попало» |
| 30-50 слов текста, код 200 | Тонкий контент (соседствует с soft 404) | Дописать пользы или удалить с 301 на донора | Не публиковать заглушки «скоро будет контент» |
После исправления: как ускорить возврат в индекс
Смена статус-кода или добавление noindex сама по себе не выкидывает страницу из отчёта мгновенно — Google должен её переобойти. На своём сайте для точечных URL хватает «Проверка URL → Запросить индексирование» в Search Console. Но если правок много (вы почистили сразу сотни URL после аудита каталога), гонять каждую вручную нереально — здесь подключают индексатор со своей очередью краулеров, например SpeedyIndex: отдаёте список исправленных адресов, сервис прогоняет их через собственные боты, и переобход по факту происходит быстрее, чем если полагаться только на органическое сканирование Googlebot.
Если нужно быстро прогнать экспресс-диагностику одной конкретной страницы (не весь сайт, а «вот эта карточка — почему она мягкая 404») — удобно свериться через pr-cyru: экспресс-анализ покажет технические параметры страницы (объём текста, дублирующиеся блоки, метатеги) без необходимости поднимать логи вручную.
Чек-лист редактора перед публикацией
- На странице реально есть контент, а не «раздел наполняется» — иначе не публикуйте вообще.
- Удалённые товары/статьи отдают 404 или 410, а не шаблон с кодом 200.
- Пустые страницы фильтров закрыты
noindex, а не robots.txt. - Массовые редиректы ведут на конкретные аналоги, не скопом на главную.
- После правки статус-кода URL отправлен на повторное индексирование, а не оставлен ждать сам по себе.
- Раз в квартал на крупном каталоге прогоняется массовая проверка индексации по всему списку живых URL — иначе новые soft 404 накапливаются незаметно.
Чего делать точно не нужно
- Закрывать soft 404 через
robots.txt— краулер туда не зайдёт и не увидит, что вы всё почистили; статус будет висеть неопределённо долго. - Ставить 410 на всё подряд «для надёжности» — это жёсткий сигнал «не возвращайся», уместен только когда вы точно знаете, что страница не вернётся.
- Делать массовый 301 на главную для всех удалённых URL — вы получите второй пункт из таблицы выше, только уже для главной страницы.
Связанные термины
- 404 / 410 — коды отсутствия страницы, разница в «постоянности» удаления.
- 301 / 302 — постоянный и временный редиркты.
- Crawled — currently not indexed — страница просканирована, но не попала в индекс; частый сосед soft 404 при тонком контенте.
- Тонкий контент — основная содержательная причина, из‑за которой Google вообще классифицирует страницу как мягкую 404.
Дополнительные материалы: Почему страница не попала в индекс: диагностика по шагам, а не наугад и Страница выпала из индекса: как найти причину за 10 минут и вернуть её обратно .
