Shopify SEO Audit
Shopify does a lot for you. It does not do this. We audited 8,840 Shopify stores, and a third of them have product pages that never say they are products.
Run the audit first
You can have the result before you finish this page. Our free SEO audit reads your store the way a search engine and an AI assistant do, scores it out of 100, and gives you a shareable report. No call, no access to your admin, no sign-up beyond an email to send the report to.
The rest of this page is what that score means, drawn from running the same audit across 8,840 Shopify stores.
What we found across 8,840 Shopify stores
- The median Shopify store scores 75 out of 100, against 72 for the index as a whole. Shopify is above average, which is the reason the gaps below go unnoticed.
- 32% have product pages that never declare a product. To an assistant comparing options, those pages are not products.
- 94% show a price on the page; 66% declare it in markup. For about one Shopify store in four, a shopper can read the price and a machine cannot.
- Only 15% publish a returns or refunds page. It is the weakest signal on the platform and the one an assistant wants before recommending where to buy.
- Half have no product identifier - no SKU, GTIN or MPN - which is what lets a machine match your listing to the same product elsewhere.
The myth worth dropping
"Shopify handles SEO for you" is half true, and the half that is true hides the half that is not. Shopify gives you clean URLs, server-rendered pages, a sitemap and an llms.txt without being asked - 97% of Shopify stores serve their content without JavaScript, and 98% publish an llms.txt that the merchant never wrote.
What Shopify does not do is fill in the facts. The structured data on a Shopify product page comes from the theme, not the platform, and themes vary enormously. A theme that omits the Product block, or emits one without an Offer, produces a page that looks perfect to you and says nothing to a machine. That is the 32%.
Where Shopify stores actually lose points
| Check | Shopify stores passing | What it costs when it fails |
|---|---|---|
| FAQ markup | 3% | Answers an assistant can quote directly, rather than paraphrase or skip |
| Returns or refunds page | 15% | The last thing checked before a store is recommended |
| Shipping or delivery page | 32% | Delivery questions get answered about someone else |
| Product identifier | 49% | Your listing cannot be matched to the same product elsewhere |
| Entity corroboration (sameAs) | 58% | No proof the business behind the shop is real |
| Price in markup | 66% | The price is visible to people and unreadable to machines |
| Product markup | 68% | The page is not recognisably a product at all |
Notice the shape of that list. Nothing on it is about speed, design, or how much you have written. Every one is a fact about the product or the business that the page fails to state in a form a machine can use.
How Shopify compares
The same check - does a product page declare itself a product - across every platform with enough stores in the index to mean something:
| Platform | Stores audited | Product markup present |
|---|---|---|
| Wix | 830 | 97% |
| Zoho Commerce | 49 | 96% |
| Shopify | 8,840 | 68% |
| Headless / Next.js | 521 | 64% |
| WooCommerce | 5,728 | 63% |
| Dukaan | 121 | 36% |
| Magento / Adobe Commerce | 320 | 32% |
| PrestaShop | 227 | 29% |
| OpenCart | 125 | 20% |
| WordPress without WooCommerce | 981 | 11% |
Shopify beats most of the field and loses to Wix by thirty points, which is worth sitting with: Wix is not the better shop platform, it simply emits product markup by default. A Shopify store that fixes its theme moves into that first group, and the fix is usually one template.
What the audit checks on your store
Around 35 checks, weighted by how much each one affects whether you can be found and quoted. In the order they matter for a shop:
- Can a machine reach you. robots.txt, AI crawler rules, canonical tags, indexability. One stale line here costs everything below it.
- Is the product declared. Product, Offer, price, availability, product identifier, brand - the chain that has to be unbroken.
- Who is the business. Organization markup, sameAs corroboration, contact details. This is what separates a shop a machine will name from one it hedges about.
- Can an answer be lifted. Question-shaped headings, FAQ markup, readable paragraphs, specifications as lists rather than prose.
- Merchant facts. Returns, shipping, contact - the terms an assistant needs before it recommends you.
Speed is measured and deliberately left out of the score. Across the whole index, fast stores and slow stores have an identical median readiness score. Speed matters for your conversion rate; it does not decide whether a machine understands what you sell.
The three fixes worth doing first
1. Put Product markup in your product template. If your theme does not emit it, this is one block in product.liquid or a section file, and it moves you out of the 32% in a single deploy. It needs the type, the name, an Offer with a price and a currency, and availability.
2. Declare the price where the markup is, not only where the eye is. Shopify themes are good at rendering a price and inconsistent about declaring one. If your audit shows the price in the HTML but not in markup, the number a shopper sees is invisible to every assistant being asked about your category.
3. Write a returns page and a shipping page, as pages. Not a line in the footer, not a paragraph in terms. 85% of Shopify stores do not have them, which makes this the cheapest way to be the one that does.
"@type": "Product". If it is not there, you are in the 32% and you now know the single highest-value change available to your store.Where these numbers come from
The India E-commerce GEO Index is a public audit of 20,232 Indian online stores, 19,686 of them scored, sampling up to 30 pages each. Every store, its score and the full report behind each number is open - including the 8,840 Shopify stores behind this page. If your store is in there, you can read its report without talking to us.
If you would rather have the check run on your store right now, the free audit takes seconds. If you want somebody to do the fixing, tell us your store URL and we will tell you honestly whether it needs an agency or an afternoon.
Frequently asked questions
Shopify handles the plumbing - clean URLs, server-rendered pages, a sitemap. It does not supply the facts. The structured data on a product page comes from your theme, and across 8,840 Shopify stores we found 32% whose product pages never declare a product at all.
Around 35 checks across your homepage and up to ten more pages: crawler access, product and offer markup, price in markup, business identity, answer-readiness and merchant policies. You get a score out of 100 and a shareable report with the evidence for every finding.
The median Shopify store in our index scores 75 out of 100. The index median across all platforms is 72. Your report tells you where you sit, and our browser extension shows the same comparison live on any store page.
Missing Product markup, by a wide margin. After that, a price that appears on the page but not in machine-readable markup - 94% of Shopify stores show a price, only 66% declare one.
Both are affected, but they are different things. Product markup and merchant facts feed rich results in Google and are what an assistant needs to quote you at all. Neither is a ranking guarantee, and anyone offering one is guessing.
No. The index covers Indian stores because that is who we crawled, but the audit and the fixes apply to a Shopify store anywhere.
Ready to become the answer?
Let's build a search strategy that wins across Google, ChatGPT, Gemini, Claude, AI Overviews, and every platform shaping the future of discovery.