Over the past few months, I have been working on improving a computer tech site’s search functionality. The site was built with WordPress, one of the more popular Web Blogging solutions that apparently can act as a CMS if needed. The site was great in all ways but searching. Out of the box, the WordPress search functionality searches for what appears to be the basic presence of a word in a blog post or title, then orders the results by post date. This approach has a number of flaws, especially for sites heavy with computer technology lingo. The first of these problems is abbreviations.
Abbreviations
As many of us know, we computer geeks love abbreviations. Whether it be the various components of a computer (RAM, CPU, PSU ) to the documents that we write/read (SRD, SOW, DDD), and then there are the various software technologies we use (RIA, AJAX, CSS). Because the default WordPress search only performs a simple search for the presence of the search terms, abbreviations can return all sorts of crazy but logical results. Take for example, the search term “RIA.” Using the default WordPress plugin, it returned various articles about indust-ria-l devices.
Relevance
The other major issue was that, thanks to Google, users have become spoiled with this whole concept of relevance. People expect the top results to be the pages that are most likely related to the topic they’ve searched for. Determining relevance varies from search engine to search engine, but mostly it is determined by the number of times a search term is used, where it’s used, and the words surrounding it. Making a site more relevant for certain keywords is such a big deal that it has spawned a brand new abbreviation: SEO. Having a relevant search capability for your own site tends to be a big deal since it makes life easier for your readers/clients.
To resolve these search issues, I ended up trying numerous plugins. This approach led me to the following conclusion: plugins fall into one of two categories. There are the “search everything from author to page/blog title” plugins and then there are the “search by relevance, but only for blogs or pages and maybe, if we feel like it, their titles” plugins. After I started paying attention to the timestamps on the various plugin pages, I reached yet another conclusion: these plugins are extremely short lived. Most of them receive up to a year’s worth of development, and then the developer’s disappear off the face of the Earth.
Ultimately, Google came to the rescue with Google Site Search, a special embeddable code snippet that allows you to use Google to search only your website. Unfortunately, this bears some consequences of its own. Unless you like various text ads all over your results, you have to subscribe to the service with fees based on the page count of your site. It’s a bit steep at $100-$250 per year for smaller sites and a lot more for bigger sites. Also, the results are a little painful to customize without doing some good ‘ol XML API interfacing.
In conclusion, WordPress searching sucks. The Google site search makes it sort of better, but I really wish WordPress would devote some of their resources to improving their default search system. The pain I suffered trying to improve it via plugins and Google has certainly made me reluctant to use WordPress again.