Technical
TechnicalHigh

HTTP Status Codes

Checks that pages return proper status codes — 200 for live, 404 for missing, 301 for moved.

What this check measures

We request pages and validate response codes match expectation: landing page returns 200, removed URLs return 301 or 410, non-existent URLs return 404. Soft-404s (200 on "not found" page) are flagged.

Why it matters

Wrong status codes confuse crawlers. Soft-404s waste crawl budget. Incorrect 302 instead of 301 on moved URLs leaks ranking equity.

search

How our audit detects it

HEAD request each URL, check status. For 200 responses, also check content to detect soft-404 patterns.

Typical findings

  • error_outline404 page returns 200 status.
  • error_outlineMoved page 302 instead of 301.
  • error_outlineUnused URLs return 200 with empty content.

How to fix

Configure your framework to return correct status codes. Next.js `notFound()` returns 404 properly. Use 301 for permanent redirects, 302 only for intentional temporary ones.

Frequently asked questions

301 vs 308?expand_more
301 allows method change (POST becomes GET), 308 preserves method. Use 301 for SEO redirects.

Want this checked on your site?

Pantra runs the full audit (SEO, Security, GEO, Performance, Schema, Technical, Images) in 10 seconds and generates stack-specific fix prompts.

Scan my site

Related checks