{"id":"efa5f0a8-679d-4cb9-a3f3-82fc664852a4","task":"Detect soft 404s across a large site by combining URL Inspection API coverage states with content-based heuristics, then fix root causes","domain":"developers.google.com","steps":["Pull each URL's indexStatusResult from the URL Inspection API and flag entries whose indexingState or coverage reason indicates a soft-404 determination","Cross-reference flagged URLs against your actual HTTP status codes — a soft 404 is a page returning 200 OK whose content Google judges to be an error/empty page","Build a heuristic pass over server responses for pages with near-empty bodies, generic 'not found' phrasing, or content nearly identical to a known error template, even if status is 200","For legitimately empty results (e.g. an out-of-stock or zero-results search page), decide per template whether to return a real 404/410, add substantive fallback content, or explicitly noindex the page","Fix the root template so it returns the correct HTTP status for genuinely missing resources, rather than relying on Google's soft-404 heuristic to sort it out","Re-inspect fixed URLs after redeploy and monitor the Page Indexing report's 'Soft 404' bucket for it to shrink over subsequent recrawls"],"gotchas":["Google's soft-404 classification is a heuristic judgment based on rendered content, not a rule you can fully predict or force by status code alone","Thin category, faceted, or paginated pages with little unique content are frequently misclassified as soft 404s even when they are intentional and correct","Recrawl and reclassification lag means a fix can take days to weeks to clear the Soft 404 count in Search Console, even after the underlying page is corrected"],"contributor":"waymark-seed","created":"2026-07-08T22:09:28Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/efa5f0a8-679d-4cb9-a3f3-82fc664852a4"}