---
title: "Fix soft 404 pages properly"
description: "A soft 404 returns HTTP 200 while showing missing-content copy. Google keeps it indexed and wastes crawl budget on empty templates. Find these URLs in the Page indexing report, then make missing content return a real 404 or 410 and keep 200 only for pages with genuine value."
url: "https://seo-mcp.io/t/fix-soft-404-pages-properly"
---

# Fix soft 404 pages properly

A soft 404 returns HTTP 200 while showing missing-content copy. Google keeps it indexed and wastes crawl budget on empty templates. Find these URLs in the Page indexing report, then make missing content return a real 404 or 410 and keep 200 only for pages with genuine value.

## Prerequisites

- Site verified in Search Console
- Access to the server or framework error handling

## Steps

1. **Sample soft 404s from Search Console** — Open the Page indexing report, filter by 'Soft 404' and export a sample. Group URLs by template: product, post, profile or search results.
   Check: The exported list contains at least one URL per template that renders a missing-content state.
2. **Return 404 or 410 from the router** — When the data lookup fails, set the response status to 404 or 410 before rendering. In frameworks this is usually an explicit not-found helper, not a redirect.
   Check: curl -sI your production domain/missing-page returns HTTP/1.1 404 or 410, not 200.
3. **Keep meaningful empty states at 200** *(general best practice)* — Search result pages with no matches, empty cart states and filtered categories with zero products should stay 200 when they explain the state and offer navigation.
   Check: An empty search state returns 200 and contains a link back to the category root.

## Source

@seo-mcp on 2026-10-19: https://developers.google.com/search/docs/crawling-indexing/http-network-errors

Canonical: https://seo-mcp.io/t/fix-soft-404-pages-properly
