Skip to content
  • There are no suggestions because the search field is empty.

Why is Prerender.io caching my 404 pages as 200?

Fix soft 404 pages so AI crawlers and search engines do not index content that does not exist.

 L;DR

A soft 404 happens when your server returns a 200 status code for a page that does not exist, instead of the correct 404. Prerender.io caches whatever status code your server returns, so if your server says 200, Prerender.io caches it as 200. This causes AI crawlers and search engines to index missing pages as real content. Fix it by configuring your server to return proper 404 status codes, or by adding a <meta name="prerender-status-code" content="404"> tag to signal the correct status to crawlers.

Why this matters

When a non-existent page returns a 200 status code, AI crawlers and search engines treat it as real content. Google may index it, AI platforms may cite it, and your site's crawl budget is wasted on pages that should not exist. Over time, this harms your AI & Search visibility and dilutes your site's authority.

Prerender.io does not decide what status code to return. It caches exactly what your server provides. If your server says a missing page is 200, Prerender.io faithfully caches and serves that 200 response to every crawler that visits.

Step 1: check if your page is a soft 404.

Open a URL on your site that you know does not exist (e.g., https://yoursite.com/this-page-does-not-exist), then inspect what status code your server returns.

  1. Open Chrome DevTools:
    • Windows: press Ctrl + Shift + I
    • Mac: press Cmd + Option + I
  2. Click the Network tab.
  3. Refresh the page and check the Status column for the main HTML request. It should show 404.

To test how Googlebot sees the page:

  1. Right-click on the page and choose Inspect.
  2. Go to the Network tab.
  3. Click More options (⋮) in the top-right corner of DevTools, then More tools, then Network conditions.
  4. Uncheck "Use browser default" and select Googlebot as the user-agent.
  5. Refresh the page and check the status again.

If the page shows a "not found" message but the status code is 200, you have a soft 404.

 

    soft-404-returning-200-status-chrome-devtools

    Step 2: Fix your server to return the correct 404 status code.

    The best solution is to configure your server to return a 404 HTTP status code for pages that do not exist. This ensures Prerender.io caches the correct response and AI crawlers and search engines treat the page as missing.

    Test your fix with curl:

    curl -o /dev/null -s -w "%{http_code}" https://yoursite.com/this-page-does-not-exist

    The output should be 404.

    ℹ️ On Windows, replace /dev/null with NUL.

    curl-response-showing-correct-404-status-code

    Step 3: use the prerender status code meta tag if your server cannot return 404.

    If your application framework returns a 200 for all routes (common in Single Page Applications), you can signal the correct status to crawlers by adding the following meta tag to the page's <head>:

    <meta name="prerender-status-code" content="404">

    Prerender.io reads this tag during rendering and returns a 404 status to crawlers, even though your server originally responded with 200. See Prerender.io best practices for detailed implementation instructions.

    Step 4: verify the fix.

    After applying either solution, confirm that the issue is resolved:

    1. Open the non-existent URL in Chrome DevTools and verify it now returns 404 in the Network tab (or 404 via curl).
    2. If you used the meta tag approach, check that Prerender.io's cached version of the page returns a 404 status. You can verify this by simulating a bot request and inspecting the response headers.
    3. Use the Prerender.io 404 checker to scan your site for additional soft 404 pages. This tool identifies pages that return a 200 status code but display error content, so you can fix them before they waste renders.

    ✅ Your fix is working when non-existent pages return a 404 status code both from your origin server and from Prerender.io's cached response.

    ℹ️ Every page Prerender.io renders counts as a render, including error pages. Fixing soft 404s reduces unnecessary renders and keeps your usage efficient. See are 404s and 301s included in the render counter? for details.


    Related articles


     

    💬 Still need help? If your 404 pages are still being cached as 200 after applying these fixes, our support team can help diagnose the issue. → Contact us at support@prerender.io

     

    Was this article helpful?