I recently read “The Inmates are Running the Asylum” by the father of VB, Alan Cooper. He spends quite a while arguing the case against obnoxious interfaces that make life difficult for your users. Quite right too. I highly recommend the read if you’re involved in any kind of user interface. Actually, I highly recommend it anyway – empower yourself with the knowledge that things don’t have to be this way.
Anyway, my small part towards eliminating frustration and annoyance was to try and create the perfect 404 page. And I know what you’re going to say… If you desire perfection, why would anyone ever even see your 404 page. Well you’re quite right, but it doesn’t hurt to be defensive about these sort of things. Accidents happen and believe it or not, not all of them are entirely my fault. Sometimes.
I’m not going to link to it here, because my 404 page automatically emails me whenever there’s a broken internal link. Frankly I could do without the hassle. That’s step one, and here are some more.
- Tell the user what’s wrong. If they’ve come from another site (do this by checking the referrer URL), let them know which site, and that the link was broken at that end. If they haven’t – chances are it’s a bookmark / favourite. Tell the user that. The term ‘404’ is not helpful – telling the user what happened, is.
- Recent Posts. It’s a blog. If you’re here, you’re most likely reading one of the latest five posts. If you’re applying this to your own non-blog site, list your most changed popular pages.
- Search. If you’re looking for something and I’ve already failed to find it, searching seems more appropriate than to keep doing what you’re doing.
- Possible matches. You’ve got a URL – use it. So I try to guess at what the user was hoping to find based on what’s in the URL. If you’ve got some decent SEO going on, chances are this will do better than you think.
- Other helpful links. The homepage is generally a good starting point, and well, I don’t have a site map. But if I did – this would be another good thing to include.
- Google Cache – Google maintains a cache, so why not make some use of it and point your visitors at it to hunt for your missing URL. This might not be exactly what you want for your site, but they could find it on their own anyway so stop being difficult.
- Tags. All my posts are tagged, and provide a nice overview of what the posts are about, so let’s include those.
Turn your 404 page into a jump-board rather than a brick wall – or your readers are just going to find something better to do.