It's live. Priced and photographed, sitting on a perfectly good page. And nobody can find it.
Dead, with a pulse
There's a specific kind of corpse we keep finding in Shopify catalogs, and it looks healthy from the admin. Stock on hand, page published, photos paid for.
Now type its name into the storefront search bar. Nothing comes back. Google won't surface it either, and filter clicks sail right past it. From the shopper's side of the glass, that product does not exist.
The first time we traced one of these, we did what everyone does.
We blamed the search engine.
The wrong suspect
It's a comfortable theory. Search engines feel like black boxes, black boxes feel like the kind of thing that breaks, and "search is misconfigured" is a diagnosis nobody has to feel bad about.
So we dug through relevance settings, synonym lists, boost rules (we spent an embarrassing amount of time in there before admitting defeat). The configuration was fine. It is almost always fine.
A few rounds of spreadsheet archaeology later, the trail ended where it has ended every time since: in the product data. The engine was doing exactly what it was told. The product had never given it anything to work with.
And it's never one product. Pull a catalog apart and the invisible inventory comes out in layers. If 30% of your products lack a color attribute, those products are hidden from every color-filter click, even when they're exactly what the shopper wanted.
Messy values do the same damage as missing ones. One product says "5 inch," its neighbor says "5""; one says "navy," another says "dark blue" for the same fabric. To an index those are strangers. The inventory exists; the result doesn't.
What the search bar actually reads
Your search bar never reads your product pages. It queries an index built earlier: crawlers visited every page, extracted the attributes, and filed them into a lookup structure that answers in milliseconds.
No attributes, no index entries. A product carrying only a title and a description will never surface for a search on color, material, or size, because the engine has nowhere to look. There is nothing there to rank.

Google plays the same game with a stricter rulebook. Merchant Center wants seven attributes, required, full stop: ID, title, description, link, image, price in ISO 4217 format, availability. Brand on top of that for most products; GTIN or MPN for new ones in most categories. Send a feed and put markup on the page, their docs say, and your products become eligible everywhere Google puts products: the Shopping tab, Images, Lens, Maps, Search itself.
Which leaves an opinion we've earned the hard way: most search-relevance projects are expensive apologies for a data problem. Enriching product attributes pays back faster than tuning the algorithm. We keep confirming it the boring way, one catalog at a time.
Putting a number on the invisible
After enough of these autopsies we stopped treating discoverability as a yes or no question and built an instrument for it: the Catalog Quality Score, 0-100, graded against Google's requirements and what on-site indexing actually needs.
Five dimensions. Completeness: the required attributes, on every SKU. Structure: everything formatted the way the machines expect. Enrichment: the optional attributes that do the selling, brand, color, size, material. Consistency: no synonym drift, no unit chaos. Uniqueness: distinct titles and descriptions, not one paragraph copied across half the catalog.
A score between 45 and 60 means critical gaps: the products exist, discovery fails. At 90+ the catalog is structured for Google and your own search bar at once, and you can feel it in the numbers.
The part where it pays off
We've now run this across 642,000+ SKUs in 28 delivered projects, and the pattern has not blinked.
The catalogs that climb out of that critical band show it where it counts: on-site search sessions and Google Shopping impressions. Not one of them got there by touching the algorithm. All of it came from the data.
Structured data implementation alone lifts organic click-through by approximately 30%, per research from Google's Search team. The products were always good enough to click. They just had to become findable first.

What we'd tell you before you buy search software
- Every "search problem" we've ever been called about was a data problem wearing a search costume.
- Fix completeness before relevance. The data pays back faster than the algorithm, and it isn't close.
- "Navy" and "dark blue" are two different fabrics to an index. Consistency is data too.
- Start small: measure attribute completeness on your top 20% of SKUs. A quick pass tells you how deep the hole goes.
Somewhere in your catalog right now there's a product like the one we keep finding: live, priced, photographed, waiting. The engine would love to sell it. It just needs to be told the product exists.
Tell it.
If your store clears $250K a month and you'd rather know your score than guess it, that's what our Infrastructure Stress-Test is for: we profile the catalog against Google's specifications and your own index, and show you what each gap costs.
Sources
-
Product Structured Data (Google Search Central Documentation): Google's official specification for Product structured data and the recommendation to combine a feed with on-page markup.
-
Product Data Specification (Google Merchant Center Help): Google's official required and conditional attributes for product feeds, including title, description, price, availability, brand, and identifiers.
-
Search Index: How Ecommerce Search Indexing Works (Prefixbox): technical explanation of inverted indexing, attribute extraction, and the role of product attributes in on-site search retrieval.
-
Search Relevance Optimization (Wizzy): research on product data quality's impact on retrieval success and attribute enrichment ROI.
-
Ecommerce Product Content on Google (Google Search Central Documentation): official documentation on where product data appears across Google surfaces (Shopping, Images, Search, Lens, Maps).





Share:
One second, half your transactions: what a slow storefront actually costs
We replaced 7 apps with 200 lines of Liquid