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.
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
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 siteRelated checks
SSR / Pre-rendering
Checks if the page is server-rendered or statically pre-rendered.
TechnicalNo Client-Side Redirects
Checks that redirects happen server-side, not via JavaScript.
TechnicalViewport Meta Tag
Checks for <meta name="viewport" content="width=device-width, initial-scale=1">.
TechnicalHTML lang Attribute
Checks that <html> has a lang attribute matching the page language.