WP Engine Smart Search

WP Engine Smart Search is a Product Extension for WP Engine customers that improves website searches for traditional and WP Engine Headless Platform applications. 

With WP Engine Smart Search, guide website visitors to the most important content with an intuitive, typo-tolerant search function that surfaces more relevant results — even custom post types. No coding necessary.

Smart Search licenses are currently available for purchase on Premium and WP Engine Headless Platform plans. To purchase a license for a Premium plan, contact our Sales team or the Account Manager. For WP Engine Headless Platform plans, Smart Search can be purchased from the Modify Plan page.


About

WP Engine Smart Search is an advanced search solution that’s designed to: 

  • Increase search result relevancy through content prioritizing and weighting
  • Support advanced search query operators
  • Add support for advanced WordPress data types

After purchasing and enabling on the environment of choice via the User Portal, the WP Engine Smart Search WordPress plugin will be installed automatically.


Licensing

Licenses are currently available for Premium and WP Engine Headless Platform plans. 

To purchase a license for a Premium plan, contact our Sales team or the Account Manager for assistance. 

To purchase a license for the WP Engine Headless Platform plan, either select WP Engine Smart Search as a Product Extension when signing up for a plan, or purchase it through the Products page of the existing plan.

After purchase, install WP Engine Smart Search on as many sites as the plan allows.


Enable

To enable WP Engine Smart Search on an environment: 

  1. Open the Products page in the main sidebar in the User Portal
  2. Click Smart Search under Your products
Screenshot of the Products page in the WP Engine User Portal showing the button to manage Smart Search
  1. Click Select environments
Select environments button
  1. Check the box(es) of the environment(s) and click Add environment
Add Environment checkbox and button
  1. Click Confirm to complete the licensing process
WP Engine Smart Search enablement confirmation popup

The plugin will be automatically installed on the selected environment(s). 

NOTE

It may take a few minutes for the plugin to install on the site. Wait for the Status icon to change from Pending to Ready to Use (indicated by a green check mark) before logging into the WP Admin. (This page will update automatically when the installation is complete.)

List of environments licensed for WP Engine Smart Search and their status

Remove a License

To remove a license from an environment:

  1. Open the Products page in the main sidebar of the User Portal
  2. Click Smart Search under Your products
  3. Click the 3-dot Actions icon to reveal more options
  4. Click Release License
Release License button

Content Sync

NOTE

WP Engine Smart Search requires a one-time content sync before adjusting any other plugin settings. Otherwise, errors may occur in future syncs.

A content (or data) sync sends all pre-existing content on the WordPress site to WP Engine Smart Search for indexing. This ensures the plugin knows exactly what content exists so it can serve the best results to site users.

To run the content sync:

  1. Log in to the WP Admin dashboard 
  2. Go to WP Engine Smart Search > Index Data
  3. Click Index Now
Screenshot of the WP Engine User Portal showing where to Index Data in the WP Engine Smart Search plugin.

This sync can take some time to complete, especially on websites with large amounts of data (up to and beyond 30 minutes for the largest websites so please be patient. After the first sync, the content will stay up-to-date in the index automatically). 

After the sync is complete:

  • All searches on the WordPress site will be served by WP Engine Smart Search without any additional configuration
  • WP Engine Smart Search will continue to sync data in real-time any time new content is added or existing content is edited

NOTE

If the WP Engine Search plugin is deactivated or uninstalled, real-time syncing won’t occur.

Delete Sync Data

If there are any issues with the content sync, delete the current search data and then sync again. 

To delete sync data:

  1. Log in to the WP Admin dashboard 
  2. Go to WP Engine Smart Search > Index Data
  3. Click Delete search data
  4. When the deletion is complete, click Index Now to run the sync again
Screenshot of the WP Engine User Portal showing where to Delete Search Data in the WP Engine Smart Search plugin.

If deleting the sync data doesn’t resolve the issue, you can remove the WP Engine Smart Search license from the environment and then enable it again.

NOTE

Removing the license from the environment and enabling it again should be a last resort fix. Please first delete all search data using the Delete Sync Data option, or using the public API, and then sync again.


Configure WP Engine Smart Search

After performing the first content sync, configure the WP Engine Smart Search settings. These settings give more control over the search data. 

To start configuring your settings:

  • Open the wp-admin dashboard
  • Expand the WP Engine Smart Search menu
  • Click Configuration
  • After adjusting the settings, be sure to click the Save Configuration button at the top of the page.
Screenshot of the WP Engine User Portal showing where to change Configuration Settings in the WP Engine Smart Search plugin.

Search configuration

There are 3 types of search configurations you can choose from, Full Text, Semantic, and Hybrid. Below we’ll explain the 3 types and how to adjust the settings for each.

Full Text Search

Full Text Search can handle misspellings and simplify words to their base forms like including “run” when “searching “running”. This returns more results than the default “exact-match” WordPress search, though it might include some unrelated matches.

Full Text Search lets you choose between Stemming and Fuzzy search methods.

Screenshot of the WP Engine User Portal showing where to select Stemming or Fuzzy search options in the WP Engine Smart Search plugin.
  • Stemming is the process of reducing a word to its root form or base word. This is the default search method of WP Engine Smart Search.
  • Fuzziness uses a letter-per-word tolerance (or “distance”) in the search terms to handle typos. Choose 1 or 2 for the distance, which determines how many letters can be wrong in each word that users type into the search form.
    • For example, if the Fuzzy distance is 1, a search for “Hallo Warld” would return results for both “Hello” and “World.” (Each misspelled word in this example contains only one wrong letter.)
    • If the Fuzzy distance is set to the maximum distance of 2, a search for “Haalo Waald” would return results for both “Hello” and “World.”

Semantic Search

Semantic Search enhances search by focusing on the meaning of words or phrases, not just their spelling. It finds more relevant results by analyzing words used in similar contexts, and inferring user intent. This is also called “Natural Language” search, and is accomplished by using recent advances in Machine Learning technology.

Fields

AI-Powered Search can be resource prohibitive. Therefore, Semantic Search lets you choose a Field from the database that will help define where more relevant context can be found when using Semantic Search functionality without overusing resources.

Screenshot of the WP Engine User Portal showing where to change Semantic Fields Settings in the WP Engine Smart Search plugin.
  • For example, if the field post_content contains a store’s product descriptions, this field could be a good choice to provide more contextual information about the product for Semantic and Hybrid searches.
  • Bear in mind that only the first ~500 words of the selected field will be referenced for each instance. If a store regularly has 2000+ words in the post_content field, another field may be preferable.

Hybrid Search (AI Powered)

AI-Powered Hybrid Search combines Full Text and Semantic Search. It’s a new search feature that unlocks a GPT-like search experience for users. This approach uses Machine Learning to produce more relevant search results.

Hybrid Search lets you select the same Stemming or Fuzzy settings as Full Text Search, and also lets you choose the same Fields as Semantic Search.

Hybrid search weighting

Hybrid Search also lets you choose a balance between Full Text and Semantic Search with a slider. Adjusting the search bias impacts the order that relevant results are returned.

Screenshot of the WP Engine User Portal showing where to change Hybrid Search Weighting Settings in the WP Engine Smart Search plugin.

Models

All 3 types of search configurations, Full, Semantic, and Hybrid, let you choose settings for Models to limit what data can be searched or to give more importance to certain fields to ensure highly relevant results.

By default, WP Engine Smart Search searches all supported WordPress data type objects such as Posts, Pages, and Custom Post Types, and all of their supported fields.

To choose what post types and related fields can be searched, and to give more importance to certain fields, use the toggle buttons and the weight sliders.

  • A field with a higher weight will be given a higher priority in the search results.
Screenshot of the WP Engine User Portal showing where to change settings for Post Type Models in the WP Engine Smart Search plugin.

Note

Smart Search data must be synced after any configuration changes are made. Learn how to sync search data in Smart Search here.


Smart Search for eCommerce Products

WooCommerce product details can now be indexed by WP Engine Smart Search. All new eCommerce plans will come with Smart Search and be able to access the new features for advanced product search.

Note

If you are already on an eCommerce plan and have Instant Store Search instead of Smart Search, you can reach out to your account manager about making the switch to Smart Search.

Why Smart Search Matters for Products

With product support for Smart Search you get all of the amazing Smart Search features like Full Text search, Semantic search, Hybrid AI search, and Weighting for Models, and product specific data like pricing and attributes will also be indexed which will work with default WooCommerce blocks.

Examples of Smart Search in product searches:

Stemming
With Stemming on, results will return for a word and its root forms. For example: “walking” will return results for “walk,” and “walked.“

For example, if a product name has the word “dining” in it, a non Smart Search query would return 0 results if someone searches the word “dine”. With Stemming enabled for Smart Search it will return the expected product with the related root word in the name.

Screenshot of eCommerce product search results for WP Engine Smart Search.

Fuzziness
With the Fuzziness option selected results will be returned for misspelled words. Fuzzy distance defines the amount of letters that can be misspelled, and still return results.

For example, if a word like “table” is misspelled, a default search would return 0 results for an incorrect spelling like “tible”. The same search with Smart Search Fuzziness enabled, would return 2 results in our example, where 1 has “table” in the name and the other has “table” in the product description.

Screenshot of eCommerce product search results for WP Engine Smart Search.

Semantic and Hybrid (AI Powered Search)
Hybrid search combines Full Text and AI powered Semantic search, and lets you choose the weighting for which of the 2 options it should favor more.

An example of the benefits of Semantic search would be a search for the word “kitchen” when you have 3 kitchen related products. In this example only 1 of the 3 has the word “kitchen” in its product details, under the short description. A regular search would only return 1 result. A Semantic Smart Search would use AI to recognize that the other 2 products are kitchen related items even though they don’t use the word kitchen anywhere in their product details.

Screenshot of eCommerce product search results for WP Engine Smart Search.

New Gutenberg Blocks for Smart Search

We’ve added some initial Gutenberg blocks to start the journey of adding extra value for customers, and we’ll continue to work on ways that we can add more blocks to improve customer experience.

The initial blocks are currently named Search Facet and Dropdown Facet. This name could change in future iterations. You can also search for them by typing WP Engine to pull up both blocks.

The Search Facet currently works the same as the default WordPress search. The Dropdown Facet block allows you to select a post category that will be used to further filter the search results after typing in a search phrase.

One useful way to use them is to create a Pattern containing both blocks that you can re-use on multiple pages and always edit from one place in the Pattern library. You can also add them inside a Columns block if you want them side-by-side.

To use this example and add them together as a Pattern:

  1. Choose a Columns block when editing a page and choose a 2 column option like a 50/50 or a 33/66 layout.
    Screenshot of selecting a Columns Gutenberg block while editing a page in the WordPress admin dashboard.
  2. Click the + sign to add a block in each column.
  3. Search for the Search Facet and Dropdown Facet blocks and add one in each column.
  4. Click the 3 horizontal line button in the top left of the page to expand the block layout view.
  5. Click the 3 dot button to the right of the Columns block that wraps the 2 Search blocks, and choose Create pattern.
    Screenshot of selecting the option to create a Pattern of Gutenberg blocks while editing a page in the WordPress admin dashboard.
  6. Give the Pattern a name that you’ll remember like “Smart Search”.
  7. After that you’ll see your new Pattern name come up in the Patterns section when searching for Gutenberg blocks.
    Screenshot of selecting a Pattern of Gutenberg blocks while editing a page in the WordPress admin dashboard.

Multisite Support

WP Engine Smart Search supports Multisite for WordPress. This allows your website visitors to perform searches on individual sites within the multisite network, and only see results for the site they are currently searching on.

Please note that after the plugin is network activated:

  • The Sync and Settings pages are only available on the Network Admin screen.
  • The Search Config must be configured for each individual site in the network.

Follow these steps to use WP Engine Smart Search on your multisite network:

  1. Enable WP Engine Smart Search on the environment that contains the multisite network.
  2. Log in to your WordPress admin and go to My Sites > Network Admin > Dashboard.
WordPress multisite network admin dashboard link
  1. Go to Plugins > Installed Plugins and click Network Activate for WP Engine Smart Search.
Network Activate link for WP Engine Smart Search
  1. Go to WP Engine Smart Search > Index Data to sync the data for all sites currently in the multisite network.
Screenshot of the WP Engine User Portal showing where to Index Data for Multisite in the WP Engine Smart Search plugin.
  1. Click the Index Now button to begin the process.

    While data syncing is in progress, you will notice that it shows which site’s data is currently being indexed.
Screenshot of the WP Engine User Portal showing the Index Data progress bar popup for Multisite in the WP Engine Smart Search plugin.

Once the sync process is complete, visitors can perform a search on each site in the multisite network individually. When they do, they will only see results for the site they are currently searching on.

For example, the image below shows that a search for “site” was performed on Site 1, and the results shown are only from Site 1.

Example of a search on an individual site in a multisite network

WP Engine Smart Search Insights

Once you’ve installed and configured WP Engine Smart Search, you can see what your site visitors are searching for on your website.

To view these insights:

  1. Log into the User Portal and open the environment where you’ve installed WP Engine Smart Search.
  2. Click WPE Smart Search in the secondary lefthand menu. (You may have to expand the Insights dropdown section)
Screenshot of the Smart Search Insights page in the WP Engine User Portal showing Top Searches tab

This is where you’ll find the top searches that were served from WP Engine Smart over the last seven days.

NOTE

If you haven’t enabled and synced WP Engine Smart Search on your environment yet, you won’t be able to access this Smart Search Insights page.

When site visitors enter search terms on your site, they are immediately recorded here on the Smart Search Insights page.

You can toggle between the Top Searches and the top No-result Searches to discover what users are looking for on your site.

  1. Rank: The order in which a term ranks on your site (from most to least searched).
  2. Search term: The terms visitors typed into the search box.
  3. Total Searches: How many total searches there were for the terms in the last seven days.

WP Engine Headless Platform Users

WP Engine Smart Search is headless-ready – without 3rd party vendors or complex integrations.

Setup on WP Engine Headless Platform is just as easy as on a traditional WordPress site, and it comes with built-in headless search support, including WP GraphQL and ACF.

Installation for WP Engine Headless Platform

As mentioned previously, WP Engine Smart Search can be installed automatically when applying a license to an environment (See Enable above).

To install the plugin through WP Engine Headless Platform Blueprints.

The WP Engine Headless Platform Blueprints pipeline will have:

NOTE

When using the WP Engine Headless Platform Blueprint method to install WP Engine Smart Search, apply a license to the environment where it’s installed to receive valid settings and to use the plugin.

Prerequisites for WP Engine Headless Platform

The WPGraphQL plugin is required when using WP Engine Smart Search on the WP Engine Headless Platform.

  • Debug Information
    WP Engine Smart Search adds debug information to WPGraphQL queries. To enable this, go to the WPGraphQL settings page and check the Enable GraphQL Debug Mode setting.
Checkbox to enable GraphQL Debug Mode
  • Query Monitoring for non-WPGraphQL users
    WP Engine Smart Search works seamlessly with the Query Monitor plugin for non-WPGraphQL users (see Debug Information above for how to access logs when using WPGraphQL).

    The query monitoring plugin will allow users to view detailed information about the WP Engine Smart Search queries being made on their site, including the query string, the time it took to execute the query, and more. This information can be used to optimize search performance and ensure that searches are working as expected.

    To use Query Monitor with WP Engine Smart Search, follow these steps:
    • Install the Query Monitor plugin on the WordPress site.
    • Activate the plugin.
    • Click the Query Monitor that has appeared in the WordPress Admin top menu.
    • In the dashboard that appears, click on Logs.
    • Run WP Engine Smart Search and see the data appear.

Querying with WP Engine Smart Search

After applying a license to a site and running the initial content sync, WP Engine Smart Search takes over the default WordPress search functionality and serves all the site’s search content.

The WPGraphQL plugin is a good place to test search queries. WPGraphQL provides a ‘GraphiQL IDE’ in the WordPress dashboard to interact with the WPGraphQL Schema in the browser. WP Engine Smart Search overrides the default search functionality for WPGraphQL queries on all WP Engine Smart Search supported WordPress data types.

Below is a screenshot of the WPGraphQL plugin & GraphiQL IDE view, where WP Engine Smart Search has overridden the default WP search behavior, followed by some sample queries:

GraphiQL IDE view of WPGraphQL plugin

Querying Standard WordPress Data Types

Here are examples of querying standard WordPress data types (Posts, Pages, and Custom Post Types (CPT)):

  • Querying Posts/Pages:
{
  {either "posts" or "pages"}(where: {search: "CSS"}) {
    nodes {
      id
      status
      title
    }
  }
}
  • Querying Custom Post Types:
{
  branches(where: { search: "Austin" }) {
    nodes {
      address
    }
  }
}

Querying for various post types and ACF fields

NOTE

WP Engine Smart Search has stopped support for ACM since version v.0.2.14.

WP Engine Smart Search also integrates with the Advanced Custom Fields (ACF) plugin.

Here is an example of querying for a custom data type:

  • Querying ACF type of project, with fields of streetAddress, contactName & workOrderNumber:
{
  projects(where: { search: "Austin" }) {
    nodes {
      streetAddress
      contactName
      workOrderNumber
    }
  }
}

Advanced Query Example

Fields can be queried that appear on the plugin’s Search Config page, including ACF fields, tags and categories, etc. Consider the following query:

seats.count:>4 tags.name:Cars hello AND world OR 123 4.56

This search string uses a combination of search terms and filters.

It searches for records that match the following criteria:

  • The seats.count field has a value greater than 4.
  • The tags.name field contains the value Cars.
  • The text “hello” appears in the record.
  • The text “world” appears in the record.
  • The record contains either the number 123 or the number 4.56.

The search string uses the following syntax:

  • Search terms: Any word that does not contain a special character is considered a search term. In this example, “hello” and “world” are search terms.
  • Filters: A filter is used to search for records that meet specific criteria. Filters are specified using the format <field name>: <value>. In this example, seats.count:>4 and tags.name: Cars are filters. The seats.count filter searches for records where the value of the seats.count field is greater than 4, while the tags.name filter searches for records where the tags.name field contains the value Cars.
  • Logical operators: The search string uses the logical operators AND and OR to combine search terms and filters. The AND operator is used to require that both search terms or filters appear in a record, while the OR operator is used to search for records that contain either one or the other.

Order By

Currently, we support ordering by the following fields: DATE, MODIFIED. Also, these should be provided in the order direction: ASC, DESC. If orderby is not provided, the default weighting policy is applied – which is shaped by Search Config weights.

  • Querying posts, order by DATE DESC :
graphql
{
  posts(where: {search: "CSS", orderby: [ { field: DATE, order: DESC} ] }) {
    nodes {
      id
      status
      title
    }
  }
}
  • Querying ACF type of project, with fields of streetAddress, contactName & workOrderNumber, ordered by MODIFIED ASC. In the event of the same modified date, further sort them in descending order of DATE :
graphql
{
    projects(where: { search: "Austin" , orderby: [ { field: MODIFIED, order: ASC}, { field: DATE, order: DESC}] }) {
        nodes {
            streetAddress
            contactName
            workOrderNumber
        }
    }
}

Query Operators

WP Engine Smart Search treats spaces as an OR operator by default, whereas the default WordPress search treats spaces as an AND operator. With WP Engine Smart Search, explicitly specify the AND, OR and NOT keywords within the search query (these can combined too). This provides enhanced specificity for querying needs.

Here is an example of querying using different search operators:

  • Using NOT search operator:
{
  projects(where: { search: "Austin NOT Minnesota" }) {
    nodes {
      streetAddress
      contactName
      workOrderNumber
    }
  }
}
  • Using AND search operator:
{
  projects(where: { search: "New York AND Texas" }) {
    nodes {
      streetAddress
      contactName
      workOrderNumber
    }
  }
}
  • Using OR search operator:
{
  projects(where: { search: "New York OR Texas" }) {
    nodes {
      streetAddress
      contactName
      workOrderNumber
    }
  }
}

WP Meta Query Support

WPE Smart Search also supports custom fields registered using WP_Meta_Query. The WP_Meta_Query structure is now respected when a search is made. Compare Operators currectly supported are '=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'EXISTS' (only in WP >= 3.5), and 'NOT EXISTS' (also only in WP >= 3.5). Custom field types currently supported are 'NUMERIC', 'CHAR', 'DATE' and 'DATETIME'.

You can read more about WP_Meta_Query here.

This an example of how to register a meta query custom field, using the pre_get_posts action.

add_action( 'pre_get_posts', function( $query ) {
    //check if this is the correct context to add meta queries
    if (  $query->is_search() ) {
        // Set up your meta query arguments
        $meta_query_args = array(
            'relation' => 'OR',
            array(
                'key'     => '_my_custom_key',
                'value'   => array( 4, 20 ),
                'type'    => 'NUMERIC',
                'compare' => 'BETWEEN',
            ),
            array(
                'relation' => 'AND',
                array(
                    'key'     => '_my_custom_key_2',
                    'value'   => 'Value I am looking for 2',
                    'compare' => '=',
                ),
                array(
                    'key'     => '_my_custom_key_3',
                    'value'   => 'Value I am looking for 3',
                    'compare' => '=',
                ),
            ),
        );
        // Add the meta query to the existing query
        $query->set( 'meta_query', $meta_query_args );
    }
});

Public APIs

The Public APIs grant the ability to interact with WP Engine Smart Search programmatically.

  • The GraphQL Search API (also known as Find API) allows searching for documents in an index based on specific parameters.
  • The GraphQL Index and Delete API includes mutations for creating, updating, or deleting documents.

Access the API documentation here: 

NOTE

These APIs and their endpoints are in BETA. Beta Services are described in Section 2.e. of our terms of service.

Still need help? Contact support.

We offer support 24 hours a day, 7 days a week, 365 days a year. Log in to your account to get expert one-on-one help.

The best hosting for WordPress

See why more customers prefer WP Engine over the competition.