WP Engine Smart Search

WP Engine Smart Search is an Add-on for WP Engine customers that improves website searches for traditional and headless WordPress 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 Atlas plans. To purchase a license for a Premium plan, contact our Sales team or the Account Manager. For Atlas 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 Atlas plans. 

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

To purchase a license for an Atlas plan, either select WP Engine Smart Search as an Add-on when signing up for a plan, or purchase it through the Add-ons 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 Add-ons page in the User Portal
  2. Click Manage under WP Engine Smart Search
Image of enabled Add-Ons in WP Engine portal
  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 Add-ons page in the User Portal
  2. Click Manage next to WP Engine Smart Search
  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.


Multisite Support

WP Engine Smart Search supports WordPress multisite. 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.
WP Engine Smart Search tab in the User Portal

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.

WP Engine Smart Search rankings

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.

Atlas Platform Users

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

Setup on Atlas 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 Atlas

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 Atlas Blueprints.

The Atlas Blueprints pipeline will have:

NOTE

When using the Atlas 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 Atlas

The WPGraphQL plugin is required when using WP Engine Smart Search on the Atlas 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
    }
  }
}

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 in WordPress hosting.

See why more customers prefer WP Engine over the competition.