Three Shopify stores we scanned averaged 88 out of 100 on structured data with zero manual intervention. Three custom-platform direct-to-consumer brands — stores with millions in monthly traffic — scored zero. The difference is not budget, traffic volume, or engineering headcount. It is the platform your store runs on.
Every Shopify theme has shipped with a valid Product JSON-LD block for years. It is automatic, invisible, and correct. If your store runs on a custom stack, nobody added that block for you — and in our latest scan batch, 3 of 4 custom-platform stores had not built it. The result: the Shopify stores we scanned were consistently readable by AI buyers like ChatGPT, Gemini, and Perplexity, while most custom-platform stores were invisible — not because their products were worse, but because an agent could not extract a price, a stock status, or a brand name from the source.
What we measured
We ran our full AI-readiness pipeline on 7 e-commerce stores across fashion, beauty, footwear, accessories, and home goods. The pipeline scores three dimensions: structured data (40% of the total — how complete and correct the product JSON-LD is), AI preference (40% — how an AI buyer compares the store against a competitor), and crawlability (20% — whether AI crawlers can reach the store and discover its content).
The structured data score, which measures whether product pages expose a usable Product schema block, split the cohort cleanly along platform lines.
| Group | Stores | Avg. schema score | Avg. readiness score |
|---|---|---|---|
| Shopify | 3 | 88 | 66 |
| Custom platform | 4 | 22 | 40 |
The three Shopify stores scored 83, 89, and 91 on structured data. Every product page we sampled had name, price with priceCurrency, availability as a full schema.org URL, brand, and image. Their median consistency score was 100 — meaning every product page used the same template with no drift. The platform did the work.
On the custom-platform side, the picture inverted. Three of the four stores scored zero on structured data. The crawler either could not identify product pages at all — typically because the store renders its catalog client-side and the crawler receives an empty shell — or found product pages that served no JSON-LD whatsoever. From an AI buyer's perspective, these stores do not exist as data sources.
The exception that proves the rule
One custom-platform store scored 89 on structured data and 64 overall — matching or beating the Shopify cohort. Its schema was complete, consistent, and included shipping and return policy fields that even the Shopify stores missed. It did not get there by accident. Someone on that team built the structured data layer deliberately.
That store shows the bar is achievable without Shopify. The gap is not technical impossibility. It is whether anyone on the team has made structured data a priority — and for most custom-platform stores in our sample, nobody has.
Why Shopify wins by default
Shopify's product Liquid object exposes structured data through the theme's JSON-LD template. As long as the theme is even moderately maintained, every product page carries a valid Product block with the core fields populated from the product admin. The merchant does nothing. The developer does nothing. It ships.
Custom platforms — whether a headless commerce stack, a proprietary CMS, or a hand-built storefront — start from zero. The product data lives in a database, but the bridge from database to machine-readable Product schema has to be built. And in our scans, it usually has not been.
The three additional DTC brands we scanned separately — all well-known, all on custom platforms, all with five sampled product pages — reinforce the pattern. Every one scored zero on structured data. The crawler found the pages. The JSON-LD was either missing or so incomplete that the validator rejected it.
The crawlability multiplier
The Shopify stores did not sweep every category. Two of the three had no llms.txt file and no agents.md — simple text files at the domain root that tell AI crawlers where to find structured content. Their crawlability scores sat at 40 and 80, pulling the overall readiness down even when structured data was strong.
In the custom-platform group, crawlability was equally spotty. One store scored 100 — the only one in the entire cohort with both llms.txt and agents.md — while the rest scored 40. The store with perfect crawlability but zero structured data still finished at 40 out of 100 overall. Being findable but unreadable is barely better than not being found at all.
What the numbers mean
The scoring formula weights structured data at 40%. A zero on that dimension caps a store's maximum readiness at 60 — and that assumes perfect scores on everything else, which nobody in our sample achieved. In practice, the stores with zero structured data finished between 28 and 40. The stores with 83–91 on structured data finished between 61 and 72.
That is a 30-point gap driven by a single dimension. No other factor in our pipeline — not crawlability, not AI preference — produces a swing of that size.
The practical takeaway is concrete. If your store runs on Shopify, confirm that your theme's JSON-LD is intact — test one product page in Google's Rich Results Test and check that price, availability, and brand populate correctly. You are probably already at 80+ and do not know it.
If your store runs on a custom platform, find your best-selling product page, view source, and search for application/ld+json. If you do not find a valid Product block, that is your highest-return afternoon of work — and the difference between an AI agent recommending your product or skipping it entirely.
See where your store stands today. Run a free scan at prefero.me.