Since forever, websites have offered search functionalites to help their users find the content they need. It is no different for WordPress websites. A good WordPress search is invaluable since it increases user engagement and reduces frustration.
Well WordPress offers a default search. But is it a good idea to use it? Well apparently not enough since Ivory search exists. Ivory search is a WordPress search plugin that replaces the default search with a more refined and efficient one.
If you want to learn about more WordPress search plugins, you could check out our list.
Which features does Ivory search add ?
Index any WordPress data type
The default WordPress search doesn’t offer configuration options, even choosing which data is searchable is not possible. This type of feature is important since, depending on your industry, you may want to prioritize certain content types or exclude irrelevant data from search results.
Ivory search let’s you pick and choose which type of data you would like to make searchable in it’s very comprehensive settings page.
From this page, you can simply check whichever post-type or taxonomy you want. They will then be indexed.
You can also make specific content searchable and exclude specific content.
But it is important to specify that indexing with Ivory search takes far longer than any other search plugin competitor that we have tested : to test Ivory search with 100k products, it took almost 10 hours to index the selected data.
Improved relevancy
Ivory search offers improved relevancy compared to the default WordPress search thanks to it’s more complex SQL queries and custom tables.
This means that the results that are returned after a search will be more aligned with the users intentions when they entered the keywords in the search bar. By enhancing the relevancy of search results, Ivory search ensures that users can quickly find the most relevant content that matches their query, leading to a more satisfying search experience and increased user engagement.
(Not) Faster search
Ivory search also offers two separate modes : standard index and inverted index. You could make use of an inverted index rather than a standard index to make the SQL search faster. If this interests you, the Ivory search speed test results can be found down below.
But while Ivory search advertises “an improved WordPress site search”, we have found that it is far slower than even the default WordPress search in basically any situation, even when throttled by limiting searches results to 500 per term (which is enabled by default by the way).
Ajax search
Ivory search comes with an Ajax search feature. This will display the results underneath the search bar as the user is typing.
As you can see in the screenshot above, Ivory search also offers Woocommerce integration. The Woocommerce produt’s information will be displayed to the user. You can select which ones will be displayed from the settings : price, sale price, SKU, stock status, etc…
Different searching algorithms
Ivory search provides multiple searching algorithms for you to choose from : “whole words matching” and “partial word matching”.
Whereas trying to match entire words would return extremely relevant results, it will greatly limit how many will be returned in total. That is why usually partial matching is used since even if you lose a small bit of accuracy, you return a great amount more results.
Search attachments (PDFs and other files)
Ivory search can also index attachements present in the pages. They can be PDFs, Word documents and many others. Just because your content isn’t HTML, doesn’t mean it can’t be searchable.
But this is not limited to attachements.
Which is the fastest ?
In this test, we measured the average time to load a search results page.
We tested three WordPress search solutions : default search, Ivory search plugin and WPSolr plugin.
WPSolr differentiates itself from Ivory search by ditching SQL-based search and instead makes use of an external search engine. It can integrate many different search engines. In this case, it connects the WordPress search to an Elasticsearch server. This Elasticsearch server was managed by Elastic with the following specifications :
3 different Woocommerce websites have been tested (200 products, 2000 products and 100000 products). They been tested with up to 100 concurrent users, all executing different search queries. The three WordPress websites and Elasticsearch are all hosted on the same server with the following specs :
- 8 cores
- 16 threads
- 16GB Memory
It is important to know that the results are an average of search page load time, not the time spent fetching the results. When having 100 concurrent users, the search may appear very slow but it could be because the setver spend most of it’s time generating the HTML, not executing the search.
For a 200 products website
This test has been done on a WordPress website with 200 products.
When a website contains this little data, the default search can be fast. It is even faster than all alternatives since it is the most simple form of search but that comes with a drawback : while the results are delivered faster to the user they will probably be inaccurate.
Search plugins | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
Page load time (in seconds) | 0,349 | 0,439 | 0,395 |
For a 2000 products website
This 2000 product test proves that when the amount of data increases so does the search times, especially for WordPress default search. Ivory search on the other hand still struggles. But as you can probably observe, WPSolr’s search time is unaffected by the data increase since it is powered by Elasticsearch, a powerful search engine.
Search plugins | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
Search page load time (in seconds) | 0,431 | 0,481 | 0,401 |
For a 100000 products website
Even with a single concurrent user, when a website has this many products, the default search struggles to keep up and Ivory search doesn’t do much better, in fact it has even worse performance. You should also remember that throttling is enabled for Ivory search, so only the first 500 found matches are returned, after that the search is interrupted. So you get a combination of worse performance and worse relevancy.
WPSolr showcases why having a search engine is necessary for large websites since the search time is virtually unnafected, even with 100k products.
Search plugins | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
Search page load time (in seconds) | 0,868 | 1,124 | 0,456 |
How many concurrent users can Ivory search handle ?
We could also test out the scalability of each search, and we did. You can see the results down below.
N° of concurrent users | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
1 | 0,549 | 0,681 | 0,417 |
10 | 0,729 | 0,881 | 0,556 |
100 | 6,457 | 6,873 | 4,733 |
Above, you can see a chart showing how scalable each WordPress search solution is in general (lower is better). For each amount of concurrent users tested (1, 10 and 100 users), we averaged the times to load a search page on websites with 200, 2000 and 100000 products. The more scalable solution is definitely WPSolr.
Down below you can see how more detail for each situation seperately : 1, 10 then 100 concurrent users.
With 1 concurrent user
Users send search queries one at a time. This showcases the same results as before. While the SQL-based solutions (default search and Ivory search) performance is drastically reduced as amount of data increases, WPSolr doesn’ suffer from this since it is powered by a search engine optimized for information retrieval tasks.
N° of products | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
200 | 0,349 | 0,439 | 0,395 |
2.000 | 0,431 | 0,481 | 0,401 |
100.000 | 0,868 | 1,124 | 0,456 |
With 10 concurrent users
When your website has 10 concurrent users, the performance can tank and in this case it did for default search and Ivory search that take up to 5 seconds to load the search page. Ivory search does a little better but cannot compete with WPSolr powered by Elasticsearch which doesn’t go above 2.5 seconds and could definitely do far better (way less than 1 second) if the WordPress server received an upgrade.
N° of products | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
200 | 0,466 | 0,578 | 0,530 |
2.000 | 0,556 | 0,603 | 0,534 |
100.000 | 1,165 | 1,463 | 0,604 |
With 100 concurrent users
When your website has 100 concurrent users, the WordPress server can greatly struggle if it is not sufficiently powerful. This is a great amount of traffic and using a search engine to power your search can have an added benefit in this case : it can alleviate the pressure on the WordPress server by taking care of search tasks in it’s stead.
WPSolr does far better than any other solution but you should know that while the search queries for WordPress default search and Ivory search is at approximately 5 seconds, WPSolr gets a response from Elasticsearch in 0.1 seconds. The rest of the time is mostlys spent loading the HTML.
N° of products | Wordpress default search | Ivory Search | WPSolr |
---|---|---|---|
200 | 4,426 | 4,598 | 4,478 |
2.000 | 4,660 | 4,581 | 4,450 |
100.000 | 10,286 | 11,439 | 5,270 |
Conclusion
Ivory search claims to offers a improved search compared to the default WordPress search but while it delivers additional features, it is very lacluster when it comes to performance and even relevancy for websites with great amounts of data.
If you truly want a faster and more relevant search you should make use of search engines. WPSolr, a complete search and recommendations plugin, can integrate many (Apache Solr, Elasticsearch, Opensearch, Weaviate, Algolia, Google Retail, Recombee, etc…) into your WordPress and Woocommerce website.