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
- Category: 4xx
- Status: Standard. Registered with IANA and defined by a current standards-track RFC.
- Specification: RFC 9110 §15.5.5
- Cacheable: Cacheable by default
- Response body: Allowed
- Retry: Do not retry
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.
Common causes
- The URL is wrong, including case differences on case-sensitive servers.
- The resource was deleted or moved without a redirect.
- A rewrite or routing rule did not match, so the request fell through to the default handler.
- The request reached the wrong host or virtual host, which is common behind misconfigured proxies.
- A deliberate 404 hiding a resource the caller is not allowed to know about.
How to fix it
As the client
- Verify the exact path, including trailing slash and letter case.
- Check whether the resource moved. A HEAD request against the likely new URL is cheap.
- Confirm the Host header is right when going through a proxy or a local hosts entry.
As the server
- Serve a real 404 status with your error page. Never return 200 for a missing page.
- Add 301 redirects for URLs that genuinely moved so links and ranking signals survive.
- Watch 404 logs. A spike usually means a broken deploy, a bad rewrite rule, or a removed asset still referenced by a page.
- Return 410 when a resource is intentionally gone for good and you want crawlers to drop it faster.
Examples
GET /products/discontinued-item HTTP/1.1 Host: www.example.com HTTP/1.1 404 Not Found Content-Type: text/html; charset=utf-8 Cache-Control: no-cache