Sometimes I encounter new “SEO hacks” that people apply, that are actually anti-patterns. One of these new anti-patterns I noticed is the pattern of 301 redirecting all your 404 pages to your homepage. Let me explain why this is a lot like cleaning up your room by throwing everything into a drawer and what the better solution would be.
The premise of this SEO hack
The premise of this hack is that 404 errors are counted by Google, and that through some magic the number of errors on your site affects your site’s overall ability to rank. The solution, that really isn’t a solution, that people come up with is then to start 301 redirecting all error pages to their homepage. Let me quote some of the reasons people give for doing this:
to siphon Google Page Rank (TM) from missing pages to the homepage
If you care about your website, you should take steps to avoid 404 errors as it affects your SEO badly.
I have a website, every time I login to Google webmaster tools, I found many new discovered 404 error links, the problem is not in 404 errors itself, but when Google see them and count them for you!
Let’s be clear: we’ll be the first to tell you that you should keep an eye on your 404 errors and try to fix them where possible. Google indeed shows a graph of your 404 errors in Google Search Console and lowering the number of 404s on your site is often a good idea. That doesn’t mean that your site shouldn’t have any 404s.
Let me go back to my analogy of throwing everything into your drawer when your dad or mom told you to clean up your room. Everything, in this case, means not just the dirty clothes, or your toys, but also that half emptied milk carton, that half-finished sandwich, etc. You know what that makes your drawer when you clean up your room like that? A mess. And soon your whole room will start to stink because you cleaned up like that. This situation is no different.
I verified this with Google before I wrote this article, see John Mueller’s response:
Yeah, it's not a great practice (confuses users), and we mostly treat them as 404s anyway (they're soft-404s), so there's no upside. It's not critically broken/bad, but additional complexity for no good reason – make a better 404 page instead.
— 🍌 John 🍌 (@JohnMu) January 8, 2019
As John explains: when you do this blanket redirect, all those URLs are treated as 404s. So none of them spread value. So the premises listed above are all wrong. On top of that, by 301 redirecting all your 404 pages, you throw away the opportunity to find real errors on your site and fix them.
Better solution to 404s
The better solution for this problem of having too many 404s is much more granular. You see, 404 redirects can exist for lots of reasons, and each of those reasons has their own “solution”. For instance:
- Someone linked to an article and made a mistake in their URL. If you can redirect that wrong URL to the right article: do so.
- You’ve deleted a page, you should think about that and act properly, we have an article on that.
- Someone is trying whether your site can be hacked through a certain URL, that 404 is 100% the right thing to serve.
- You have a lot of 404s on your site because you had a broken link in your template somewhere (all too common): fix that broken link. Then redirect all those 404s to the right page.
- Someone is typing in random URLs on your site just to see if something exist: a 404 is right. Of course, then your 404 page could be helpful in guiding them to the right spot.
How common is this hack?
Unfortunately, all too common. I encountered at least 3 plugins with major user bases on WordPress.org that do this, and only this:
Together they account for 240,000+ sites that show this behavior and there are probably a lot more.
Stop 301 redirecting all your 404 pages
Now, don’t take this as though we’re telling you not to 301 redirect 404 errors. We’re telling you to do it granularly. There’s nothing wrong with having a few 404 errors on your site, and you should definitely keep an eye on them. The redirect manager in Yoast SEO Premium can make this really easy to do.