I've recently finished reading Steve Krug's Don't Make Me Think which was highly recommended by both Jeff Atwood and David Sturtz, Geonetric's information architect. One of the points the book makes is that the users of your website nowadays have been so conditioned by Google that they expect to see a search box. My contention is that adding "search" to your website is no trivial matter.
There seem to be few categories your site can fall into, here are three that I'm familiar with:
My father has a website, with a number of pages of static content. The pages are .aspx pages only to utilize features of .NET like MasterPages and/or themes. The content is static. To implement a search I need to somehow index the content, which should be easy, in theory since the content is static.
I've built a small CMS system for myself, to manage pages and content. The pages are dynamic in that when you request a page, no page exists on disk and is loaded from a database.
A large CMS with multiple different "objects". You may at various points want to search for specific "objects" or search across all "objects". I'm thinking back to my last job where we had a large site to manage baseball tournaments. There were three primary "objects", players, teams, tournaments. There was a general search that had to search everything and individual searches for each object that would only return those objects. In other words the site wide search for "Blue Devils" would return both the "Cleveland Blue Devils" team as well as the "Duke Blue Devils Classic" tournament. The same search in the team and tournament section would only return the team and the tournament, respectively.
It's a very tricky proposition. Krug says that users will look for a search box, so that means you should put one there right? If you put a search box on your site that doesn't produce reasonably good results then the user will lose faith in your website and may leave. If you don't provide a way to search your pages/data, of which there may be quite a bit, then the user may struggle to find what they're looking for and leave. The only option you seemingly have is too implement search and implement it well.
This blog contains the thoughts and discoveries of Tim Barcz, a technologist with a interests in computer programming technologies.