404 error
404 / soft 404 / page not found / HTTP 404
A 404 means the server could not find the page. The standard adds a second meaning most people miss: it can also mean the server will not say whether the page exists. A soft 404 is worse, a page that tells visitors it is missing while still reporting success.
Everyone knows a 404 means a missing page. The standard that defines it says slightly more than that, and the extra clause is worth having. RFC 9110 states that a 404 indicates the origin server did not find a current representation for the target resource, or is not willing to disclose that one exists. So it covers both the page being gone and the server declining to confirm anything.
The standard also says what a 404 does not tell you. It does not indicate whether the absence is temporary or permanent. When the server does know the page is gone for good, the standard prefers a different code: 410, meaning Gone.
Then there is the version that causes real damage, because it hides. A soft 404, in Google's words, is a URL that returns a page telling the user the page does not exist and also a 200 success status code. Sometimes it is a page with no main content at all. The visitor sees an apology. The machine reading it is told everything is fine. Google is direct about the consequence: such pages are excluded from Search.
There is a third case almost nobody writes about, and it catches good pages. Google says a page flagged as a soft 404 may simply not have loaded properly for Googlebot, because it was missing critical resources or displayed an error during rendering. It names blocked resources, too many resources on a page, server errors, and slow or very large resources as causes. Nothing was deleted. The page just failed to arrive intact.
In practice
A designer builds a handsome missing page with your branding and a friendly apology. If the server sends a 200 with it, every dead link on your site now points at something search engines treat as a working page that is excluded from Search, and nothing in your reporting says so. The fix is not visual. Google's guidance is blunt: custom 404 pages are created solely for users, so make sure the server returns a 404 status code to prevent the page being indexed.
Not the same as
- A 301 redirect
- That sends somebody to a replacement. A 404 tells them there is not one.
- A 410
- The standard prefers 410 when the server knows the page is gone permanently. A 404 leaves that open.
Why it matters to you
Getting this wrong is invisible from the inside. Everything looks right in a browser, and the damage shows up only in how pages are indexed. Google's own instruction is to return a 404 or a 410 when a page is gone with no replacement, and a 301 when it has moved or has a clear replacement. The design of the page shown to a person is a separate and later question.
What to ask or check
- 01Do our missing pages actually return a 404 status, or just look like they do?
- 02Does Search Console report any soft 404s, and are any of them pages we expect to work?
- 03When we delete a page, do we decide between 404, 410 and a redirect, or default to one?
What people get wrong
That a nicely designed missing page is the job done. If the server returns 200 with it, Google treats it as a soft 404 and excludes it from Search, and nothing in your own reporting will say so.
Red flags
- A custom missing page that returns a 200 status code.
- Soft 404 reports in Search Console for pages that are supposed to work, which usually means a rendering or resource problem rather than a deleted page.
Where you will see it
In Search Console as Not found (404) and as Soft 404 under page indexing, and in your server or hosting logs.