Skip to content

A podcast for those who design, develop and run websites.

Boagworld is the personal website of Paul (the Wurzel) Boag who lives in the heart of rural Dorset. He produces a weekly podcast along with Marcus (pop star) Lillington on all things relating to building and running websites.

Latest shows

127. Context
In this week's show we discuss taking context into consideration when designing websites and we answer your questions about video for an elderly audience and the most influential books in the industry. 
126. Scaling
In this weeks show we learn lessons from the botched iPhone launch here in the UK. We chat to Jeff Veen about the designer / developer relationship and Marcus talks about adding jingles to your website.
125. Copy
In this weeks show we discuss how to give personality to your site copy and we talk with Elliot Jay Stocks about going freelance.
124. HTML 5
In this weeks show we explore how to create better online surveys and Lachlan Hunt joins us to discuss HTML5
123. Plight
In this weeks show we review Textmate and the Top 5 Tips for Web Designers and we discuss the plight of in-house designers.

or view all shows

Have your say

Leave a message for the show...

Buy my book: The website owners manual. A book for all those involved in designing, developing or running websites on a daily basis.

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:

  1. 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.
  2. Your basic search functionality should be available on every page of your site just like your primary navigation.
  3. 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

    Perhaps you can add in for those that use blogs that an excerpt function is highly useful. For example, WordPress allows for the addition of excerpts that can be used in search results. Within these excerpts, you can put in keywords (not an excerpts intended use), or even a helpful summary. The search results page can then show the given search results plus a little summary of what is within that result (much like Google).

    Just a thought on making blogs a little better at returning relevant search results.

  • Post by Daniel on May 11, 2006 8:52 AM

    Does anyone have suggestions for open source search utilities that work well with sites where the content is split in both of static pages and database content (a partial CMS situation). I am using Apache, PHP, and MySQL.

  • Post by Keith on May 17, 2006 9:12 AM

    Great Article, guys and love the podcast

Leave a comment

Additional Information

Supporting boagworld

Boagworld only exists thanks to the kind support of the following people. Check them out.

Speaking and writing

Supported by FeedInformer