Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Article6 min readViews0

HTTP 200, but the page is essentially missing: how to check for soft 404

We examine how to distinguish a soft 404 from a standard error, verify the exact URL in Google and Yandex, and select the correct response: 200, 301, 404, or 410.

Comments 0

An open book with a missing page and a green indicator showing a successful response
In this article

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

Four URL response variants: full page 200, empty page 200, redirect 301, and absence 404 or 410
The same URL scenario may require different responses: the choice depends on content availability and an equivalent replacement.

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

Discussion 0

Share your experience and ask questions. Comments without links appear after editorial review.

No comments yet. Start the discussion.