Soft 404
Detects pages that serve 404/error content with an HTTP 200 status
Detects pages that serve 404/error content with an HTTP 200 status
| Rule ID | crawl/soft-404 |
| Category | Crawlability |
| Scope | Per-page |
| Severity | warning |
| Weight | 5/10 |
A soft 404 is a URL that shows “not found” or error content but returns a success (2xx) status instead of a real 404 or 410. squirrelscan flags a page only when it shows at least two independent signals, with at least one strong content signal: a framework error-shell marker (for example <html id="__next_error__">), a “page not found” title or heading, plus supporting signals such as a robots noindex directive or near-empty content. A regular article that merely mentions “404” is never flagged.
Soft 404s waste crawl budget and can be indexed as thin or duplicate content. They also cause downstream content, legal, and agent-experience rules to skip the page (with a visible soft-404 skip reason), so one broken template can’t spray per-page warnings.
Solution
Return a proper 404 (or 410 for permanently removed URLs) for missing pages, or restore the real content if the URL should resolve. If the URL is valid, remove the error-shell markup and the “page not found” title/heading so the page reads as a real page.
Enable / Disable
Disable this rule
[rules]
disable = ["crawl/soft-404"]Disable all Crawlability rules
[rules]
disable = ["crawl/*"]Enable only this rule
[rules]
enable = ["crawl/soft-404"]
disable = ["*"]