Код 200, а страницы по сути нет: как проверить soft 404
Разбираем, как отличить soft 404 от обычной ошибки, проверить точный URL в Google и Яндексе и выбрать корректный ответ: 200, 301, 404 или 410.

В этой статье
Если адрес возвращает HTTP 200, но вместо самостоятельной страницы показывает «товар не найден», пустой шаблон или почти одно меню, успешный код вводит в заблуждение и посетителя, и поискового робота. Начните не с перенаправлений, а с назначения URL: существующее содержимое должно полноценно отдаваться с 200, перенесённое — вести 301 на равнозначную замену, а удалённое без замены — возвращать 404 или 410.
Soft 404 — это не отдельный HTTP-код. Так поисковая система описывает ситуацию, когда сервер сообщает об успехе, а полученное содержимое похоже на отсутствующую страницу. Поэтому один зелёный 200 ещё не доказывает, что URL исправен.
Что именно называют soft 404
Google относит к soft 404 страницы, которые отвечают 200, но сообщают об ошибке, пусты или содержат слишком мало полезного ответа; такие URL могут исключаться из поиска. В документации Google отдельно советуют проверить отрисованный результат, если нужная страница ошибочно распознана как отсутствующая.
Яндекс предупреждает о похожей ситуации: несуществующие страницы с ответом 200 создают лишние адреса и расходуют обход. Рекомендации Яндекс Вебмастера предлагают возвращать корректный код отсутствия либо устранять причину пустого ответа. Решение проверяют отдельно в каждой системе: запись в одном кабинете не описывает состояние другого.
Сначала решите судьбу URL
Есть нюанс: одинаковая надпись «страница не найдена» может скрывать четыре разные задачи. Прежде чем менять шаблон или ставить массовый редирект, зафиксируйте, должен ли этот адрес существовать и есть ли у него действительно равнозначная замена.
Ситуация | Ответ | Критерий проверки |
|---|---|---|
Страница существует, но основной блок не загрузился | 200 после исправления | В отрисованном HTML виден самостоятельный ответ, а не только шапка и подвал |
Содержимое перенесено на равнозначный адрес | 301 | Конечная страница решает ту же задачу, а не ведёт на главную или общий каталог |
Адрес удалён, подходящей замены нет | 404 или 410 | Код приходит сразу, страница ошибки понятна человеку и не маскируется ответом 200 |
Приложение временно не может собрать страницу | Подходящий 5xx | Сбой не выдаётся за постоянное отсутствие и не возвращает пустой 200 |

Смысл кодов и их обработку поисковым роботом удобно сверять с официальным справочником Google по HTTP-статусам. Сам по себе выбор кода не заменяет проверку содержимого и конечного адреса.
Как проверить проблему на сайте
Соберите небольшую выборку: заведомо существующий URL, заведомо вымышленный адрес, URL страницы товара, которая была удалена с сайта, и страницу, которую кабинет уже пометил как soft 404. Не смешивайте в одном выводе разные шаблоны.
Для каждого адреса запишите начальный код, цепочку перенаправлений и конечный URL. Проверяйте обычный GET-запрос документа: ответ на HEAD может отличаться от того, что фактически получает посетитель.
Откройте отрисованную страницу без авторизации и проверьте основной ответ. Меню, хлебные крошки, рекомендации и подвал могут занимать много места, хотя товар, статья или категория отсутствуют.
Сравните HTML до выполнения JavaScript и результат после отрисовки. Если основной блок появляется только в браузере, поисковый робот мог получить пустую оболочку из-за ошибки сценария, закрытого ресурса или слишком долгой загрузки.
Сгруппируйте ошибки по правилу URL и шаблону: параметры фильтра, снятые товары, удалённые статьи, внутренний поиск, личный кабинет. Один случай может быть ручной ошибкой, повторяющийся рисунок — дефектом маршрутизации или шаблона.
Особенно полезен контрольный вымышленный адрес внутри каждого подозрительного раздела. Если любой случайный путь возвращает 200 и одинаковую «пустую» страницу, проблема, скорее всего, находится в общем обработчике маршрутов. Но это всё ещё гипотеза до проверки конфигурации: кэш, CDN и приложение могут отвечать по-разному.
Что смотреть в Google и Яндексе
В Google Search Console начните с отчёта об индексировании страниц и примеров причины Soft 404. Затем проверьте точный URL через инструмент проверки адреса: известен ли он Google, когда его обходили и что показала проверка актуальной версии. Результат проверки в реальном времени не означает мгновенного возвращения в индекс.
В Яндекс Вебмастере сопоставьте уведомление о soft 404 с диагностикой конкретного адреса и датой последнего обхода. Текущий ответ сервера, сохранённые сведения кабинета и позиция в выдаче относятся к разным моментам времени. Исправление на сайте можно проверить сразу, а реакцию поиска — только после повторной обработки.
Если URL находится в Sitemap, это лишь один из сигналов. Отдельный порядок проверки записи в файле, ответа сервера, обхода, индекса и показов разобран в материале «URL есть в Sitemap, но его нет в поиске». Наличие URL в Sitemap не превращает пустой ответ 200 в полноценную страницу.
Типичные исправления, которые создают новую ошибку
- Перенаправлять все исчезнувшие товары на главную: это не равнозначная замена и может выглядеть как ещё один soft 404.
- Возвращать 200 для красивой страницы ошибки: дизайн полезен посетителю, но HTTP-ответ всё равно должен отражать отсутствие ресурса.
- Менять только текст шаблона: поисковый робот оценивает не фразу «не найдено», а весь полученный ответ и его назначение.
- Считать noindex заменой 404: директива управляет индексированием доступной страницы, а код сообщает состояние ресурса.
- Закрывать раздел в robots.txt: запрет обхода не исправляет HTTP-ответ и может помешать роботу увидеть изменённое состояние.
Последний конфликт подробнее разобран в статье «Страница закрыта в robots.txt, но остаётся в поиске». Для soft 404 сначала нужен честный ответ самого URL, а уже затем — решение об индексации.
Как принять исправление
- Существующая страница стабильно возвращает 200 и показывает самостоятельное основное содержимое без авторизации.
- Перенесённая страница даёт один понятный 301 на равнозначный конечный URL, который отвечает 200.
- Удалённая страница без замены возвращает 404 или 410 и не становится 200 из-за шаблона, кэша или CDN.
- Вымышленный адрес внутри каждого исправленного раздела также возвращает ожидаемый код отсутствия.
- Соседние существующие страницы не затронуты новым правилом маршрутизации.
- Google и Яндекс проверены отдельно; после нового обхода роботом зафиксированы фактическая дата этого уже состоявшегося обхода и текущий статус URL в каждом кабинете. Срок возвращения в поиск и позиция не обещаны.
Технический результат здесь измерим сразу: URL отдаёт предусмотренный код, конечный адрес и содержимое соответствуют его назначению, а правило работает на контрольной выборке. Возвращение в поиск — следующий этап наблюдения, а не автоматическое следствие одного исправленного ответа.
If an address returns HTTP 200 but instead of a standalone page displays "product not found," an empty template, or almost just a menu, the successful code misleads both visitors and search engine crawlers. Start not with redirects, but with URL assignment: existing content must be served fully with 200, moved content should redirect with 301 to an equivalent replacement, and deleted content without a replacement should return 404 or 410.
Soft 404 is not a separate HTTP code. It is how a search engine describes a situation where the server reports success, but the received content resembles a missing page. Therefore, a single green 200 does not prove that the URL is valid.
What exactly is called soft 404
Google classifies as soft 404 pages that return 200 but report an error, are empty, or contain too little useful content; such URLs may be excluded from search results. In Google's documentation it is specifically recommended to check the rendered result if the required page is mistakenly recognized as missing.
Yandex warns of a similar situation: non-existent pages returning 200 create unnecessary addresses and waste crawl budget. Yandex Webmaster recommendations suggest returning a correct absence code or eliminating the cause of the empty response. The solution must be verified separately in each system: a record in one control panel does not describe the state of another.
First, decide the fate of the URL
There is a nuance: the same "page not found" message can hide four different tasks. Before changing the template or setting up mass redirects, determine whether this address should exist and whether it truly has an equivalent replacement.
Situation | Response | Verification criterion |
|---|---|---|
The page exists, but the main block failed to load | 200 after correction | The rendered HTML shows a standalone response, not just the header and footer |
Content has been moved to an equivalent address | 301 | The final page serves the same purpose, not leading to the homepage or a general catalog |
The address has been removed with no suitable replacement | 404 or 410 | The status code is returned immediately, the error page is clear to a human, and it is not masked by a 200 response |
The application is temporarily unable to generate the page | Appropriate 5xx | A failure must not be presented as a permanent absence, nor return an empty 200 |

It is convenient to verify the meaning of codes and how search robots process them against the official Google HTTP status reference. The choice of code alone does not replace checking the content and final URL.
How to check the issue on the site
Gather a small sample: a known existing URL, a known fictional address, a product page URL that has been removed from the site, and a page already marked as soft 404 in the control panel. Do not mix different templates in a single output.
For each address, record the initial status code, the redirect chain, and the final URL. Check a standard GET request for the document: the HEAD response may differ from what a visitor actually receives.
Open the rendered page without authorization and check the main response. Menus, breadcrumbs, recommendations, and footers can occupy significant space even when the product, article, or category is missing.
Compare the HTML before JavaScript execution with the result after rendering. If the main block appears only in the browser, the search robot may have received an empty shell due to a script error, a blocked resource, or excessive loading time.
Group errors by URL rule and pattern: filter parameters, removed items, deleted articles, internal search, and personal account. A single case may be a manual error; a repeating pattern indicates a routing or template defect.
A control dummy address within each suspicious section is especially useful. If any random path returns 200 and the same empty page, the problem likely lies in the common route handler. However, this remains a hypothesis until configuration is verified: cache, CDN, and the application may respond differently.
What to check in Google and Yandex
In Google Search Console, start with the page indexing report and examples of Soft 404 reasons. Then check the exact URL via the URL inspection tool: is it known to Google, when it was crawled, and what the current version check showed. A real-time check result does not guarantee an immediate return to the index.
In Yandex Webmaster, match the soft 404 notification with the diagnosis for the specific address and the date of the last crawl. The current server response, stored account data, and ranking position refer to different points in time. A fix on the site can be verified immediately, but the search engine's reaction is only possible after reprocessing.
If a URL is in the Sitemap, that is only one signal. A separate verification sequence for the file entry, server response, crawl, index, and impressions is covered in the article "URL is in the Sitemap but not in search". Having a URL in the Sitemap does not turn an empty 200 response into a valid page.
Typical fixes that create a new error
- Redirecting all vanished products to the homepage is not an equivalent replacement and may appear as another soft 404.
- Returning a 200 status for a custom error page: the design benefits the visitor, but the HTTP response must still reflect the absence of the resource.
- Changing only the template text: search engines evaluate not just the phrase "not found" but the entire response received and its purpose.
- Treating noindex as a substitute for 404: the directive controls indexing of an accessible page, while the status code reports the resource state.
- Blocking a section in robots.txt: a crawl restriction does not fix the HTTP response and may prevent the bot from seeing the updated state.
The last conflict is discussed in detail in the article "Page is blocked in robots.txt but remains in search". For a soft 404, the URL must first return an honest response, and only then is an indexing decision made.
How to accept the fix
- An existing page consistently returns 200 and displays independent main content without authentication.
- A moved page provides a single clear 301 redirect to an equivalent final URL that responds with 200.
- A deleted page without replacement returns 404 or 410 and does not become 200 due to templates, cache, or CDN.
- A fictional address within each corrected section also returns the expected absence code.
- Adjacent existing pages remain unaffected by the new routing rule.
- Google and Yandex were checked separately; after the new crawl, the actual date of this already completed crawl and the current URL status in each account were recorded. Return to search and ranking are not guaranteed.
The technical result is immediately measurable: the URL returns the expected status code, the final address and content match their intended purpose, and the rule works on the control sample. Returning to search is the next stage of observation, not an automatic consequence of a single corrected response.




Обсуждение 0
Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.
Пока никто не написал. Начни обсуждение.