Default WordPress Search Sucks

Published by

When I noticed the no-results site search terms in Google analytics, I realized that I had lost precious visitors who had already found my site, even though my site does have the information they were looking for. This was happening because of the limitations of the default WordPress search engine.

No Results
No Results

Cons of Default WordPress Search

1. The default search operator for WordPress search is the Boolean search operator “AND” but there is no fallback to the “OR” search operator.

The “AND” search operator tells the database that ALL search terms must be present in the search results, while the “OR” search operator tells the database that ANY one or more of the search terms can be present in the search results.

Search operator
Search operator

The “AND” search operator narrows down the search results, while the “OR” search operator broadens them.

Ideally, an effective search engine will have the “AND” as the default search operator to ensure the relevance of the search results, and the search engine will also have a fallback search operator like “OR” as a back-up plan to return more results.

This is much more user-friendly than a cold and disappointing “Nothing Found“.

Nothing found
Nothing found

Unfortunately, the built-in WordPress search engine only has the “AND” search operator, too often giving visitors the cold shoulder.

2. In WordPress native search, the “fuzzy matching” is the default matching functionality rather than a fallback matching functionality.

The functionality of “exact search” matches the exact search terms, while the “fuzzy search” matches everything that begins or ends with the search terms.

Unfortunately, the default WordPress search only has the “fuzzy matching” functionality, which reduces the relevance of the search results.

Cornmeal
Fuzzy search

For example, when I search “fun meal” with the built-in WordPress search, the first search result I get is this one about “cornmeal” food adventure rather than an existing post dedicated to a fun meal recipe.

3. The default WordPress search engine doesn’t search: categories, tags, comments, authors, excerpts and custom fields; however, these components are excellent supplementary resources to help both increase the relevance of the search results and reduce the “nothing found” disappointment.

For instance, on my poetry site, while each post is a poem, it doesn’t really contain the poem category term (like “rhyming poems”) within it. Most rhyming poems rhyme but they contain neither the term “rhyming” nor the word “poem”. Nonetheless, most poetry lovers come to the site searching for “rhyming poems” or other types of poems.

Therefore, for such sites where categories and/or tags play an important role, a built-in search engine with the category/tag searching functionality is almost crucial.

Categories
Categories

The same will apply to a site that has informative comments. For example, the following image shows a comment on a post about different ways of pairing wine with cheese.

Comment
Comment

In this valuable comment, the commenter mentioned pairing a local and ancient deep red wine “Cannonau” with the cheese “Pecorino Sardo” from Sardinia, Italy dating back to thousands of years ago, which wasn’t mentioned in the original post by the post author.

This valuable comment is of course invaluable information to search for in that topic!

Unfortunately, WordPress native search will return no results when you search for “Cannonau”.

On a multi-author site, the functionality of searching authors is clearly a must. It happens often that visitors search authors on my poetry site.

On a site that has excerpts, the functionality of searching excerpts should not be neglected either. For instance, the following screenshot shows the excerpt of a poem.

Excerpt
Excerpt

In this excerpt, it describes what the poem is about and mentions an “abusive” relationship. However, in the poem it doesn’t contain the term “abusive”.

Poem
Post

In this case, the functionality of searching excerpts helps visitors locate the poem if they search “abusive”, while the built-in WordPress search will return no results.

The same will apply to sites that have informative content in custom fields. This kind of useful information is simply omitted from WordPress native search results.

4. The default WordPress search engine doesn’t search dynamic content either.

For example, the following image shows a page of poets list that is dynamically generated.

Poets
Dynamic content

The page itself only contains shortcodes, and the built-in WordPress search cannot return this page in the search results when you search a poet’s name.

5. The default WordPress search engine cannot handle mistyped words and stop words either.

As I mentioned at the beginning, the “Search Terms” stats under the “Site Search” of the “Behavior” column in Google Analytics is a superb place to find the search activities on your site.

No Results
No Results

You can get a list of no-results search terms by searching “no-results”. That’s how I discovered common misspellings, e.g. brokn, bueatiful and lonley etc. The built-in WordPress search obviously doesn’t have the power to handle them.

There is another regular failure category you may not be aware of. The following screenshot shows the search result of the search term “a recipe that has only two ingredients“, but it does not show the most relevant result as there’s another post right about “two-ingredient recipes“, which isn’t even shown in this search result.

With stop words
With stop words

After I refined the search terms to “recipe only two ingredients” by removing the pointless words “a, that, has”, I got the exact result I wanted.

Without stop words
Without stop words

Magic, isn’t it? These types of useless words are called “stop words“. Unfortunately, our visitors don’t need to have such patience to refine their search terms by removing the exact stop words. They would simply exit!

Well, WordPress native search does not highlight query terms in search results either… I’m not here to criticize the default WordPress search engine without offering any constructive alternative though!

A Perfect WordPress Search Alternative

The flaws triggered me to rethink the effectiveness of the default WordPress search engine and eventually decided to look for my WordPress search fix.

In my quest for a “Google” of built-in WordPress search engine (plugin) for my WordPress sites, I did find one after testing and comparing a few up-to-date “search” plugins.

This one nice and free plugin has a list of features that resolved most of the issues mentioned above and it also has a name it deserves—”Relevanssi“.

4 thoughts on “Default WordPress Search Sucks”

  1. Thank you for setting out so clearly a problem that has annoyed me for a long, long time. AND thanks for suggesting an alternative that works.
    The Venn diagram shows how awful the default WP search is, only capturing 1 in 4 of search queries. Your data explaining the effects on your own sites makes things very clear.

    1. I second your comment. So often, we read and hear about issues that give us a headache; yet, seldom do we get such a clear example with a solution. In addition, these examples show multiple dilemmas that can arise.

      When we put so much time and effort into writing an article blog, it is disheartening when readers miss out due to the inability to find it. As a fellow writer using this WP platform, I am going to implement this helpful suggustion pronto.

      Thanks, R2R!

    2. Hi Phil,

      Your scientist brain easily spotted the 1 in 4 ratio :). Well, coupled with the categories, comments, excerpts, mistyped and fuzzy matching, then getting rid of the distraction from stop words, plus the increased relevance, isn’t it exponential? A high traffic site will notice the dramatic change more prominently.

  2. I will be honest with you, that this is an area that confuses me a lot. So much so, that even though I know I can get good traffic this way, I just had to leave it alone. I appreciate the time you spent researching and the clear explanation and helpful examples. Thank you for sharing the solution. I will probably need to read this post again to be sure, but at least I have hope.

Leave a Reply

Your email address will not be published. Required fields are marked *