Fix-it guide

Fix a non-200 HTTP status code

Every web page returns a three-digit HTTP status code on every request.

Critical impact~1 hourTechnical health

What it is

Every web page returns a three-digit HTTP status code on every request. 200 = OK. 301/302 = redirect. 4xx = client error (404 not found, 403 forbidden). 5xx = server error. Google only indexes pages that return 200, anything else and the page is treated as broken or moved.

Why it matters

A page that returns 404 or 500 will be removed from Google's index within days, regardless of how good its SEO is. A 301 means Google follows the redirect and indexes the destination, fine if intentional, a problem if accidental. Fixing the status code is the only path forward.

How to fix it

  1. Reproduce the error

    Open the URL in a private/incognito window. Use DevTools > Network > look at the document request's status code. Note whether it is consistently failing or only sometimes.

  2. For 404: restore the page or redirect the URL

    If the page was deleted on purpose, set up a 301 redirect to the closest replacement (NOT the homepage, be specific). If it was deleted by accident, restore it from version control or your CMS trash.

    # Nginx: 301 redirect a deleted URL to a relevant replacement
    location = /old-services/airport-transfers {
      return 301 /services/airport-car-service;
    }
  3. For 5xx: check your server logs

    A 500 error means your server crashed handling the request. Look at error logs (Nginx error_log, Apache logs, your hosting dashboard, or your framework's server logs). Common causes: database connection failure, out-of-memory, unhandled exception, plugin conflict.

  4. For 403: fix permissions

    Forbidden errors usually mean a file system permission issue (chmod), a misconfigured WAF, or a Cloudflare/security plugin blocking the request. Whitelist Googlebot in any bot-filtering settings.

  5. Request re-indexing after the fix

    Google Search Console > URL Inspection > paste the URL > Request Indexing. Google will re-crawl within a day or two and remove the error from your Coverage report.

How to verify the fix

Reload the URL and check the Network tab, the status should be 200. In Search Console > URL Inspection, the response should say "URL is on Google" (after re-crawl).

Further reading

Confirm the fix

Run a fresh audit to make sure the issue is gone.

We’ll re-grade every category and confirm this issue is no longer firing.

Run a fresh audit