Search behavior in your online store
You can help customers find products, pages, and blog posts on your online store through search. Online store search has several built-in behaviors for handling search terms, such as typo tolerance and support for search syntax.
On this page
Considerations for online store search
Review the following considerations and requirements for search behavior on your online store.
Setup and configuration
Review what you can and can't configure in online store search:
- Setup: No setup is required. Online store search works without configuration, and there's no theme change to make.
- Matching: There's no setting that controls how broadly search matches.
- Ranking: You can influence results through your product data and the Shopify Search & Discovery app, but you can't change how results are ordered.
Apps and custom search experiences
Apps that modify your theme, apps that have search capabilities, and custom search experiences might impact the built-in online store search:
- If your store uses a third-party search app, then that app powers your online store search, and the search behaviors on this page don't describe the results your customers get. Product visibility settings might not apply either. An app that isn't integrated with Unlisted product status can still return unlisted products in its results. To learn more about how your third-party search app works, contact the app's developer.
- Third-party apps that modify your theme's search template might impact search results on your online store.
- The Storefront API search query is independent of the default results page. If you or your developer built a custom search experience on it, then that experience runs on your own code.
- You can manage and improve your search results by managing the visibility of products, pages and blog posts, and by customizing your online store search results with the Shopify Search & Discovery app. Learn more about managing searchability and using the Search & Discovery app.
Unlisted product status
You can prevent products from being found in your online store search by using Unlisted product status.
Behaviors that search syntax turns off
The following search behaviors don't apply to searches that use search syntax:
- Typo tolerance
- Predictive search
- Semantic understanding
Supported languages
Your store's primary locale affects which search behaviors you get.
| Language | Typo tolerance | Search stemming | Trigram |
|---|---|---|---|
| English | ✔ | ✔ | |
| French | ✔ | ||
| Spanish | ✔ | ||
| Portuguese (Brazil) | ✔ | ||
| German | ✔ | ||
| Dutch | ✔ | ||
| Italian | ✔ | ||
| Japanese | ✔ | ✔ Can support Katakana, hiragana, and kanji. | |
| Danish | ✔ | ||
| Swedish | ✔ | ||
| Portuguese (Portugal) | ✔ | ||
| Finnish | ✔ | ||
| Norwegian (Bokmål) | ✔ | ||
| Turkish | ✔ | ||
| Romanian | ✔ | ||
| Hungarian | ✔ | ||
| Russian | ✔ | ||
| Polish | ✔ | ||
| Czech | ✔ | ||
| Greek | ✔ | ||
| Icelandic | ✔ | ||
| Lithuanian | ✔ | ||
| Slovenian | ✔ | ||
| Slovak | ✔ | ||
| Bulgarian | ✔ | ||
| Vietnamese | ✔ | ||
| Croatian | ✔ | ||
| Indonesian | ✔ | ||
| Latvian | ✔ | ||
| Estonian | ✔ | ||
| Serbian | ✔ | ||
| Ukrainian | ✔ | ||
| Catalan | ✔ | ||
| Norwegian (Nynorsk) | ✔ | ||
| Faroese | ✔ | ||
| Portuguese | ✔ | ||
| Albanian | ✔ | ||
| Bosnian | ✔ | ||
| Afrikaans | ✔ | ||
| Macedonian | ✔ | ||
| Armenian | ✔ | ||
| Serbo-Croatian | ✔ | ||
| Latin | ✔ | ||
| Welsh | ✔ | ||
| Gaelic | ✔ | ||
| Moldovan | ✔ |
Search types and features
Your online store has two kinds of search:
- Regular search: Results that are displayed on the search results page after customers enter a search term and press Enter.
- Predictive search: Autocomplete functionality that suggests results as customers type in the search box, before they press Enter. Learn more about predictive search.
Search ranking and relevance
You can influence search results through your product data and through the settings in the Shopify Search & Discovery app.
Changes to how search ranks results are tested regularly. During a test, some customers on your store might get slightly different result ordering than others. Tests run for a limited period, and they're stopped early if they have a negative effect on customer engagement or sales. Changes are rolled out broadly only after testing confirms they perform better. You can't change how results are ordered, so there's no setting for it.
Out-of-stock product handling
Products that are completely out of stock, where all variants are unavailable, are displayed at the end of search results by default.
If you have the Shopify Search & Discovery app installed, then you can change this behavior in Search & Discovery > Settings > Out of stock products. Learn more about adjusting search result types.
Search limitations
Search matches complete words. A search for a partial word, such as artich, might not return products with artichoke in the title. Customers get the most reliable results when they enter complete words.
SKU and barcode searches
Customers can find a product by searching its full SKU or barcode.
Customers can also search part of a code, but only when the code contains hyphens. For example, a customer can find the code abc1-888 by searching abc1. The code abc1888 has no hyphen, so customers need to enter it in full.
Page and article results
Search results include up to 2 pages or articles, and they're displayed on the first page of results only. This keeps the results focused on products. For a different experience, work with a developer or hire a Shopify Partner to build one with the Liquid search filters or the Storefront API.
Pages in unexpected results
Older pages might be displayed in search results that don't seem relevant because of hidden author information from legacy page creation processes.
If these results are a problem for your store, then you can stop pages from being returned in search. Use the Shopify Search & Discovery app to change which result types your search requests. Learn more about adjusting search result types.
Stopwords in search
Common words in any language are classified as stopwords and aren't indexed for search. This includes words such as "and", "or", "the", "a", "an", and "for" in English, as well as equivalent words in other supported languages.
Stopwords are excluded because they're too common to be useful for matching, and including them would make search slower. If you search for stopwords alone, then you won't get any results.
This behavior applies to both admin search and storefront search across all supported languages.
Troubleshooting search results
If your online store search doesn't return the results that you expect, then complete the following checks:
- Confirm that a third-party search app isn't powering your search results. If your store uses one, then contact the app's developer.
- Check that the product's status isn't set to Unlisted, which prevents a product from being found in online store search.
- Check that your search term isn't a stopword, because stopwords aren't matched on their own.
Use the following sections to troubleshoot specific issues.
Troubleshoot a product missing from search results
Review the following possible causes:
- The product's status is set to Unlisted, which prevents it from being found in online store search.
- The product is out of stock, and out-of-stock products are hidden in your Search & Discovery settings.
- The search term is a stopword, which isn't matched on its own.
Learn more about managing searchability.
Troubleshoot unrelated products ranking above the expected product
You can't change how results are ordered, but you can influence ranking through your product data and the Shopify Search & Discovery app.
Review the product's title, description, and product type for the terms that your customers search for. You can also boost specific products for a search term. Learn more about customizing product boosts.
Troubleshoot predictive search and the results page returning different results
Predictive search and the search results page are separate search types, and each one requests its own result types.
In the Shopify Search & Discovery app, check the result types that are requested for each. Learn more about adjusting search result types.
Troubleshoot search results that change for the same search term
Changes to how search ranks results are tested regularly. During a test, some customers on your store might get slightly different result ordering than others, which is expected and requires no action.
If products are missing from the results rather than ordered differently, then report the problem.
Troubleshoot incorrect filters or result counts
Filters are configured in the Shopify Search & Discovery app, including how filter values with no matching results are handled.
Review your filter settings. Learn more about search and discovery filters.
If these checks don't resolve the issue, then contact Shopify Support and include the following details:
- Your storefront URL
- The exact search query, and whether it was a full or partial SKU or barcode
- The product you expected to find
- What the search returned instead
- The approximate time you tested
With these details, the query can be reproduced and checked against known issues. Reports are most useful when the problem is repeatable.
Singular and plural search terms
The online store search tries to match terms in both their singular and plural forms.
Searching for puppies matches results containing "puppy" or "puppies".
Treating singular and plural terms as equivalent is an example of stemming, where a word is mapped to its common lemma (stem). Shopify's stemming also takes into account the common stem of different words.
Searching for body:leggings matches results containing "leg" or "leggings".
Typo tolerance
The online store search includes typo tolerance, which finds correct matches for search terms that contain typos.
Search results include matches that differ from the search term by one letter or that have two letters in a different order. The first four letters of a search term need to be entered correctly for typo tolerance to take effect.
For example, search for chocollate, will return results that have chocolate or chocolates in the title or description.
Typo tolerance isn't applied on all fields when creating search results. For example, chocollate wouldn't match on any product tags of blog post tags of chocolate. The following resource fields support typo tolerance:
| Resource type | Supported fields | Products |
|
|---|---|
| Pages |
|
| Blog posts |
|
Query relaxation
When a search returns no results, the search system automatically relaxes the search criteria to find potential matches. Relaxed search applies only to the product_type and title fields, and requires an exact match on other fields.
For example, if "care bears" returns no direct results, the system might match products containing "card years" because each word differs by only one character.
Search syntax
Search syntax determines how search terms are treated when Shopify searches for results.
Using AND, OR and NOT operators
AND
Searching for results with the AND operator between search terms returns results when all search
terms are in the result.
By default, all search terms are treated as having AND between them. Searching for artichoke hearts or
artichoke AND hearts both yield results containing both "artichoke" and "hearts". Joining operators aren't necessary.
OR
Searching for results with the OR operator between search terms returns results when any search
term is a result.
Searching for artichoke OR hearts yields results containing at least one of "artichoke" or "hearts".
NOT
Searching for results without a term can be done by prefixing the term with a minus sign (-).
Searching for artichoke -heart matches terms with "artichoke", but not "heart".
Phrase search
Placing a search term between double quotes ("") searches for that exact word or phrase in one of the searchable fields.
Searching "artichoke hearts" matches a product with the title "Can of artichoke hearts", but not a product with the title "Canned hearts of artichoke".
Searching specific fields
Add a field name with a colon to your search term to narrow your search for that term to the specified field.
For example, searching for title:artichoke searches for titles that include the term "artichoke".
Searching for a misspelt word won't work when searching specific fields, since search looks for an exact match. For example, searching for title:artichoqe doesn't yield any results.
Depending on the resource you're searching for (product, page, blog post), results can be based on different searchable properties.
| Resource | Searchable properties | Products |
|
|---|---|
| Pages |
|
| Blog posts |
|
Trigram
Trigram search matches any consecutive sequence of at least three characters in katakana, hiragana, and kanji. You can also search kanji in pairs. For example, you can search for "アップルグリーンラップドレス" by entering any of the following terms:
ップルアップルップルグリーンラ