Many people ignore the search bar on websites in favor of going back to Google and searching there, but why is that? It may be because WordPress powers one third of the CMS powered websites in the world and its default search sucks. If search is an important part of your WordPress powered website, then you should take the time to improve it beyond its current abilities. Thankfully, there are a few easy ways to do that.
WordPress search works well in certain situations. If you have a post or page that is an exact match for the typical search terms that users are entering, then default WordPress search might be sufficient for your site.
Results with a complete match of terms are placed first; results with a partial match are placed next; results with few matching words are placed last to provide tiered relevance for users. For each level of relevance, results are sorted in reverse chronological order so that the user sees what WordPress believes to be the most precise and recent article first.
For example, if you were visiting a blog about WordPress and searched for “How to Improve WordPress Search,” WordPress would try to match the entire string, looking to see if any posts or pages had exactly the same title. If such a page existed, WordPress would place that result first.
It would then try to search based on partial title matches depending on the number of matching words. Finally, WordPress would search the content throughout your posts and pages to find any matches. All of these would be sorted by publication date, and then the entire listing of results would be shown to the person that entered the search query.
If you had an article entitled “How to Improve Image Search” or “Improve Instagram Search by Using Hashtags,” it might surface towards the top of the search results, even though the article is not the most relevant possible search result.
The example above depicts some of the limitations associated with WordPress search. If you are on a site with a bunch of similar content, you might hit a wall and the default WordPress search will leave your users stranded with unhelpful results. WordPress’s current default search doesn’t truly understand intent or the context of language well enough to measure relevance against a search, and it doesn’t take into account how popular a post or page is, how many backlinks it has, or other metrics that could potentially improve the results that you serve to people searching for content on your site.
One of the first ways to resolve WordPress’s search limitations is to add a plugin. There have been more than a few created, but I should note that most search plugins for WordPress can be fairly heavy on server resources and may be restricted or cause performance issues within certain hosting environments.
There is currently both a free and paid version of Relevanssi available. It creates a stronger listing of results using a better algorithm than what is included by default within WordPress. It adds additional features relating to search term highlighting, adjusting the weight of the titles and post content, log user queries, and much more.
One of the big downsides of Relevanssi is that it can create big database tables for its index which can sometimes slow down the server it’s on when creating that index, especially if your site has thousands of posts and pages.
If you try out Relevanssi and find it to be to your liking, you might consider purchasing the Premium version for $99 per year or $349 for a lifetime license to get the additional weight adjustment features, support, and sticky posts in searches.
Providing results in an instant, the Ajax Search Lite and Pro plugins make it easy to provide users results without pushing them to a different page. While the Lite version that is free only comes with one layout option, and does not include multiple themes and customization options.
You can set category and post/page ID exclusions to filter out certain content from your search results. The Pro version allows for multiple different search instances, making it easy to narrow in on what a user might want by giving them different options or inputs based on what they might be looking for.
Building out a filter list for an eCommerce site is simple with the Pro version of Ajax Search, which is available on the Envato Market for $36 USD.
Ivory Search has features similar to those of the two plugins mentioned earlier. These features include multiple search forms with different custom configurations and rules with an instant response Ajax interface, highlighting searched keywords, and allowing for content exclusions. This option is really impressive and it is one of the least expensive plugins with a Pro level version being sold for only $20 USD per year.
Without a page on the WordPress.org plugins repository, FacetWP might be an often overlooked plugin for improving WordPress’s search functionality. However, if you want to reduce the “No results found” response, then this plugin is for you.
Compared to the above, FacetWP integrates with several other plugins in the WordPress ecosystem, meaning that if you use Elementor, Beaver Builder, WP Recipe Maker or one of the more than dozen other plugins, you’ll have a more seamless experience and be able to provide a more complete experience for your visitors.
One of the things I don’t really like about it is that it uses shortcodes, but I think that’s a minor complaint for a very flexible plugin.
There is no free version of this plugin, so you’ll be shelling out $99 USD per year for their Basic license, but that covers up to three websites.
I highly recommend ElasticSearch using ElasticPress. This combination is very powerful and provides a great deal of control. It basically allows you to create your own search engine that indexes your site and creates custom search results, often understanding the natural language that someone may use to try to find something on your site.
If you run an eCommerce store selling clothing, users could type in “I want a cotton t-shirt” and likely receive a reasonable result that fulfills their need, assuming that you have a matching product available.
If you can’t afford ElasticSearch or feel that setting up ElasticSearch and ElasticPress would be too difficult or time consuming, Automattic has Jetpack which includes Jetpack Search which is priced based on the number of records your site has and starts at $5 per month.
There is also ElasticPress.io, which provides an ElasticSearch server as a service starting at $79 per month for 20,000 records.
These options both provide instant search and filtering without reloading the page, and can help prioritize results based on a number of factors.
While WordPress search has been significantly improved over time, many people still find it lacking. If you run a large content focused website or an eCommerce website with WordPress, it is worth taking time to improve search for your visitors. It can potentially lower your bounce rate, increase your sales, and improve overall satisfaction with your brand.