For a current client we are trying to improve the reliability of WordPress’ search engine. By default, WP sorts results by date. You could argue that this makes sense for a blog because the most relevant results may be the most recent, and WP obviously made that argument. Realistically, people want relevant results, no matter the date (most of the time).
Plugins to Improve Search?
I set out to see how we could bring WordPress up to par with most search engines – a vain attempt at competing with Google search. The first and most popular solution for “fixing” WordPress search I came upon was Search Reloaded by Semiologic. Certainly Search Reloaded improves the accuracy of the search which is a step in the right direction. But even Semiologic admits it’s not perfect. When using Search Reloaded the results were thinner and more accurate, but sometimes you want more comprehensive and have them sorted accordingly.
Example: Searching for “arthritis” without Search Reloaded returns lots of results, including an article on Osteoarthritis. The same search with Search Reloaded returns only one article title Arthritis.
Ideally, both the Arthritis article AND the Osteoarthritis articles would be returned and sorted accordingly.
Sprucing Up the Search Page
After realizing that I may not be able to do much with the behind the scenes searching I tried tweaking the search page itself to at least give the appearance of a smater search engine. I started with Yoast’s WordPress search tips. Per Joost’s advice I added the Search Excerpt plugin to extract the snippet of text around keywords and bold the keywords in the snippet. I also added his Search Suggest plugin that catches possible typos and suggests the correct spelling (just like Google), and in adition it displays a list of keywords related to the search keyword as suggestions for related searches.
Despite all of the changes, the search results still lack exactly what we need to achieve: comprehensive, yet accurate results.
Any suggestions for improving WordPress results or are you willing to write a plugin to do so?