The real symptom
- Searching a precise term returns many products.
- Products appear even though the title does not contain the query.
- A hidden tag, old description, vendor name, or variant option seems to be influencing results.
- Filtering results in Liquid breaks pagination or counts.
Likely causes
- The query matches product tags, body content, vendor, type, SKU, barcode, or variant data.
- Search & Discovery synonyms or boosts broaden the match.
- Products are still listed in search even if hidden from collections.
- The theme filters results after Shopify has already paginated them.
- Recently changed product data has not been reindexed yet.
Fix path
- Search for the exact query in the product title, description, tags, vendor, product type, SKU, barcode, and variant options.
- Open Apps → Search & Discovery and review synonyms, boosts, and settings.
- Use product status, sales-channel visibility, or
seo.hiddenwhen a product should not appear in search. - Avoid Liquid-only filtering for large result sets.
- Retest after Shopify has had time to reindex changes.
Simple checks
- Inspect one “wrong” product and find the hidden match before editing theme code.
- Test plural, typo, SKU, and exact phrase behavior separately.
- Compare Online Store search with Search & Discovery settings.
Useful code or DevTools check
{% comment %}Avoid hiding results only after pagination has happened.{% endcomment %}
{% for item in search.results %}
{{ item.title }}
{% endfor %}
Do not do this
Do not remove products from search by hiding them with CSS or skipping them in the loop after pagination. That can create empty pages and confusing result counts.

