Originally published in 2011. Updated April 2022.
404 Error Pages play a very important role in both SEO and website usability. While often perceived as the bubonic plague of SEO đź‘€, 404s serve a simple purpose that should be strategically embraced.Â
Over the years, we've dealt with “404 page not found errors” exhaustively. And in doing so, we've been asked a lot of questions. Below we've compiled FAQs that we get from clients about 404 Not Found pages, including things that commonly go wrong (so you know how to fix them), plus advice on how to set up and monitor 404 errors properly.
This guide is extensive, so use the links below in the table of contents to find the questions that are most relevant to you.
A 404 error (HTTP 404), also called a “header response code” or “http status code”, or simply "crawl errors", is the computer equivalent of saying “Not Found” or “Page Not Found.”
Here’s the “tech speak” definition:
“The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.”
- via w3.org
In other (less technical) words, the 404 response code essentially tells search engines - and users - that the resource (or requested URL) being referenced does not exist or literally can’t be found.
It’s a robot’s version of a shrug and blank look.
There are many other response error types, and all URLs return response codes of some sort. A correctly functioning page, for example, should return a “200” status code, which means “Found.” The other major error type is called "server errors", represented by HTTP status codes 500-599. Different error types help web admins diagnose the source of the errors so they can fix them appropriately.
404 errors are generally the most common error type. They are also often handled incorrectly by well-meaning people - hence the purpose of writing this article! 404 HTTP errors are sometimes called "Client Errors", where the "client" typically refers to the user's web browser (Google Chrome, IE, Firefox, etc.)
A soft 404 is essentially a page that doesn’t return a 404 response code, but Google(bot) nevertheless believes the page is experiencing an error. Soft 404 errors occur when the server sends a 200 status for the requested page (implying the page exists) but Google thinks that the page should return a 404 error.
Essentially, a soft 404 does not issue a 404 header status code; it (perhaps incorrectly) issues a 200 (Okay) status code instead. However, Google thinks that the page should return a 404, thereby issuing the page a soft 404.
A proper 404 page, on the other hand, does correctly issue a 404 (Page Not Found) HTTP status code. So while 404 errors simply indicate pages that do not exist, soft 404 errors are slightly more ambiguous, indicating a page that should not or does not exist but still does in fact exists according to the CMS.
A 404 error tells search engines, website visitors, and web admins when page URLs are broken, or never existed in the first place. From a technical perspective, 404s are useful communication tools that help us take action.
When we can see where these error codes occur, we can fix the problem for future website visitors (generally via a 301 redirect to the new location of that content), thereby preserving the power of the page that once existed (... or the incorrect link to a page that never did. That’s what we call “broken backlink building".)
If you don’t issue a 404 response code, you won’t inherently know that the page - and therefore the user - is experiencing an error.
So YES. A 404 page is useful. You can’t fix what you don’t know about!
Errors 400 to 499 are all various types of Client Errors. Some other common 4xx errors include:
There are several instances that can cause 404 errors to occur. Some of the most common reasons how and when pages experience 404s include:Â
Understand the relationship between 404 errors and SEO, including common mistakes and the repercussions of inadequate 404 setups.
Yes, they do say this! But unfortunately, Google sometimes says things that aren’t – strictly speaking – accurate. (See: Marketers Say Most of Google’s Public Statements Are False or Misleading.) Here are some clarifying points behind why you shouldn’t allow pages to keep 404ing in most cases:Â
The issue with 404s, as we see it, is that Googlebot appears to treat them as "temporary". If there are active links to 404 pages - either on your site or elsewhere on the web - Google can and will keep checking them to see when they will get fixed. They will continue to do this for months - and sometimes years - after the URLs stop working (even when you fix these), if you don’t resolve them.
You can validate this yourself by viewing your log files, and seeing the quantity/frequency Googlebot hits 404ing pages.
If/when you need to "vet" what gets redirected (eg if there are business or budget or tech reasons NOT to do so), here's our recommended process.
There is some dissent online debating the question of whether 404 errors are bad for SEO.  Here’s a breakdown of why 404s can be disruptive for both SEO and user experience.Â
In theory, at least, 404 errors are "bad" because they represent errors on your website (or on the web, but relating to your website). But mistakes happen, and they are easily forgiven on a small scale.
That said, a user that comes across a 404 page is less likely to return to that site later. (We’ll cover how to make this less likely, below.)
Too many 404 header response errors - or 403s, 500s, or really any other type of 4{xx} or 5{xx} error - across a site can create an overall high error rate vs. success rate. This results in trust issues: if Google (or Bing, etc.) sees too many errors vs. functional pages, they won’t want to send users to your site.Â
Why would they? That user will get lost and mad, and have a bad experience. It would mean that Google failed at its job - helping the user quickly & easily find the answer to their question.
If your website is actively linking to a bunch of non-functional pages, that means you are passing "page rank" (e.g. SEO equity) … to nothing. Picture a scenario wherein your website is like a purse with holes in it, with money dripping out. No bueno!
That said - 404 errors can and will happen no matter what. A properly functioning 404 page will notify the web admin that the error occurred, and where it occurred. Then we can go about fixing it via a 301 (permanent) redirect. The user, and search engines, never need to come across this particular issue again.
Key Point: Some teams see 404s as “bad” and so avoid this inherent "badness" by simply choosing not to issue a 404 status code on a 404 page. The trouble is - the errors real users are experiencing can and will occur no matter what. Let’s not “shoot the messenger!” Mistakes happen, and error codes help us identify those! Issuing a correct 404 status code means that you can more easily find issues in order to fix them.
So… to state the obvious… don’t forget to fix them! Too many outstanding, unfixed 404s can be actively bad, or can be big missed opportunities. Plus it’s just a bad user experience.
Mistakes and improper setups with 404 pages are not uncommon. Here are some of the most prevalent mishaps involving 404 setups.
When 404 errors are neglected or setup mistakes go overlooked, the following repercussions can unfold:
Unfortunately, these users are not likely to return:
Learn the techniques and processes used to identify 404 errors and what action you can take to fix them.
There are several good ways to pinpoint 404 errors on your site. We’d honestly recommend doing them all, since some tools can find issues that other tools don’t see.
If you are having issues finding the 4{xx} error on the page it’s linked from (e.g. from internal links), here are some things you can test. If you can’t find the URL using any of these methods, it’s likely that the issue used to be present but has been fixed.
1) Periodically run a new crawl of the site to find and fix errors old and new.
2) View Source on the URL in question and Control+Find (C+F) for the broken URLs’ path.
3) View Rendered Source (3rd party browser plugins like this View Rendered Source plugin for Chrome) will show you source code AFTER the browser has rendered it (e.g after JavaScript and CSS have run.) Again, C+F to find the broken URL path.
4) Use Google Analytics and search for "404" or "Page Not Found" in the Title. Once you narrow down into the offending URL, click into the Navigation panel to find the previous pages in that path
5) Run the URL through the Mobile-Friendly Tool from GSC. Once it’s run, click the HTML tab, and Copy + Paste the contents of the results into a Word doc, text editor, etc. Again, C+F to find the broken URL path.
Pro Tip: Using the Mobile-Friendly Tool gives you actual Googlebot-rendered code - an EXCELLENT resource for QAing issues like this.
It’s not uncommon for 404 errors to happen on URLs... that never existed on your website. This is generally due to either:
Pro Tips:Â
1) Sometimes you'll see 404 errors in GSC without a "source", and which you can't find any links to - internally or externally. Depending on the volume, you might ignore these, or just redirect them anyway.
2) Web caching can be a blocker to the QA process - it's possible that a particular URL is not currently 404ing, but was - or that it wasn't, but it is now. So remember to clear your website's cache, and your browser's cache too, if you experience any weirdness.
3) Beware creating "redirect hops" (a redirect from page A to page B and then to page C, for example) or "redirect loops" (e.g. a redirect from page D to page E and then back to page F, so the web visitor can't access any functional URL!) Most good crawlers can help you identify these in action.
4) Keep in mind that not every external link is worth redirecting. If the broken link is from a spammy or really low-value website, you might be better off ignoring it. You can determine this answer for yourself, again via paid 3rd party tools OR via a manual visual inspection. Examples of ways to determine quality quickly include: Ahref’s DR (domain rating) and UR (URL rating metrics,) Moz’s DA (Domain Authority), or Spam scores. Learn more about vetting errors to determine what you fix.
There are a variety of ways to fix 404 errors, depending on your site’s setup/platform and your software development team’s capabilities/priorities. But the simplest way to fix a 404 error is to implement a 301 redirect.
Can you prevent 404 errors from occurring? Nope. They are just a reality of the world, and ignoring them won’t help. Consider 404s "technical debt" that you need to find/vet/resolve periodically.
Want to learn more about redirects? Semrush can help!
Part 1: Vet your GSC “Soft 404” list to ensure that any issues found are actually issues to fix... because they aren’t always.
To do so, export the Soft 404 error URLs from GSC, and inspect them 1) manually (visually - do they look like they have content?), 2) via a crawler for status code checker (for the actual status code they issue), and potentially 3) via a JavaScript audit.
One fascinating use case about Soft 404s was shared by the amazing Paige Ford: "We discovered multiple Soft 404s on valid Help Center articles, and theorized that Google wouldn’t index them because the help articles were explaining error codes - where those messages could be misinterpreted as 404 messages. We kept error codes (that weren’t 404 or 500) but removed the error message, and Google ended up indexing  it."
Part 2: Share your vetted list of issues with your software development team or fix them directly. In most cases it’s one of the following:
Part 3: Follow the steps outlined to fix regular 404s, above.
There are two potential error types for when you see 404s ranking:Â
1)Â The 404 URLÂ template is ranking in search (the URLÂ likely has "404" or "page-not-found" in the page slug.)
In this scenario, chances are, you made the classic mistake of Redirecting broken pages to the 404 template URL (see:Â What are the most common 404 mistakes?) Most often that URL issues a 200 status code.
To fix it:
2)Â Any other URL - that is properly serving a 404 header status code - remains indexed and ranking.
This typically occurs when the page (or pages) used to be valid, are indexed, but now - shouldn't be. Site migrations are common cause - changing URLs en masse.
Usually it's just a matter of Google not getting around to crawling the old URL - if they don't do this, they won't "see" the 404 error happening consistently over time, and therefore know to flush the URL(s)Â out of their index. Submitting the URL's to GSC can move that process along more quickly; here's how to do that for several URLs at once with a Sitemap XML.
In both cases, it may help to learn more about how to deindex pages and site asset.
JavaScript and Single Applications Pages (SPAs) present unique challenges in handling 404s and other status codes.
With SPAs, users get the same HTML regardless of the URL they're visiting. They download the site’s JavaScript application code, and the SPA renders the appropriate content.Â
While the experience feels a lot like browsing multiple pages, you're only viewing one JavaScript application and technically just one “page” (per the actual number of index.html pages being served.)
So, 404 error pages in SPAs don’t work the same. Unlike static pages, Google has no way of telling which "pages" in SPAs are valid, and which or not. And this can create problems for SEO.
To cover for these JS 404 gaps, we break down several potential solutions and Apache/Nginx code examples in a related post found here. Two of those techniques include:Â
Though we generally recommend fixing 404s and other errors via 301 redirects, there are times when fixing them all is not possible, or not feasible, often due to technical constraints, competing business priorities, or internal politics. (Sometimes it's just not a battle worth fighting!)
Here's how we approach this "error vetting & prioritization " process:
You might also consider using GSC's Prioritization Insights in the error report - allegedly, these are in rank priority order.
If the URLs you see in GSC don't meet any of the above qualifications, you may be safe ignoring them (and letting them keep 404ing.) Alternatively, consider utilizing a 410 (Gone) status code instead of a 404. Google tends to respect 410 errors more quickly (e.g. by deindexing them and stopping crawling them.)
Here’s our step-by-step process to confirm if your 404 page is working as expected:
1) Find a 404 URL & audit it manually.
2) Confirm that the page is issuing the correct 404 response. We recommend httpstatus.io. Copy + paste the fake URL into the field and click the Check Status button (you can check multiple URLs at one time, and also test via different user agents):
3) Outside of this, the primary items to pay attention to are around usability: if/when the user hits the page, do you successfully help them find their way again? How can you do that better? Read more about this and best practices for 404 pages. (You can also learn more about QA for SEO.)
No, definitely not. Don't index error pages! That's like asking for a less ideal user experience!
(This question was contributed by Sarah McDowell, who's needed to answer this question for her clients. Sarah co-hosts WTSEO's Community Podcast - be sure to check it out!)
Advance your craft in handling 404s with next-level thinking. Explore the best practices and the best examples on how to use 404 pages effectively.
The best 404 pages should offer more than just on-brand messaging and clear next steps. They should also abide by certain UX and functionality standards, as instructed below.
There are several things you can do to improve your website's 404 page - and the likelihood that website visitors will stick around and check out the rest of your site. Below are some of the most important 404 page best practices to keep in mind.
Have fun with it! Extend your brand's personality & connect with your audience. Examples of great implementations of this can be found here.
Based on some of the 404 page best practices mentioned above, we’ve compiled several of our favorite examples. In addition to using logic and including helpful ways to get users back on track, keep your 404 pages on-brand with added personality and creativity.
‍
Contact us if you need help fixing or improving the 404 page functionality on your website - we’d love to help!