Featured Plugin: Swiftype for search
Be relevant or become extinct.
That’s the mantra of our digital world. If you can’t stay relevant, you cease to exist. And what’s the gold standard of relevancy? Search results on Google. If you’re relevant, you will be found quickly on Google. If you’re not relevant, you’re not going to appear on Google search results. At least, not on the first page.
Google provides the most relevant results on the entire Internet for a given search. It’s taken Google years to develop and refine their search to its current level of precision. We often forget that search on other platforms may not be as refined.
For example, how relevant are the search results when someone searches on your WordPress blog? If you haven’t yet moved away from the default WordPress search, the results may not be what your users have come to expect. The default WordPress search orders things by chronology only, displaying the most recent results first. That means the most relevant results for your query will be buried underneath the most recent results. That’s bad UX, particularly for an enterprise deployment of WordPress. The more content you have on your site, the harder it becomes to provide great search results.
What’s more, WordPress search doesn’t search between all categories and tags, which makes it further inefficient.
There are a plethora of search plugins you can add to your WordPress site, including, yolink, Lift, and Google Custom Search. Each of these is a dramatic improvement on the typical search results.
There’s a new plugin, Swiftype, that has been blessed by VIP and is pushing their plugin out into the WordPress plugin market with the thesis that excellent search functionality must consist of the following features:
- Return the most relevant results to the user’s search query
- The website owner should see what their users are searching for via analytics
- Ability to manually override algorithmic decisions
- Provide modern features users expect are included (Things like autocomplete)
- Display relevant results as fast as technically possible.
Matt Riley, one of Swiftype’s founders, let me know that they built Swiftype because there wasn’t a search plugin that provided all this functionality, particularly to the non-technical folks who make up the majority of WordPress users.
“The wide-spread adoption of platforms like WordPress is evidence of the fact that it has become easier than ever for anyone to create a website online, and those users have come to expect full-featured controls for the websites they operate. As websites have become easier to control via Content Management Systems, the search functionality of those sites has been overlooked, and WordPress is no different.”
Swiftype offloads all the search operations from WordPress to Swiftype. All the search activity happens off-server, which has a few advantages. First, your server is never bogged down by search queries. Second, Swiftype doesn’t use MySQL for search, so they can run queries *much* faster.
The plugin works by first sending a copy of all your WordPress posts to Swiftype’s search servers, where they are indexed according to the rules Swiftype has created internally for their users. Once indexing is complete, any time a user searches on your site the Swiftype plugin relays the user’s query over to Swiftype’s search servers, the servers reply with relevant posts, and the posts are rendered for your user. During this process the Swiftype service collects analytics that are then stored for the website owner in their Swiftype dashboard.
Advantages of the Swiftype Process
Results are more relevant.
When a user’s query hits the Swiftype server they use their own relevance algorithms to determine which posts to relay back in the results. The default WordPress search query is a simple SQL “LIKE” query, which just performs a wildcard prefix match against the posts in your WordPress database, and returns them in order of publication date (newest first).
Modern relevance algorithms should take into account a number of items missing from this basic implementation — tokenization, tf-idf weighting, field-specific weights, post quality, and many query-specific signals that must be collected and refined over time.
“At Swiftype we’re always improving our relevance algorithms. Because we’re a search company first and foremost, those improvements are always a high priority for us. Best of all, any time we make an improvement to our internal algorithms, our users see better results immediately, without the need to update the plugin or change anything on their end.”
Results come back faster.
Because the search processing is offloaded to Swiftype’s servers, your WordPress host is no longer taxed with serving the “LIKE” queries that would be typically be required. “LIKE” queries are also very difficult to serve at scale — as you get more posts, not only do your searches get slower, but your entire website gets slower as queries take much longer to execute. This is difficult both for website owners and for their web hosts. Swiftype was built specifically to serve search queries at high scale. This is critical for large deployments of WordPress that we specialize in at WP Engine.
Website owners can learn about their users.
Because searches are relayed to the Swiftype servers, it’s easy for them to collect usage analytics for you to view in the Swiftype dashboard. By default Swiftype will tell you your most common searches and your most common search that don’t return any results. You can use these reports to tune your content and refine results.
Ability to customize their search experience.
Beyond improving the default search relevance algorithm, the Swiftype dashboard also allows website owners to manually curate result sets for any keywords they choose. Swiftype provides a drag-and-drop interface for curating result sets, and any changes you make in the Swiftype dashboard are immediately reflected in the results rendered on your website. It’s common for website owners to look through their analytics and customize the results for their most popular keywords, and then let the default relevance algorithm handle the rest.
Part of what makes Swiftype stand out above the rest is that it has an additional layer of software built on top of it that allows users to manipulate the search experience on their website entirely through their dashboard. No coding is required. In the end you get a search feature that is more useful, faster, and requires fewer server resources.
Swiftype is free and available in the Plugin Repository, and is already in use by large WordPress installs like Mixergy. Swiftype even has a Mobile SDK to make sure your mobile apps on iOS and Android have the same fast search that your desktop site has.
Check Swiftype out and let us know what you think.
Join the conversation.
There are 5 comments
Thanks for letting me know this plugin…
This plugin works great..
I’m also looking for this kind of search functionality than default WordPress search…
Looking for similar for an Archive page. My current plugin crushes the server/db as we’ve got thousands of posts over several years. There has to be a better way…
If you have a lot of content and you need good ways to search it, you might want to look for hosted search solutions. It seems like Swiftype is one of them, another is Google Custom Search, where you can make quite a few customisations. There are a couple of plugins for Google Custom Search in the plugin repository.
See: http://wordpress.org/extend/plugins/google-search-cse/ and http://wordpress.org/extend/plugins/google-custom-search/ for a couple of them.
Does anyone know if this can be configured to search across subdomain sites all within the same WordPress multisite network?
Hi, I’m an engineer at Swiftype.
Right now we don’t have native support for WordPress Multisite. You can use the plugin with Multisite, but each site in the network has to install the plugin and therefore they have separate engines.
Getting the plugin to support multisite is on our roadmap because so many large sites use it. As a work around, you can index any site with our web crawler. You’d just need to add all the subdomains to your search engine.