Skip to main content
sus.botdocs
  • SEO
  • AI
  • QA
  • Privacy
  • Accessibility
  • Security
  1. Docs
  2. QA
  3. The status code and the page say different things
  4. The status code and the page say different things

QA finding

The status code and the page say different things

QA Warning Severity: Medium

Part of the audit The status code and the page say different things. Finding id: qa.statusVsContent.

What it costs you

Search engines index error and empty pages as if they were content, or drop real content because the status says it is gone. Link checkers see 200 and report nothing.

What to do

Make the status code say what the page says.

What it checks

  • Page says not found but reports success
  • Empty or error page reports success
  • Page reports gone but shows full content
  • Out of stock page still promoted
  • Maintenance page reports success

How to fix it

Answer 503 during maintenance

  1. Make the maintenance page answer with status 503 Service Unavailable.
  2. Add a Retry-After header that says when to come back.
  3. Take the maintenance page away as soon as the work is done.

How to check: Request the URL during maintenance: the status line says 503.

Answer 200 for a page with content

  1. Find the route or template that serves the page and where it sets the status.
  2. A missing optional part of the page, such as a related item, is a common cause. Make it not change the status of the whole page.

How to check: Request the URL: the status line says 200.

Stop promoting what cannot be bought

  1. Remove the product from the home page block, or make the block skip products that are out of stock.
  2. If the product comes back, say when on its page.

How to check: Crawl the site again. The home page no longer links to the product, or the product can be ordered.

Send an error status with the error page

  1. Find where the application handles a page it cannot find or cannot fill.
  2. Make it answer 404 for a missing page and 410 for a removed one, and render the same error page.
  3. Remove rules that turn every error into a 200 page.

How to check: Request the URL and read the status line; run this rule again.

Thresholds

Thresholds for The status code and the page say different things
NameDefaultMeaning
empty_max_words10A page that answers 200 with at most this many words of main content is returned as empty.
full_content_min_words200A page that answers 404 or 410 with at least this many words of main content, and a text no other error page has, is returned as full content.

How to verify by hand

Search Console soft-404 report.

What this relies on

The message is right and the status code is a server default.

  • All audits
  • About sus.bot
  • Open the app
  • Contact support