HTTP 404 Status Code Explained
4xx Client ErrorDeveloper reference — Understanding the 404 status code
What Does HTTP 404 Mean?
The HTTP 404 status code is a client error response defined in RFC 9110, Section 15.5.5. It indicates that the origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
This is one of the most commonly encountered HTTP status codes on the web. The server is reachable and functional, but the specific URL path requested by the client does not correspond to any available resource. The response does not indicate whether the condition is temporary or permanent — for permanently removed resources, servers should use 410 Gone instead.
When a server returns a 404 response, it typically includes an HTML body with a user-friendly message explaining that the requested page was not available. Browsers display this response body to the user, which is why many websites create custom error pages with navigation links to help visitors find what they were looking for.
Common Causes of the 404 Status Code
Broken or changed URLs: The most common cause. When a site restructures its URL scheme (e.g., from /blog/post-title to /articles/post-title) without adding redirects, all external links and bookmarks pointing to old URLs will result in 404 responses.
Deleted content: Pages or resources that have been removed from the server without a redirect to a replacement. This is especially common during site migrations or CMS changes.
Typos in URLs: Both user-entered URLs and hardcoded links in source code can contain typographical errors. Even a single incorrect character will trigger a 404.
Case sensitivity: On Linux-based web servers (Apache, Nginx), URLs are case-sensitive. /About.html and /about.html are treated as different resources.
Expired or incorrect API endpoints: API versioning changes (e.g., /api/v1/ being deprecated in favor of /api/v2/) will cause 404 errors for clients still using the old endpoint.
How to Diagnose and Fix 404 Errors
For Website Owners
- Set up 301 redirects for any URLs that have moved. In Apache:
Redirect 301 /old-page /new-page. In Nginx:rewrite ^/old-page$ /new-page permanent; - Audit broken links using Google Search Console (Coverage report) or tools like Screaming Frog, Ahrefs, or our HTTP Headers checker
- Create a helpful custom error page with search functionality, popular links, and a sitemap link rather than a blank or generic page
- Use 410 Gone for permanently deleted content so search engines deindex it faster
- Monitor server access logs for frequent 404 hits to identify the most impactful broken URLs
For Visitors
- Double-check the URL for typos or incorrect characters
- Try navigating to the site's homepage and using its navigation or search
- Check Google Cache or the Wayback Machine for an archived version
- The page may have been moved — search the site for the topic
SEO Impact of 404 Status Codes
A small number of 404 responses is normal and does not harm SEO. Google's crawlers expect to encounter 404s during regular crawling. However, large numbers of 404 errors on important pages can indicate quality issues:
- Link equity loss: External backlinks pointing to 404 URLs waste the ranking signal those links would have passed. Use 301 redirects to preserve link equity.
- Crawl budget waste: Googlebot spends time crawling URLs that return 404, reducing the budget available for indexing actual content.
- User experience: Visitors who encounter 404 pages are likely to leave. High bounce rates from broken URLs can indirectly affect rankings.
- Soft 404 detection: Google can detect pages that display "page not available" content but return a 200 status code. These are flagged as soft 404s in Search Console and are not indexed.
HTTP 404 vs HTTP 410: When to Use Each
| Aspect | 404 | 410 |
|---|---|---|
| Meaning | Resource not available (may return) | Resource permanently removed |
| Google behavior | Retries crawling periodically | Deindexes faster, stops recrawling |
| Use when | Page may come back, or cause unknown | Content intentionally deleted forever |
| Cacheability | Not cached by default | Cacheable by default (RFC 9110) |
Related Status Codes
Frequently Asked Questions
What does HTTP 404 mean?
HTTP 404 Not Found is a client error response. HTTP 404 Not Found indicates that the server cannot find the requested resource. The URL may be incorrect, the page may have been deleted or moved, or the resource may never have existed.
Is HTTP 404 an error?
Yes, HTTP 404 is a client error. Client Error responses (cli) indicate the request contains an error.
How do I fix HTTP 404?
For website owners: set up 301 redirects for moved pages, create a custom 404 page with helpful navigation, check for broken internal links, and submit updated URLs to search engines. For visitors: check the URL for typos, try the site's search funct
What causes HTTP 404 Not Found?
The requested URL does not map to any resource on the server. Common causes: typos in the URL, deleted pages without redirects, broken internal or external links, incorrect API endpoints, and changed URL structures without proper redirects.
Is HTTP 404 permanent or temporary?
HTTP 404 is situational — it depends on the underlying cause. Fix the root cause to resolve it.
🔍 Check Your IP Address
While you're here, find out your public IP address, location, and ISP details instantly.
Check My IP →