Support Home > Search > Jetpack Search: Frequently Asked Questions

Jetpack Search: Frequently Asked Questions

Jetpack Search is a powerful replacement for the search capability built into WordPress. For general features and FAQs, please see our information page. If you are looking for information about Jetpack Search plugin, check our support page.

General

What languages does the Jetpack Search plugin support?

We provide support for all languages and advanced language analysis for 38 languages (Arabic, Armenian, Basque, Bengali, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, and Ukrainian).

Does the Jetpack Search plugin support eCommerce stores and products?

Yes, eCommerce stores and products work seamlessly with the Jetpack Search plugin, and no additional configuration is generally required.

Is this plugin compatible with WooCommerce?

Yes, the Jetpack Search plugin works seamlessly with WooCommerce product search.

Does the Jetpack Search plugin work on mobile?

Yes, the Jetpack Search plugin is optimized for site visitors from mobile devices.

Will this plugin work with my theme?

Usually, Jetpack Search can automatically integrate with the default search included in your theme. If things aren’t working as expected, you can check out further information here.

Does the Jetpack Search plugin allow visitors to filter the search results?

Yes, visitors can filter search results by tags, categories, dates, custom taxonomies, and post types.

Billing

How can I reduce the number of records on my site?

If you have particular post types on your site that you never want to count as a Jetpack Search record and you don’t need other Jetpack features to work on that post type, then you can completely exclude it from being synced. This code can be added to a functionality plugin – more on how to do this here. Please make sure to replace XXXXX by your post type in the highlighted lines:

add_action( 'plugins_loaded', 'filter_disallowedlist_post_types' );
function filter_disallowedlist_post_types() {
	if ( class_exists( '\Automattic\Jetpack\Sync\Settings' ) ) {
		// Get current disallowedlist
		$disallowedlist = \Automattic\Jetpack\Sync\Settings::get_setting('post_types_disallowedlist');
		//Check if post type is in disallowedlist
		if ( ! in_array( 'XXXXX', $disallowedlist ) ) {
			// Append post_type to disallowedlist
			$disallowedlist[] = 'XXXXX';
			$settings = [
				'post_types_disallowedlist' => $disallowedlist
			];
			// Update settings
			\Automattic\Jetpack\Sync\Settings::update_settings( $settings );
		}
	}
}

Please be aware that code snippets are provided as a courtesy and our support team is unable to offer assistance customizing them further.

It is not possible to exclude individual content from being indexed by Jetpack Search other than making it publicly inaccessible.

If this doesn’t fit well with your current needs and instead you surpass your tier’s limits, either in the number of records or in monthly requests (whichever occurs first), you will need to upgrade to a higher-tier plan. Should this situation apply to you, please reach out to us directly to discuss further options.

Will Jetpack Search stop working if I exceed my maximum number of records?

If you exceed the maximum number of records for Jetpack Search a few weeks before your next billing cycle, you will get an email informing you that you are over your limit and telling you what you will be charged when you auto-renew. This gives you time to reduce the number of records or let auto-renewal occur.

  • If you are on an annual Jetpack Search plan, your price will increase at most once a year.
  • For monthly Jetpack Search plans, we will check your record count every month before your plan is renewed.

How are Jetpack Search plans different from the search on the Jetpack Professional Plan?

The main difference between the Jetpack Professional and the newer Jetpack Search plans is that you cannot access the Instant Jetpack Search overlay feature. However, the underlying improvements to speed and results relevance will be available to you. So you’ll get an improved search engine without the fancy new overlay interface.

If you are using Jetpack Search via the Jetpack Professional plan, we recommend the following:

  1. Enable Jetpack Search from within WP Admin. The setting is under Jetpack → Settings → Performance. You can also enable this from your WordPress.com Dashboard here.
  2. Replace the standard search widget with the Jetpack Search widget. This is optional, but without it, you will not have access to the additional sort options or filtering.
  3. If you don’t see any results on your site, the index may not be ready yet. You can force the index to update by manually synchronizing your site with WordPress.com, which can be done from here.

Important: The above guidance does not apply if your website is hosted on WordPress.com. For help with Jetpack Search on your WordPress.com hosting plan, please contact WordPress.com support directly at this link: https://wordpress.com/support.

There were two reasons why we changed our pricing model for Jetpack Search:

  1. Many folks were only looking for Jetpack Search and did not want to also be paying for features they didn’t need.
  2. Allowing an unlimited number of Jetpack Search records felt unfair because it prevented us from offering lower prices or making improvements. Our costs for a site with one million posts are 1,000 times as much as those for a site with one thousand posts, but both sites were paying the same amount.

The new pricing makes Jetpack Search more affordable for small sites and still costs big sites less than the competition. It’s also available as a single product, so there’s no need to pay for other features you may not need just to use Jetpack Search.


Some themes do not use the standard get_search_form() function to render their search box. First, verify that Jetpack Search is working correctly on your site by adding a search query to the end of your site URL. For instance, if your site is mysite.com, then navigate to mysite.com?s=searchterm.

If that works, then there are a few options:

How come some of my content is missing from search results?

When Jetpack is first connected, it can sometimes take hours or days to fully sync all data, depending on how many records you have. If the number of results when you have not done a search is still going up every few minutes, then it is likely that data is still being synchronized. When you first purchase Jetpack Search, we also need to build your search index, which can take a while, though it is much faster than doing a full sync. Jetpack Search limits the number of characters to 30,000 when indexing.

Important: We want to provide the best search experience for the majority of websites. That also means protecting our systems from being abused. For this reason, we impose the following limits for the search index (per post):

  • post_meta – 5,000 characters
  • post_title – 5,000 characters (about 1,000 English words)
  • post_content 30,000 characters
  • post_excerpt – 5,000 characters
  • Post comments – 5,000 characters
  • Tags – 10,000 characters
  • Categories – 10,000 characters
  • Post authors – 5,000 characters

This limitation is in place to help protect our Elasticsearch cluster from potential abuse or spam. If you find that important searchable content is being cut off, we recommend storing that data in the post_content field instead of relying on very large titles. If that isn’t suitable for your use case, Jetpack Search may not be the best fit.

There are some common problems that sites can have with Jetpack Search, though:

  • Custom post types can be publicly available but cannot be set to be searchable by Jetpack Search. This happens when exclude_from_search it is set to true when registering the post type.
  • Content is directly imported into the database. If you regularly import content or products and do not trigger the WordPress hooks, Jetpack will not synchronize the data for Jetpack Search. A good hook to use is publish_post.
  • Using post_status other than publish. We only index and search against posts that have the post_status of either publish or closed (for bbPress). Post with statuses other than publish or closed will not appear in Jetpack Search results.

If you change any of the above to improve your Jetpack Search results, you will need to fully sync your site. In this case, please contact our support team.

Jetpack also skips indexing the following post types by default, so these will not appear in Jetpack Search results:

  • revision
  • scheduled-action
  • nbcs_video_lookup
  • reply (as used by bbPress)
  • product_variation (as used by WooCommerce)
  • nav_menu_item (doesn’t make sense to index this)

Why is my custom taxonomy never being displayed?

If you have configured a custom taxonomy in your sidebar widget, but it is never being shown in Jetpack Search results, it is possible that your taxonomy is not yet supported. We have a fixed list of custom taxonomies that we index (a bit more than 1,000).

We can consider adding custom taxonomies to the list, but we prefer to do so only for generic words and names. If they are not in the list and you’d like to suggest a custom taxonomy, please open an issue on GitHub to request its addition.

To allow your custom taxonomies to be used as filters in the widget, you need to add this filter on the site (in addition to them being in the list):

add_filter(
    'jetpack_search_allowed_taxonomies_for_widget_filters',
    function( $taxonomies ) {
        $taxonomies[] = 'example-one';
        $taxonomies[] = 'example-two';
        return $taxonomies;
    }
);

Why are searches not matching against content in post meta?

We have a list of post meta keys (custom fields) that we match against for Jetpack Search. Adding meta to the allowlist doesn’t automatically include the data in the underlying search index. To ensure the performance and stability of our system, we limit the number of indexed custom fields. The currently allowed fields can be seen here.

We understand that this list may not cover all of your needs. If you want specific custom fields included in the Jetpack Search index, feel free to let us know. If they are generic and that other sites could also use, we can consider upgrading our systems to include the new meta keys. However, if they are unique, the currently available option is to map the custom field to one of the allowed meta keys.

Below is a code snippet that can be used to duplicate the custom meta field to a Jetpack Search allowed meta. It would also require resaving the meta for existing content to get it synced with our systems.

add_action('save_post', array( $this, 'update_custom_meta'), 50 );

function update_custom_meta( $post_id ) {
    // Simple Mapping
    if( $value = get_post_meta( $post_id, 'custom_field_to_be_indexed') ) {
        update_post_meta( $post_id, 'jetpack-search-meta2', $value );
    } else {
        delete_post_meta( $post_id, 'jetpack-search-meta2' );
    }
}

Why are search terms not showing up in the stats dashboard?

The Jetpack stats dashboard does not record the terms your readers use when using the Jetpack Search form on your site (or any other search forms on your site). They collect stats from search engines instead.

How do I search against multilingual content with the WPML or Polylang plugins?

Jetpack Search does not currently support multiple languages on the same site. We hope to add support soon, but in the meantime, you can check this status in this public-facing GitHub Issue.

How do I only show results from certain post types (e.g. products)?

This code filter will filter all Jetpack Search queries so that only results from products and pages are shown. This does not impact the number of indexed records (see below).

function jp_filter_query( $options ) {
	$options['adminQueryFilter'] = array(
		'bool' => array(
			'should' => array(
				array( 'term' => array( 'post_type' => product' ) ),
				array( 'term' => array( 'post_type' => page ) ),
			)
		)
	);
	return $options;
}
add_filter( 'jetpack_instant_search_options', 'jp_filter_query' );

How do I remove all posts/pages with a certain category?

This filter will remove all posts/pages with the “remove me” category from Jetpack Search results. For other available fields, see the developer documentation.

function jp_filter_query( $options ) {
	$options['adminQueryFilter'] = array(
		'bool' => array(
			'must_not' => array(
				array( 'term' => array( 'category.slug' => 'removeme' ) ),
			)
		)
	);
	return $options;
}
add_filter( 'jetpack_instant_search_options', 'jp_filter_query' );

This code filter will remove particular posts/pages from Jetpack Search results.

Replace 2266 and 1724 from your posts/pages ids.

add_filter( 'jetpack_instant_search_options', function($options) {
    $options['adminQueryFilter'] = array(
        'bool' => array(
            'must_not' => array(
                array( 'term' => array( 'post_id' => 2266) ),
                array( 'term' => array( 'post_id' => 1724) ),
            )
        )
    );
 
    return $options;
} );

Alternatively, you can also apply the code below to remove particular posts/pages from Jetpack Search results.:

add_filter( 'jetpack_instant_search_options', function($options) {
    $options['adminQueryFilter'] = array(
        'bool' => array(
	        'must_not' => array(
	            array( 'terms' => array( 'post_id' => [2266, 1724]) ),
	        )
	    )
    );

    return $options;
} );

Still need help?

Please contact support. We’re happy to advise.

  • Table Of Contents

  • Contact Us

    Need more help? Feel free to contact us.