404 Not Found

The server has no representation for the target URL and will not say whether it ever did.

Status

HTTP/1.1 404 Not Found

Details

404 is the most recognisable status on the web. It says the server found no current representation for the URL, and deliberately makes no promise about whether the resource existed before or will exist later. That vagueness is useful: a server may return 404 instead of 403 to avoid confirming that a resource exists at all.

For SEO the important part is the status line, not the page. A friendly error page served with 200 is a soft 404: crawlers index it as a real page and the site accumulates duplicate thin content. The response must actually carry 404.

Note: A missing page served with 200 is a soft 404: crawlers index it as real content and the site accumulates duplicate thin pages. The status line is what matters, not the error page.

Common causes

How to fix it

As the client

As the server

Examples

Requesting a page that does not exist

A request for a product page that no longer exists:

HTTP request

GET /products/discontinued-item HTTP/1.1
Host: www.example.com

The status line is what matters here. A friendly error page served with 200 would be a soft 404:

HTTP response

HTTP/1.1 404 Not Found
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache

Specifications

See also