Creating a great search facility
Published on: May 8, 2006 by Paul Boag
I find it hard to believe that in over a year of blogging about web design usability I have failed to tackle the issue of in-site search. In this entry I endeavour to rectify that error by looking at this vital navigational tool.
A search facility is the one of the most important navigational tools on your site, second only to your main navigation. According to Jakob Nielsen, 50% of users will turn to search as their primary method of finding information. Unfortunately search is rarely given the attention, or indeed prominence, that it deserves. In this entry we look at three areas of search and suggest some practical steps that you can take to ensure your in-site search is as good as possible.
The search interface
It is easy to simply slap a search box into your site with little consideration of its usability or visibility. However, the mechanism through which users search needs serious consideration.
Positioning the search box
For a start a simple search box and submit button doesn't take up much real estate on a page compared with something like your main navigation. This means it can be easy to miss if not positioned correctly. Always ensure that your site search is placed prominently on every page. A general rule of thumb is to place it in the top right. However, as with all things you can't afford to be too black and white. On some designs this may simply not look right and on some sites other conventions have evolved on positioning. For example most search boxes on ecommerce sites tend to be positioned centrally in the body of the page. As with all aspects of web design some subjective judgements need to be made. The key is to carefully consider the positioning rather than just "plonking" it on as an afterthought!
Advanced search
WAI checkpoint 13.7 says:
If search functions are provided, enable different types of searches for different skill levels and preferences.
In other words, if you have search functionality, make sure you provide advanced search too. Now this creates somewhat of a problem because research suggests that advanced search functionality isn't generally very usable. Very few users know how to use Boolean or complex search facilities and fewer still consider themselves "advanced" searchers (whatever that means)!
Of course checkpoint 13.7 is only necessary if you are trying to reach Priority 3 compliancy so can be ignored by some sites. However if you are going to add an advanced search function it is worth carefully considering how you could make it more usable.
One approach is to use DOM scripting to create a simpler method of building advanced search queries. I have seen some great examples of how DOM scripting has been used to compile complex Boolean searches by dynamically creating and populating search forms.
Basic search
The vast majority of your users will never view the advanced search page and will simply use the in-page search box. In my opinion there are three golden rules about basic search:
- Basic search should be exactly that...basic. It should be an input box and a submit button, nothing more. No dropdowns, no radio buttons, nothing other than a basic site wide search.
- Your basic search functionality should be available on every page of your site just like your primary navigation.
- When the user is in a key section such as news, they should be able to search specifically on that section as well as across the whole site.
The results page
As well as considering the interface for searching, it is also vitally important to consider the results which are returned.
Obviously the most important factor is ensuring that the results are relevant and that the weighting of pages is correct. However, this is very much dependant on the specific search tool you are using and beyond the scope of this post. What I do want to look at is how the results page is displayed and what functionality it should provide.
Search again
No matter how relevant your results it is still likely that your users will want to search again. The search results page should contain a search box that allows the user to either carry out a brand new search or search within the results returned.
Individual result entries
Another important factor is how the individual results are displayed. If not correctly formatted results can be confusing and unhelpful. Each result should have the page title, page description and possibly publication date (if searching time specific information such as news).
The page title should be clearly formatted to aid scanability. For example page titles should not read:
Name of the site - Name of the page
as this is hard to scan the name of the page because of the site title.
Many sites display an extract from the returned page under the page title. I would suggest that these extracts are often not very helpful. A better solution is for each result to display a summary about the page. Of course this requires each page to contain a summary which can be used, so this technique isn't always practical. However, if achievable, it provides the user with a lot more information before they click on a result.
Clear search criteria
The more a user refines his or her search, the more confusing it can becomes as to what exactly that search term is. It is important to clearly inform the user as to what phrase is being searched on. There are two methods I would recommend using. Firstly, ensure that occurrences of the search term within the results are highlighted. Secondly, make sure the search term is displayed prominently at the top of the search results.
Other options
Of course, even with the best search engine in the world, the user may not always be able to find what they are looking for. Therefore at the bottom of each results page always provide the user with other ways of finding the information they are after. Exactly what these options are is covered below when we look at what to do if the search engine returns no results.
No results
There are always occasions when a user doesn't find any results upon searching. Rather than leaving them with an unhelpful "no results found" message, why not provide them with some other alternatives on how they might find the information they are after. Every no results page should contain the following information:
- A clear message explaining that no results have been found. It's amazing how often users simply mistakenly think the search is broken.
- Some suggestions of common pages the user might be looking for.
- A suggestion that the user might want to try browsing the site. Very search centric users will often not consider navigating through the information architecture.
- A search box, so the user can easily search again using a different search term
- A list of possible errors that might have caused no results to be returned. Typically this includes things like misspelling.
- A link to the sitemap.
- A telephone number so they can talk directly to a real human being!
Is search for everybody?
So am I suggesting in this post that every site should have a search function? Well actually no. For smaller sites the possibility of returning no results is high, so you are better off encouraging the user to navigate through the site. Jakob Nielsen suggests that sites which have more than 200 pages should have a search function. Although this a useful rule of thumb it is important to consider this question on a site by site basis. For example I would argue that search is an important function of almost all ecommerce sites no matter how small.
If you do decide to add search to your site be sure to give it the attention it deserves. So often search is added as an after thought. Hopefully this post has encouraged you to give it more attention in the future.






Comments
Comments are for the discussion of this post. If you have other questions / comments then post them to the forum or send me an email
Post by ronalfy on May 9, 2006 5:30 AM
Post by Daniel on May 11, 2006 8:52 AM
Post by Keith on May 17, 2006 9:12 AM