Back to Hosting Glossary

What is a 404 Error?

A 404 error is an HTTP status code that means the server can’t find the page the user requested. Common causes include a mistyped URL, a deleted page, a page moved without a redirect, or a broken link. The code doesn’t say whether the page is gone temporarily or permanently.

More about 404 errors

You’ll often see a 404 called the “404 Not Found” error, after the message browsers display: “404 Not Found” or “The page you are looking for could not be found.” Whatever the wording on screen, the meaning is the same. The server answered, but it couldn’t find a page at that URL. The page may have been deleted, moved without a redirect, or never have existed at all.

Where the number 404 comes from

The number comes straight from the HTTP specification, currently RFC 9110. Every HTTP response carries a three-digit status code, and the first digit names the class: codes from 400 to 499 make up the class HTTP calls client error responses. Despite the name, a 4xx code doesn’t prove the visitor did anything wrong. It means the server couldn’t or wouldn’t fulfill the request, and a misconfigured server produces a 404 just as easily as a mistyped URL does. Each status code also carries an official reason phrase, and 404’s is “Not Found”: the server can’t find the requested resource.

Common causes of 404 errors

Almost every 404 traces back to one of a few causes:

  • A mistyped URL: the visitor, or the page linking to yours, got the address slightly wrong.
  • A deleted page: the content is gone, but links to it still exist.
  • A moved page: the content lives at a new URL, and no 301 redirect points the old address to it.
  • A broken link: your own navigation or another site points to a URL that no longer works.
  • Server misconfiguration: broken rewrite rules or files moved during a site migration, so the server responds but can’t find the page.

One thing a 404 never means is that the server is down. Status codes are sent by a server when it responds to a request, so a host that’s fully offline can’t send a 404 at all. That failure shows up as a connection error or a 5xx status instead. As a visitor, double-check that the URL entered is correct before assuming the page is gone; a typo is the quickest cause to rule out.

How to find and fix 404 errors on your site

Find them before your visitors do. Google Search Console reports crawl errors for status codes in the 4xx range, and its Page indexing report shows which URLs on your site aren’t indexed and why, including those returning 404. Your server’s access logs and a broken-link checker will catch what Google hasn’t crawled yet. Then work through the fixes in order:

  • Restore the page if it was deleted by mistake.
  • Correct the linking URL if the link itself is wrong.
  • Set up a 301 redirect from the old URL to its replacement if the page moved.
  • In WordPress, re-save your permalink settings to rebuild the site’s rewrite rules.

Contact your hosting provider only if pages that clearly exist keep returning 404s after those steps. For a step-by-step walkthrough, see our guide on how to fix the WordPress 404 Not Found error.

Do 404 errors hurt SEO?

Not by themselves. Google’s crawler documentation spells out what happens to a URL that returns 404: if it was indexed, it’s removed from the index, and Google gradually crawls it less. For content you removed on purpose with no replacement, that’s the correct outcome. Google’s Search Console help lists “a 404 for a page that you’ve removed” among the good reasons for a URL not to be indexed.

The real SEO damage comes from broken links. When your pages point at URLs that 404, visitors hit dead ends and crawlers spend their time on pages that return nothing. If the content moved, set a 301 redirect; Google treats a 301 as a strong signal that the target page should be processed instead. If the link is simply wrong, fix it at the source.

404 vs. 410, 500, and soft 404

Several other responses get mistaken for a 404, and the difference decides the fix:

A decision flow showing how one web request ends in four different responses: a server that fails before serving returns a 500; a server that answers but cannot find the page returns a 404, or a 410 when the content was removed deliberately and permanently; and a page that returns a success code while displaying not-found content is a soft 404. The branch a response takes determines which fix applies.
  • 404 Not Found: the server answered but can’t find the requested page. It doesn’t say whether the loss is temporary or permanent.
  • 410 Gone: the page was removed deliberately and permanently. MDN’s HTTP documentation recommends 410 over 404 for content that’s never coming back.
  • 500 Internal Server Error: the server hit an unexpected condition and couldn’t fulfill the request. The page may exist; the server failed before it could serve it.
  • Soft 404: the page returns a 200 (success) code while showing not-found content, such as an empty page or an error message. Search Console flags these because the code contradicts the content.

Custom 404 pages

You can’t prevent every 404, so control what visitors see when one happens. Web servers let you swap the bare default message for a page of your own; in Apache, a single ErrorDocument line in an .htaccess file sets it. A good custom 404 page turns a dead end into a detour, and it includes:

  • A search bar, so visitors can look for what they came to find.
  • Links to your homepage and your most popular pages.
  • Your site’s normal branding and navigation, so it’s clear visitors haven’t left your site.
  • A contact option, such as a form, so visitors can report the broken link they followed.

One requirement is easy to miss: the custom page must still return the 404 status code. If it returns 200, search engines see a soft 404, a page that claims success while telling humans the content is missing. Test yours by loading a made-up URL on your site and checking both the design and the status code it returns.

Frequently Asked Questions

No. A 404 means the server is up and responded, but couldn't find that one page; other pages on the site may load normally. A site that's actually down produces connection failures or 5xx server errors instead of a 404. Try the site's homepage to confirm.
Open your browser's developer tools, select the Network tab, and reload the page. Every request the page makes is logged as a row you can inspect, including its HTTP status and headers. On the command line, run curl with the --verbose flag to debug the exchange with the server.
Usually the server's URL rewriting is broken. In WordPress, the telltale symptom is a homepage that loads while every other page returns a 404; going to Settings > Permalinks and clicking Save Changes usually repairs the broken rewrite rules. If that doesn't help, restore the default .htaccess file.
A 404 comes from a server that was found and answered: the domain works, one page is missing. A DNS error appears when the URL refers to a server name that doesn't exist, so no server answers at all. Fix DNS problems in your domain's DNS records, not your pages.
Special Offer

Web Hosting

Our Web Hosting plans offer a user-friendly interface and flexible options to fit your needs, with a 30-Day Money-Back Guarantee.

Web Hosting Plans