Page not found. Error 404. Those of us that build Web sites for a living have all had to deal with creating these pages. Planning for people to stumble across a URL that we don't plan on is fairly important to the user's experience on your site. However, many 404 pages could be done better. Today we're going to focus on one use case - the uses when you know what the user is actually looking for you just know you don't have it.
Fellow Viddler and friend Kyle Slattery is reworking his tag search pages. He's created a really nice way to filter through the various types of content on his site based on tag search results. For instance, going to a tag search for my name will result in a few photos and a few links that he tagged with my name. You can then filter those results to only show you the photos or only the links.
But what if you hack the URL and search for a tag that shows no results? At current Kyle shows an error page. However, there was no error. His Web site should never link you to a page that doesn't return any results (though it does right now). So how did the person end up here? They may have done a search, they may have hacked the URL, or someone else linked them to this page. Which ever way they ended up on that URL - there is still no reason to show an error.
This brings me to why I call these types of URLs "These aren't the droids you're looking for URLs". These are URLs where you know what the person is looking for (droids) you just don't have any. In the example URL I use above, a tag search for my name filtered by entries, Kyle does a good job of stating that there are no entries tagged with my name. This is much better than showing an error. In the other example, of a tag search that ultimately returns no results, he should do something very similar. This isn't an error. There is just no content on his site that is tagged with 'asdf'.
One of the suggestions I gave to him was to do a search through his own tags and try to see if, perhaps, they've mistyped the tag. I'm not sure what 'asdf' could have been, maybe sad? Or, what if someone spells my name with two Ls? This isn't easy to program against - but there is an easier option that he could set up. Offer a search box with the tag that they entered already filled in and show a message of "Sorry, but I have nothing tagged with 'asdf'. Maybe you misspelled what you're looking for?"
My site isn't a good example of best practices here. It used to be. But I had to hack Wordpress to bits to get it to work last time and I've since upgraded Wordpress too many times for those old hacks to work. However, if you're looking for good examples - I'm sure Kyle's site will end up being a pretty good example soon enough.
Have you seen any really good examples of this?