Jetpack Inline Search allows you to add a Search system to your site that is more customizable than the default WordPress search functionality. The more enhanced Jetpack Instant Search and Jetpack Search plugin take this one step further by providing an instant search experience.
You can use this feature out of the box without worrying about configuration options, or you have the option to fine-tune the sorting and filtering settings for your site search.
Inline Search Features
There are a lot of features in Jetpack Inline Search that make a great search experience:
- Supports millions of queries across millions of documents.
- Real-time indexing of changes to your content.
- Filter searches by tags, categories, custom taxonomies, authors(WordPress.com connected users only), dates, and post types.
- Supports all languages with custom language analysis for 29 languages.
- Sort by relevance or date.
- Boosts recent content by default.
- Phrase search.
- Customizable search algorithm and an Elasticsearch Query API.
- Transparently intercepts searches via WP_Query, for “search” style queries that are also the “main” query.
Enabling Inline Search
Once you’ve connected your site, go to Settings → Performance in your WordPress dashboard, and enable Search. This allows Jetpack to override your site’s default WordPress search system with additional customizations and filtering while still using your chosen theme’s design template and colors.
If your Jetpack plan supports it, enabling instant search will introduce the new overlay experience.
You can also enable Inline Search from the Jetpack Search plugin:
Adding the Search Box and Editing Controls
After you have enabled Search, you can click Add Jetpack Search Widget to add Inline Search to your site using your theme’s customizer.
Inline Search works with WordPress’ own search widget, the search box in your theme (if there is one), and the Search (Jetpack) widget on older themes that don’t support full site editing. Full site editing (or “FSE”) is a collection of interrelated features that unlocks the ability to edit your entire site with blocks.
Examples of themes that rely on the Customizer rather than the Full Site Editor include but are not limited to StoreFront and Twenty Twenty-Sixteen to Twenty Twenty-One.
On the Customizer > Widgets > Widget Area, you can click the theme Search widget (if one exists) or the Search (Jetpack) widget (if you have added it) to edit the title of the widget as it shows up on your site in any of the widget areas like the sidebar.
From there, you can also choose whether to display the search box or not, and whether to show the sorting selection dropdown. You can customize what post types to search and the default sort order. Finally, you can add custom filters that let your site visitors select category, tag, post format, date, post type, and so on.
For advanced customizations with relevant code snippets, see how to customize Inline Search.
What is Elasticsearch?
Elasticsearch is an open-source project for building distributed, scalable search engines. We power many of our features using Elasticsearch instead of the MySQL database used for most of WordPress.
Elasticsearch is a trademark of Elasticsearch BV, registered in the U.S. and other countries.
When was instant search and filtering added to Jetpack?
The ability to handle instant sorting and filtering was added in Jetpack 7.9. Be sure to give that a try too!
How long will it take to index my content?
New and updated content is usually indexed within seconds. When you first install Jetpack, it may take a few minutes or hours before your content is fully indexed, but after that, the index is always up-to-date. If you are an existing Jetpack user, your content will be searchable as soon as you enable the feature.
What content is indexed?
We index all WordPress posts, pages, and custom post types as long as the post status is one of ‘publish’, ‘trash’, ‘pending’, ‘draft’, ‘future’, or ‘private’.
Does Inline Search have content limits or tiers?
No limits, no tiers, no hidden costs. All your content in real-time. For the new instant search experience, note that this is no longer the case. You can check out the current billing structure for Instant Search if you are interested.
How do I enable this in my theme?
See how to enable Inline Search above. As mentioned above, Inline Search works with WordPress’ own search widget, the search box in your theme (if there is one), or with the Jetpack Search widget, which can display a search box, sorting controls, and custom filters that let your site visitors select category, date, post type, and more. You need to install a theme that uses the customizer and not a full site editor. You can use the customizer to add search features to your theme, including powerful filtering.
Does Inline Search have any filter or action hooks?
Of course! You can find those on our developer page.
Can I use this for custom Elasticsearch queries?
Yes! You can send any valid Elasticsearch query (ES 2.4+) to
Jetpack_Search::instance()->search( $query ). Security restrictions apply. See the API developer docs for more information.
Can I search post meta and custom taxonomies?
Post meta is not included in the index. Custom taxonomies are currently in the index, but the indexing structure has changed, so we do not recommend them for custom queries. For better post meta and custom taxonomy support, consider using the new Instant Search on your site.
I added extra filters to the search widget, but they’re not showing on the page; how do I get them to appear?
Firstly, filters will only display in the widget on the search results page, after you perform a search.
Secondly, when you add an extra filter to the widget – for example, to refine a search by taxonomy – the links for taxonomy terms will only appear in the search widget if there is at least one taxonomy term for the given results. Results with zero matching taxonomy terms will not show the filter controls. This is to prevent user confusion by having redundant controls taking up space on the screen.
The search widget shown below is configured with Date, Post Type, and Tag fields, but only the Dates and Post types are showing because no tags matched the results.