Last couple of days I’ve been reviewing the gSearch Plus WordPress plugin code based on some support issues raised by the community and I thought it would be interesting to write a post about this plugin.
Last year, when trying to find a suitable search plugin to a client’s website I struggled a lot. Again as in other related quests, like multi-language solutions, I tried several well known plugins to improve WordPress search functionality, but after some testing I felt a bit disappointed mainly because of their footprint (extra DB tables, pre-index mechanisms), complexity (lots of configuration options, difficult to understand), and/or errors generated. I also noted some lack of features that I had already promised to the client.
The starting point
One of the core features of any regular website is the search form. It would be interesting to discuss its importance on the overall navigation experience on a website but I’ll leave that for a future post.
Case in point, WordPress’ native search function doesn’t return the best results in most cases. By default, WordPress searches all terms through all the posts’ titles & contents and orders the results by date. But…
- What about the taxonomies, custom fields or media metadata?
- Are the recent posts more relevant when ordering the search results?
- What happens if you want to search on a multi-language website?
The plugin’s motto
Before starting to develop the plugin it was clear to me that gSearch Plus would need to be:
- Easy to use, few & straight forward options
- As less intrusive as possible to WordPress setup with minimum footprint (no extra tables, no direct SQL queries, no changes in search.php template)
- Full respect of WordPress APIs and standard installation
Apart from the regular search features, the gSearch Plus plugin would also need to include:
- a stopwords logic compatible with a multi-language installation
- an highlight searched terms mechanism
- search on media metadata (to be released soon)
- search box suggestions and auto-complete (on roadmap)
Some of these are already requests from the community (many thanks!). I’m completely open to other features’ suggestions or code changes as long as it fits on the plugins philosophy. For that, I’ve released the source code on GitHub, so feel free to participate.
The quick wins
This plugin is less than 1 year old and it has been a real interesting ride to maintain the code and give back a little bit of my time and effort to the WordPress community. Although I still didn’t have time to complete the full features roadmap, I’ve been receiving some feedback which is awesome (even when it’s negative): some very good improvement suggestions, and very nice compliments about the plugin speed (less queries, better page loading time).
As always, it’s all about the journey…