404 error: what it means and how to fix it

“404 Not Found” means the server was reached and understood the request, but has nothing at that address. Here is what causes it, what to do as a visitor, and how to fix it on your own site.

What a 404 actually says

Every web response starts with a three-digit status code. Codes in the 400s mean the problem is with the request; 404 specifically means “the server is fine, the domain is right, but this path doesn't exist here”. It's defined in the HTTP standard (RFC 9110) and says nothing about whether the page ever existed or might come back.

Compare the neighbours: a DNS error means the domain itself couldn't be found; a 5xx means the server broke while trying; a 410 Gone means the page was removed on purpose.

If you're a visitor

  1. Check the address for typos, especially case (/Blog vs /blog) and stray punctuation copied from a message.
  2. Trim the URL back one folder at a time until you reach a page that exists, then navigate from there.
  3. Search the site, or search the web for the page title plus the site name.
  4. Try the Internet Archive's Wayback Machine for a saved copy of the old page.

If it's your site

  1. Find them. Google Search Console → Pages → “Not found (404)” shows the ones Googlebot hit. Run your sitemap and key pages through the dead link checker to find the links pointing at them.
  2. Decide per URL. Moved or replaced → 301 redirect to the equivalent page. Gone for good with nothing similar → leave the 404 (or send 410). Linked from other sites or getting traffic → always redirect if any equivalent exists.
  3. Fix the source. Update your own internal links to the new URL, rather than relying on the redirect forever.
  4. Make the 404 page useful. Keep the real 404 status, but show search, popular pages and a way to report the broken link.

Where a request can fail

Pick a failure, then step along the line to see where it stops and what error you get.

  1. DNS: find the server

    example.com resolves to an IP address.

  2. Connect + TLS handshake
  3. Server receives GET /old-page
  4. Look up the path
  5. Response

Do 404 errors hurt SEO?

Google's John Mueller and the Search Central documentation have said the same thing for years: 404s on URLs that should not exist are normal and do not harm the rest of your site's rankings. What does cost you:

  • a 404 on a page that had backlinks, because the value of those links is lost unless you redirect;
  • internal links pointing at 404s, which waste crawling and strand visitors;
  • 404s listed in your XML sitemap, which tell search engines your index is unreliable;
  • “soft 404s”, where missing pages return 200. Test yours with the soft 404 checker.

404 variations you might see

  • “404 Not Found nginx” or “Apache”: the server's default error page; the site has no custom one.
  • “404: NOT_FOUND” with a code on Vercel or Netlify: no file or route matches that path in the current deployment.
  • “There isn't a GitHub Pages site here”: the repository or custom domain setting is missing.
  • 404 only on refresh in a single-page app: the host doesn't route unknown paths to index.html.

Questions people ask

What does error 404 mean?

The server you reached has no page at that address. The domain works, but the specific path does not exist there, usually because the page was moved, deleted or the link was mistyped.

Is a 404 error my fault?

Rarely. As a visitor it usually means the link you followed is out of date. If you typed the address, check for typos and letter case.

What is the difference between 404 and 410?

404 means “not found” with no statement about the future. 410 means “gone, and deliberately so”. Search engines drop 410 URLs slightly faster, but both work for removed pages.

Should I redirect all 404 pages to my home page?

No. Google treats mass redirects to the home page as soft 404s, and visitors find them confusing. Redirect only to a page that genuinely replaces the old one.

How do I find 404 errors on my website?

Use Google Search Console's Pages report for URLs Googlebot found, and a link checker (like the one on our home page) to find the links on your own pages and sitemap that point to missing URLs.

Keep going