Search Page
Full search results with a predictive UI, filters, sorting and the product grid.
Overview
| Item | Detail |
|---|---|
| Template | templates/search.json |
| URL | /search?q={query} |
| Main section | sections/main-search.liquid |
How predictive search matches products
The header search bar does not rely only on Shopify’s native predictive search for products. Native Shopify search tokenizes titles and SKUs, so a mid-code query like 1212 inside CK2P1212-SJ-NT often returns nothing.
Nova-IMP builds a local product index (title, vendor, handle, and every variant SKU) and matches with substring search, so:
| Query | Matches when… |
|---|---|
1212 | The digits appear in the title or any variant SKU (e.g. CK2P1212-SJ-NT) |
| Product name words | They appear anywhere in the title |
| Full or partial SKU | They appear in a variant’s SKU field in the admin |
Behaviour details
- Opening search (or loading the page) prefetches
/collections/all/products.jsonand caches the index insessionStoragefor about 30 minutes. - Typing uses a 100 ms debounce so suggestions feel immediate.
- Product suggestions render from the local index as soon as it is ready (up to 8 products).
- Pages, articles, collections and query suggestions still come from Shopify predictive search and merge in afterwards.
- While the index is still loading on the first visit, Shopify predictive search is shown as a temporary fallback, then replaced by local title/SKU matches.
- Sold-out products are omitted when Hide fully sold-out products is enabled (Theme settings → Products).
Admin tip: Put the searchable code in the product title and/or each variant’s SKU field. Codes only in the body description are not indexed by this search.
Step-by-step user journey
Step 1 — Start a search from the header
- Click the search icon
- The predictive search overlay opens (the product index begins loading in the background if needed)
- Type a query → live suggestions from title and SKU (plus pages/articles/collections when available)
- Click a suggestion → product page
or press Enter / "View all" → the full Search page
Step 2 — Land on the search results
- The query is confirmed in the search field
- Result count, or the empty state
The full
/searchresults page still uses Shopify storefront search. Mid-SKU matches are most reliable in the header predictive overlay. Prefer that for code/SKU lookups, or ensure important codes also appear as separate tokens in the title.
Step 3 — Empty results
- A "No results" message
- Refine the query and search again
- Popular products or continue shopping, depending on the theme's empty state
Step 4 — Filter and sort the results
- Filter drawer or sidebar (collection-style filters)
- Sort options
- The grid updates
Step 5 — Browse and buy
- Product tiles
- Quick shop modal or the full product page
- Add to cart → cart drawer
Step 6 — Paginate
- Further pages of results
Related pieces
| Piece | Role |
|---|---|
snippets/predictive-search.liquid | Header typeahead UI |
assets/theme.js → theme.ProductSearchIndex | Local title + SKU product index |
assets/theme.js → PredictiveSearch | Overlay behaviour, debounce, result rendering |
sections/search-results.liquid / snippets/search-results.liquid | Shopify markup for non-product suggestions |
sections/predictive-search.liquid | Legacy predictive results section |
collection-grid-filters | Filters on full results |
collection-grid | Result tiles |
<!-- BEGIN GENERATED: theme-editor -->
Theme Editor settings
Each section below links to its full settings reference — every setting with id, type, default and a screenshot of the panel.
| Section | Type | Settings | Blocks |
|---|---|---|---|
| Search | main-search | 9 | 0 |
Full index: settings reference
<!-- END GENERATED: theme-editor -->Related files
templates/search.json
sections/main-search.liquid
sections/search-results.liquid
sections/predictive-search.liquid
snippets/predictive-search.liquid
snippets/search-results.liquid
snippets/search-grid-item.liquid
snippets/collection-grid-filters.liquid
snippets/pagination.liquid
assets/theme.js
layout/theme.liquid