Creating User Friendly 404 Pages

We understand what 404 means: Page Not Found. But the average internet user has no idea what 404 means or what to do about it. To them, it's yet another unintelligible error message from the computer. Most 404 pages are unvarnished geek-speak. Consider the default 404 page under IIS:

This is a companion discussion topic for the original blog entry at:

One of the best error pages I’ve ever seen is/was from Dunstan’s 1976 Design blog ( I think it hits most of your points for a good error page, although it doesn’t automatically search and it doesn’t automatically send an error report (although it comes awfully close with a simple “submit quick error report” that requires no forms to fill out).

I don’t like useit’s “common mistakes” scenarios, these facilites should be provided by the server. My hosting provider looks for .htm, and if it can’t find it, it will resolve so .html. Same goes for the case sensitive scenario.

But yes, good 404s rock.

Here’s another article I enjoyed on 404s

I’ve been doing a fair bit of revamping on 2Dolphins and moving some pages around. I’ve done .htaccess redirects to handle the majority of these changes.

And I’ve also created a custom 404 page ( to catch anything else and this page includes a Google search box and sitemap to help wayward surfers find what they might’ve been looking for.

A 404 page MUST have the number 404 on it or in the title. If I’m surfing and I run up against one, the first thing I want to realise is that it’s a 404 page. Just seeing those numbers is all the info I need. Having all that other stuff is just fine too, but the ‘404’ is key.

I love getting the Apache “double 404” page, the one that says not only did we not find this page, we also could not find the page that is supposed to handle the 404 error. I bet a lot of my fellow nerds appreciate the irony.

I like the 3rd bullet on the IE 404 page!

I think you give users a little too much credit, Jeff. I’d say roughly 3/4 of the 404’s I see on my browser come from typo’s (mostly mine. but only mostly). A more minuscule fraction come from personal/personnel pages on a shared/institutional server- a situation that would be better served by your suggestions, and/or other measures.

I pose a question about your ‘automated report’ mechanism: how many of these do you want to read:
[ ERROR ] 404 - Requested Resource:‘
[ ERROR ] 404 - Requested Resource:‘
[ ERROR ] 404 - Requested Resource:‘

Obviously, some logic could be incorporated into the logging or reporting- but, couldn’t (or perhaps, shouldn’t) you just redirect the hapless user anyway, using similar logic?

I’m guessing Joe or Jane User only needs three or four ‘vanilla’ 404 errors to get the gist- and, much like modal dialogs, or other error boxes, are they likely to even read much of it? My guess is no.

Really, I think spiffy 404 pages are much more of an aesthetic, rather than functional issue.

…or we could just be really blunt with users and tell them what we really think …

Sorry, I know it’s a bit random, but I find the implementation amusing, as well as perfectly themed for the site in question.

Automatically redirecting to the wrong page is automatically much, much worse than simply having a bland 404 page. Redirecting incorrectly means the user can’t go back and manually correct the problem. As a wise Python developer once wrote, “In the face of ambiguity, refuse the temptation to guess.”

As Tarkin states, users pick up on what a normal 404 page means fairly quickly. If the 404 replacement page does not resemble a standard error page, you risk confusing the user and making the problem worse.

Also noteworthy is the increased load by attempting to search for the correct results. Any returned information is on a best-guess bases, and going through my server logs, I’m entirely sure I could produce correct results manually for many of 404s.

  • Double check every internal link for correctness.
  • Keep replacement 404 pages simple and to the point, and avoid incorrect links as much as possible
  • Fix simple url problems (.htm-.html)
  • Monitor logs for common 404’d pages

For myself, the only time that 404s get annoying is when the link in question is from the same site. Otherwise, I would much rather have a standard, short, 404 page.

Ugh! I’ve been meaning to do a better job with this for Subtext. Too many things to do.

One question, do you think the page should fit the exact same design as any other page on your site? Or should it clearly be an error page?

Simply the best

Fuck 'em. If anything, 404 pages should be MORE complicated!

Rob O (2Dolphins): Don’t mean to be harsh but your site needs another look:

  • Buttons that look like tabs!
  • The marketplace link that opens another window and sends you offsite! At least have a page explaining what it is first.
  • You click the adoption journal ‘tab’ and the whole top row of navigation changes!
  • “We hope everyone had a fun and safe St. Patty’s day celebration”. Is this a public site - because after a few mins of looking around I still don’t know who ‘we’ are and what they do!? Possibly some kind of dolphin charity…?

Cool! Thank you :wink: But what about your 404? :wink:

Another idea – make getting an error message “fun” to make it not seem so bad.


Fuck 'em. If anything, 404 pages should be MORE complicated!

I agree. It’s pointless to suggest answers to an user. Better not to even give them the slightest hint of responsibly or compassion.

Whichever route you choose, never settle for the default 404 page. Replace it with a custom 404 page that is polite, illuminating, and most of all, helpful.

Grrr. If there’s one thing I hate, its a 404 page that doesn’t look like a 404 page. Then you have to stare at it… and… is it really a 404? Is it actually helpful? F’in show me a helpful 404 page. I dare you.

A notorious fan site has one of the better 404 pages I’ve seen

You can yell at a user in all caps: you typed it in wrong and/or it doesn’t exist anymore: and they will still have no clue.

And… 404 is an english word. Is it really geekspeak? I mean they are using the WWW… even if they never heard the words “world wide web”.

404 is the computer equivalent of a flat tire. If my mechanic uses equivocations and start talking about wheel failure, or tells me to “have a professional check the tire” or “your wheels may not be performing properly.”

Really, you should tell them that their computer is broke, and give them the 1-800 number to Dell computer.

And that would be helpful.