When it comes to search, WordPress isn’t always the best tool right out of the box. It’s a problem that the WordPress team is aware of, but a tough one to solve. By default, any pages featuring a searched keyword will be listed in results by date order, not by relevance. It can get the job done, but it’s far from the best solution.
I recently heard about the premium plugin SearchWP, which aims to improve this. It has a simple tagline:
The Best WordPress Search Plugin You Can Find
Bold, perhaps, but it has all the signs of a great plugin. A snazzy looking website, a helpful introduction video, great documentation and it was developed by Jonathan Christopher of Monday by Noon fame. I thought I might give SearchWP a test drive and see what it had to offer.
Simple, but Effective
As soon as you install SearchWP, it will begin to index your site. Time varies depending on the amount of content in your site, but once it is finished the plugin just starts working. All of the search forms throughout your site will now display relevance-based, weighted search results. And you did absolutely nothing. Feel free to bill clients accordingly.
Truth be told, I’m only half kidding. Your search will get a ten-fold improvement without you doing a single thing. But hey, its features are also customizable. The SearchWP settings tab has everything you need.
I really like the SearchWP admin. It doesn’t try to overload you with hundreds of options and checkboxes. It gives you what you need, when you need it.
The plugin determines search results by giving different weight to content types, like Title, Tags and the Content itself. You’ll see these content types listed out one by one, with a number attached to it. The higher the number, the more weight it is given. Leave them at your default, or change them to whatever you want. On the left side you’ll see a list of your post types, including custom post types, so you can change content type weight from one post type to the next by switching between them.
One of the more useful functions of the plugin is the ability to add a weight to any custom fields. I don’t know about you, but I find myself using custom fields for important text, such as page descriptions or auxiliary content. Content that might otherwise be omitted completely from search, but can be given a weight of its own with SearchWP.
Out of the Box and Ready
There are a few features out of the box that really give SearchWP an edge. The first is keyword stemming. If you enable this feature, then your search results will expand to include the stems of searched words. So let’s say you search for the word “play,” the words “playing,” “played,” and “player” will also be included in your results. Really handy stuff.
SearchWP also supports PDF Indexing. If you decide to include the Media post type, you will see an option to weight PDF content. If you upload a PDF with readable text, SearchWP will parse this document’s content and output that in search results. I repeat. PDF content will be included in search results. This isn’t just handy, it’s something I’ve never seen before.
Extendability
In your settings panel, you will see a section for Supplemental Search Engines. If you want to include a special search engine in a custom post type or certain category, for instance, you just need to slip in a little PHP to include a search engine that has it’s own custom settings, with different weights and exclusions.
There’s also a few extensions, included with the purchase of a license, that build out the functionality of SearchWP even further. Integrate fully with bbPress, prioritize specific terms or include support for fuzzy search results. Keeping the logic of the extensions out of the main plugin affords SearchWP the ability to stay lean, while still being open to richer functionality. It’s really one of the more clever moves of the plugin, and a model I think definitely works.
And then of course there’s the full Developer API, with enough hooks to control any aspect of the plugin anywhere in your theme files.
SearchWP is avaliable for purchase, starting at $24.99 for a single site license, $99 for up to 5 sites and $250 for up to 20 sites. Included with the purchase of a license is support and updates for a year and all current extensions.
I caught up briefly with Jonathan Christopher, developer of SearchWP, to find out a little more about SearchWP, and what’s in store for the future. Here’s what he had to say:
(Me:) SearchWP can do everything from control admin search, to create several sets of customizable, one-off search engines. What’s one feature of SearchWP people may not know about?
(Jonathan:) One of the more obscure (but in my opinion awesome) features of SearchWP that might be overlooked at first is what I’ve come to call attributed results. A pain point I had when building sites over the past few years was the idea of taking Custom Post Types into consideration when it came to search results. I use Custom Post Types a lot, but they don’t always need their own single-cpt.php. With that, if you were to visit the permalink it wouldn’t be the most ideal viewing experience because it would bubble up to the next applicable template file and display the content.
As a very high level example, think of an FAQ page that pulls in content from an FAQ CPT. Normally (depending on how you’ve registered your CPT) you could potentially get a search result that linked to an FAQ CPT entry. Clicking that results link would take you to the single FAQ, but you’d prefer direction to the FAQ Page in case the visitor had another frequently asked question. SearchWP allows you to attribute FAQ CPT search results to your FAQ Page, so searching for terms within FAQ CPT content will in fact count weight towards the FAQ Page instead, allowing for a better visitor experience.
It takes a bit to explain, but result attribution is something I really like and find myself using all the time!
What’s next for SearchWP?
I’m really excited about what I’m working on now which primarily focuses on improving both the indexer and the search algorithm. The plugin is pretty new so it’s being exposed to a lot of content really fast which is awesome in outlying some edge cases that the indexer got hung up on at first, so iterating that process and making sure the indexing process goes as smoothly as possible is a high priority. I’m also working on the search algorithm itself. I’ve been talking to a number of people who are a lot smarter than me when it comes to search and they’ve given me some great ideas to try that would boost result relevancy even more than it is today.
Beyond that, I’ve got a long list of Extensions I’m working on. A few of which include support for some of the more popular multilingual plugins, an extension that allows you to manually define term synonyms, and even an extension that will let you replace your ‘related posts’ plugin. There are many more Extensions waiting to be built, and customers are providing some fantastic suggestions in that area.
So there you have it. If you’re looking for better WordPress search, SearchWP is a great way to go.
Jay Hoffmann is a WordPress developer hailing from NYC. In the strictest sense of the word, he is a WordPress enthusiast with an eye for front-end development and design. He has been working with WordPress since 2006 and currently works for a popular children’s media company. This year, Jay started Tidy Repo, a curated list of the best and most reliable plugins from around the web.
3 Comments