404

Not Found

The server cannot find the requested resource. The URL is not recognized.

Quick Definition

The server cannot find the requested resource. The URL is not recognized. This is the most common HTTP error encountered by web users and can mean the page was deleted, moved, or the URL was mistyped. A 404 does not indicate whether the absence is temporary or permanent - for permanently removed resources, a 410 Gone is more appropriate.

When It Occurs

A 404 Not Found error occurs whenever a browser or client requests a URL that the server does not have a resource for. This is the default response when no route, file, or page matches the requested path. It's the most commonly encountered HTTP error on the web.

Users typically see 404 errors when clicking old bookmarks, following outdated links from other websites, mistyping a URL, or when a page has been deleted or moved without a redirect being set up.

Common Causes

  • Page deleted or moved without redirect - Content was removed or relocated without setting up a 301 redirect
  • Mistyped URL - The user or linking page has a typo in the URL
  • Broken internal/external links - Links on your site or other sites point to URLs that no longer exist
  • Incorrect permalink structure - CMS permalink settings changed, breaking existing URLs
  • Missing trailing slash - Some servers treat /page and /page/ as different URLs
  • Case-sensitive URL mismatch - Linux servers treat /Page and /page as different paths
  • Expired content or campaigns - Promotional pages, events, or seasonal content was removed after its end date
  • Deployment removed the page - A new deployment accidentally excluded existing pages from the build

Platform-Specific Notes:

Nginx Returns 404 when no location block matches and try_files fails. For SPAs, add try_files $uri $uri/ /index.html.

Apache Returns 404 when no file matches and mod_rewrite rules don't catch the URL. Check .htaccess RewriteRules.

Cloudflare Passes through the origin server's 404 by default. Cloudflare Pages returns 404 for missing static files with a custom 404.html page.

Node.js Express returns 404 when no route handler matches. Add a catch-all middleware: app.use((req, res) => res.status(404).send(...)).

🛠 How to Fix

  1. Verify the URL is correct - Check for typos, extra characters, and case sensitivity in the URL
  2. Set up 301 redirects for moved pages - Redirect old URLs to their new locations to preserve SEO value and user experience
  3. Check for case sensitivity - Ensure links use the exact case as the server expects (especially on Linux servers)
  4. Update internal links - Find and fix all internal links pointing to the old or incorrect URL
  5. Create a custom 404 page - Design a helpful 404 page with search, navigation, and suggested pages
  6. Submit updated sitemap to Google - Update your XML sitemap and resubmit it in Google Search Console
  7. Use a broken link checker tool - Scan your entire site to identify and fix all broken links at once
  8. Check server rewrite rules - Verify that URL rewriting rules in Nginx, Apache, or your framework are correct

💻 HTTP Example

# Request for a page that doesn't exist
GET /blog/old-article-that-was-deleted HTTP/1.1
Host: example.com
Accept: text/html

# Server Response
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8
Content-Length: 1234

<!DOCTYPE html>
<html>
  <head><title>Page Not Found</title></head>
  <body>
    <h1>404 - Page Not Found</h1>
    <p>The page you're looking for doesn't exist.</p>
  </body>
</html>

Frequently Asked Questions

Does a 404 hurt SEO? +
Yes, having many 404 errors can negatively impact your SEO. While a few 404s are normal and Google handles them gracefully, a large number of broken links can signal poor site maintenance to search engines. More importantly, pages that return 404 and used to have backlinks lose all that accumulated link equity. The best practice is to set up 301 redirects for moved pages and regularly scan your site for broken links using tools like HTTP Tiger.
Should I use 404 or 410? +
Use 410 Gone if the resource has been permanently and intentionally removed and will never return. This tells search engines to remove the page from their index more quickly. Use 404 Not Found if you're unsure whether the page might come back, or if it was removed unintentionally. In practice, Google eventually treats both the same way, but 410 provides a stronger signal of permanent removal.
How do I find broken links on my website? +
Use HTTP Tiger's URL checker tool to scan your entire website for broken links. You can also check Google Search Console's Coverage report for 404 errors that Googlebot has discovered. Other approaches include server log analysis to find URLs returning 404 responses, and browser extensions that highlight broken links as you browse your site. Regular automated scanning helps you catch broken links before they impact your users or SEO.

Scan Your Site for Broken Links

Find every 404 error on your website automatically. HTTP Tiger crawls your pages and reports broken links, missing redirects, and orphaned pages.

Start Free Scan