How to Get Awesome Search for Your WordPress Blog
WordPress Version 3.5 has just been released and brings with it beautiful new media handling capabilities and a brand new default theme (amongst other improvements). As far as I am concerned it is yet another step in the right direction.
However, the release of a new version of WordPress always reminds me the shortcomings that haven’t been addressed. Don’t get me wrong — I love WordPress and wouldn’t dream of using another content management system, but it is far from perfect.
One of the biggest issues I have with WordPress is its search functionality on both the front and back end. Anyone who has used WordPress for long will likely share my frustration with the default search algorithm’s ineffectiveness.
With that in mind, in this post I want to introduce you to what I consider to be the best solution for dramatically improving WordPress’ search functionality.
What is So Bad About WordPress’ Default Search Engine?
But before I get to that let’s first recap why I am so keen to avoid default WordPress search.
It’s all to do with the matching algorithm, which selects results by mention of a keyword and presents them in reverse chronological order. This may not sound too bad in principle, but when applied practically, it returns poor quality search results.
Say for instance you had written a post that covered everything one would need to know about blue widgets. You had then linked to that post in 5 more recent posts that focused on widgets of differing colors. If someone searched for “blue widgets” on your blog, that ultimate blue widget resource would be the sixth post returned, despite the fact that is by far the most relevant result.
This is also a problem when searching on the back end. If you publish a lot of posts on your blog and need to find a post that you published some time ago, you may have trouble locating it due to the WordPress search engine’s woeful matching algorithm. It used to be a source of endless frustration for me.
What is the Solution?
There are a few plugins that I have no hesitation on installing in new blogs and Relevanssi is one of them. This free plugin is a complete solution for improved search relevancy on both the front and back end of your WordPress blog(s).
Here are the key features that make Relevanssi so much better than the default WordPress search engine:
- Search results sorted in the order of relevance, not by date.
- Fuzzy matching: match partial words, if complete words don’t match.
- Find documents matching either just one search term (OR query) or require all words to appear (AND query).
- Search for phrases with quotes, for example “search phrase”.
- Create custom excerpts that show where the hit was made, with the search terms highlighted.
- Highlight search terms in the documents when user clicks through search results.
- Search comments, tags, categories and custom fields.
The details aren’t really that important because the proof is in the pudding. Install this plugin and search your blog and you will be able to see the positive results for yourself.
I’ll give you an example from my own blog. I have written about Twitter specifically on a handful of occasions, so a good search engine should return those posts as the most relevant results. Here’s the first result returned by the default WordPress search engine:
Presumably my November income report mentioned Twitter in passing, but the post didn’t really focus on Twitter at all. Now let’s take a look at the results returned by Relevanssi:
The default WordPress search engine didn’t actually return any of the four posts I have tagged with “Twitter” on the first page. Relevanssi returned all four posts in the top six results.
In case its hugely superior search engine isn’t enough for you, Relevanssi has additional features up its sleeve.
First of all, there are a bunch of ways in which you can change the search functionality itself:
- Adjust the matching algorithm (by titles, tags and comments)
- Restrict searches to categories and tags
- Index custom post types and taxonomies
- Index the contents of shortcodes
- Add Google-style “Did you mean?” suggestions
Furthermore, you can set Relevanssi to log user queries, which allows you to examine what people are actually searching for on your blog. The benefit of this should be clear — you can use search queries as a basis for shaping your content strategy (the assumption being that people want what they search for).
Whilst Relevanssi is completely free to use, there is a premium version available with additional features including:
- Improved spelling correction in “Did you mean?” suggestions
- Multisite support
- Search and index user profiles
- Assign extra weight to new posts
- Let the user choose between AND and OR searches, use + and – operator (AND and NOT)
The premium version certainly isn’t necessary — I’ve been using the free version for over a year and am extremely happy with how it has performed.
Reward Your Visitors with Better Search
There really is no reason why you shouldn’t install and activate Relevanssi on your WordPress blog now. The setup time is almost non-existent and you needn’t worry about it once it is up and running. You can take the time to fiddle with the settings to your liking but it isn’t necessary — it works really well out of the box.
Whilst there are alternatives out there, I consider Relevanssi to be the best. Do you agree? I’d love to read your thoughts in the comments section!
thanks for sharing!
Just installed this plugin on my WordPress blog, works really well.
thanks for sharing, tom.
I discovered that plugin a little over a year ago when a client’s WordPress website had over 1k recipes. We quickly discovered that the built-in WordPress functionality was insufficient. After a few other search plugins we ended up with Relevanssi and never looked back. The ability to give “weight” to post titles, comment text, tag and category weight is what really makes this plugin shine.
Great post! Keep spreading the word about this awesome plugin.
WordPress default search indeed leaves much to be desired as it doesn’t return specific results. Thanks for the plugin. I will try this on my site.