The UX of 404 pages
Nat Dudley

Those are pretty, but I feel like you’re missing an opportunity to really delight your users, especially with 404s.

404s are caused, most often, because the site author moves content around without ever updating references to that movement. As a site owner, you should be issuing 301s or 302s for content that moves.

If you’ve removed content, you should be using a 410 in response so that indexers don’t keep that content alive, in an undead state :)

So, keep your content in check.

Some of the most useful 404 pages I’ve seen are ones that suggest possible matches to what you were originally looking for.

If you have an index of all publicly-available URLs, you could do a fuzzy-match on each URL and the requested URL.

e.g. say I enter: mistakenly into the URL bar… I get a 404. Well, fat help that was!

But if we compare that URL to all others on your site, it’s only one character away from: — why not suggest that to me since it’s the closest match?

Lastly, use natural language in your URLs. The URL bar is a user interface too. I could easily spot a misspelled word in a URL, but guessing an internally-used ID is troublesome.