Last year, we released our WordPress plugin, allowing WordPress users to super power their search bars with an instant-search autocomplete dropdown menu.
Our focus since the beginning has been to offer non-technical users an easy way to enhance the search experience for their end users. We also wanted to keep as much flexibility for WordPress developers to be able to hook into the plugin to customize the behavior.
What we’ve learned
We already knew that making a plugin simple to use is a real challenge. This is even truer when trying to interface with a search engine such as Algolia which in fine has a lot of tunable options.
To make it as easy to use as possible, we ship our integration with default settings for the different search indices, and handle the indexing and synchronizing of content for the users behind the scenes.
One thing we learned is that by addressing both developers (by making the plugin extensible) and non-technical users, is that:
- Technical users always want to go a step further than the API you expose
- Non-technical users always want the same than technical users but they want to be able to achieve it via a graphical user interface
Here is what we did to lower the barrier
To give more power to our users, we decided to put more focus on our plugin configuration interface.
In the latest release, ordering of post types can be done by drag & drop. Header labels can be overwritten using a search input without writing a single line of code and the Algolia powered by logo can also be disabled by ticking-off a checkbox.
A complete changelog or the latest changes can be found on the plugin’s repository.
Addressing the technical issues
By listening to our users, we realized that most of the reported technical issues were related to our “smart” way of queueing indexing tasks.
Indeed, until this week’s release, we were making an extensive usage of custom post types and using remote HTTP calls to process the queued indexing tasks.
This mechanism, even if in theory looked like to be an ideal solution, appeared to be the main bottleneck of our search plugin.
Thanks to the whole WordPress community, we managed to take out the complexity of the plugin and we now offer a way simpler, consistent and pragmatic solution to index content.
As a result, indexing is faster, more scalable and easier to debug and reason about.
Also, one big request we had, was to let users tune the relevancy directly from the Algolia dashboard. Until now, this was not recommended because on every new re-indexing process you would loose your settings and|or synonyms.
We took this release as an opportunity to meet users expectations, and ranking and synonyms can now be customized directly from the Algolia dashboard without fear of being lost again.
Upgrade to the latest version of the plugin
We refactored about 3k lines of code for the v2 release, yet we tried to keep as much backward compatibility as possible.
Given we simplified the way we split records and store them, you should re-index all indices once the plugin has been updated.
If you previously customized your frontend search templates, you might need to compare your implementation with the new ones to adapt them.
How to contribute
The community has played a major role in the evolution of the plugin, and we would like to say how grateful we are.
For anyone who would like to participate, we now have a community forum where you can share your project or website to give it some visibility.
For developers, pull requests are very welcome.
No matter if you are a WordPress user or a developer, all your feedback and contributions are highly appreciated.
You can check out the latest version of the Algolia plugin for WordPress on the official plugin directory.