We checked 113 Shopify stores for AI shopping readiness
Here is what most of them miss. Shopify now makes eligible products discoverable by AI channels through Shopify Catalog, and it serves an llms.txt file for every store by default (Shopify Help Center). So the question for a merchant is less whether an AI crawler can reach the store and more what it finds there.
- 74.3%of the stores published no valid return policy in the structured data of their product pages, a property Google recommends but does not require
- 43.4%of the stores left the product type empty on at least one sampled product
- 0 of 113robots.txt files kept OAI-SearchBot, the crawler OpenAI uses for ChatGPT search, away from the product pages we sampled
Where the gaps are
We ran our free public check on 113 stores that Shopify itself features as examples, on its examples page and in three of its blog roundups. For each store it reads what any visitor can read: robots.txt, the home page, up to 20 products from Shopify's public product export, up to 3 product pages, the return, shipping and contact pages, and /llms.txt. Across the sample that was 2,098 products and 321 product pages.
- No valid return policy in product page markup74.3% 84 stores
- No valid shipping details in product page markup73.5% 83 stores
- Product type empty on at least one product43.4% 49 stores
- A product description under 80 characters30.1% 34 stores
- A product page without Product markup17.7% 20 stores
- Product markup without a name or an image10.6% 12 stores
- A product without an https image7.1% 8 stores
- Variants without distinct option names5.3% 6 stores
- robots.txt keeps OAI-SearchBot away0% 0 stores
What it means. The gaps are in product data and structured data, not in crawler access. The median store scored 90 out of 100, the middle half between 86 and 95, and only 5 stores (4.4%) passed every rule we could evaluate. The fixes start in your Shopify admin, step by step below. The free public check shows which of them apply to your store.
Crawler access is rarely the problem
All 113 robots.txt files we could read allowed both OAI-SearchBot and PerplexityBot on the sampled product pages. 83.2% of the stores served a robots.txt that opens with the same standard Shopify comment, which says that public product, collection, page, blog and policy pages are crawlable. Training crawlers were rarely blocked either. OpenAI documents GPTBot, its training crawler, separately from OAI-SearchBot (OpenAI).
The same goes for llms.txt. 108 of the 113 stores (95.6%) answered /llms.txt with HTTP 200 and a Markdown content type, which fits Shopify's statement that every store serves one. On Shopify, an llms.txt does not set a store apart.
| Crawler | Stores |
|---|---|
| OAI-SearchBot | 0 |
| PerplexityBot | 0 |
| ChatGPT-User | 0 |
| GPTBot | 1 |
| ClaudeBot | 2 |
| Google-Extended | 1 |
| Amazonbot | 3 |
Policies exist as pages, rarely as data
Most stores had readable policy pages: the return page on 85.8% of the stores and the shipping page on 81.4%. Structured data tells a different story. Of the 88 stores whose sampled product pages carried Product markup, 95.5% had no valid MerchantReturnPolicy on the offer or on an Organization node. Of the 87 stores with offers in that markup, 95.4% had no valid OfferShippingDetails.
Two caveats. Google lists both properties as recommended, not required, and it accepts account level return and shipping settings in Merchant Center or Search Console, which take precedence over page markup (Google Search Central). A public check cannot see those settings. It only shows that an agent reading the product page finds no machine-readable return or shipping terms at most of these stores.
- Return page readable85.8% 97 stores
- Return policy in product page markup3.5% 4 stores
- Shipping page readable81.4% 92 stores
- Shipping details in product page markup3.5% 4 stores
Product type is often empty
43.4% of the stores had at least one sampled product with an empty product type, and 18.6% of all 2,098 sampled products had none. Vendor, by contrast, was filled in on every sampled product. Shopify names type and vendor among the product details that AI platforms and shopping sites consider (Shopify Help Center). Product type is a free label next to the standard product category, which the public export does not show.
- Stores with at least one product without a type43.4% 49 stores
- Sampled products without a type18.6% 390 of 2,098
Some descriptions are empty or very short
30.1% of the stores had at least one sampled product with fewer than 80 characters of plain text in its description. Across all sampled products, 9.5% were under 80 characters and 6.2% had no description text at all; the empty ones came from 20.4% of the stores. The 80 character line is our own heuristic, not a Shopify rule, and some themes keep product details in other fields. Still, Shopify names the description among the fields AI platforms consider.
- Stores with at least one description under 80 characters30.1% 34 stores
- Sampled products under 80 characters9.5% 199 of 2,098
- Sampled products with no description text6.2% 130 of 2,098
Some product pages carry no Product markup
On 17.7% of the stores, at least one sampled product page had no Product or ProductGroup JSON-LD in its initial HTML. Of those 20 stores, 10 had schema.org Microdata for products instead, which our check does not read. Separately, 5 stores had at least one sampled product page with a noindex robots tag. Shopify Catalog does not include products hidden from search engines (Shopify Help Center), so check any noindex tag that nobody set on purpose.
What to do in your Shopify admin
Fill in product type
Go to Products, open a product, enter the Type in the Product organization section and save. For many products, use Bulk edit with the Product type column (Shopify Help Center: product types).
Write descriptions an agent can use
Shopify suggests specifications such as size, material and weight, plus suggested uses (Shopify Help Center: product descriptions).
Keep policies complete and up to date
Shopify's guidance for AI platforms asks for this (optimizing your products for AI platforms). In Settings, then Policies, you can turn on an automated return and refund, shipping or contact policy, or write your own; return terms come from your return rules (Shopify Help Center: adding store policies).
Give Google your return and shipping terms in a form it reads
Set them at account level in Merchant Center or Search Console, or ask your theme developer for an Organization level return policy in your markup, which Google recommends over one on each product (Google Search Central). Our free public check reads Organization markup only on the sampled product pages, so a policy that is only on your home page still shows there as a gap.
Confirm that product pages print structured data
Shopify themes can output it with the
structured_dataLiquid filter, which returns Product or ProductGroup markup (Shopify developer docs).Leave robots.txt alone unless you have a reason
Shopify calls editing robots.txt.liquid an unsupported customization that can cost traffic if done wrong, and its default already allows public product pages (Shopify Help Center: editing robots.txt.liquid).
Questions merchants ask
Has anyone seen orders from ChatGPT shopping yet?
This study cannot say. It reads the public pages of 113 stores and counts what is missing there. It does not measure orders, visits from AI assistants, or whether or how any assistant shows or ranks a product, and a good result is not a promise of placement. Shopify states that eligible products are discoverable by AI channels through Shopify Catalog (Shopify Help Center). Whether that brings visits or orders to a particular store is a question for that store's own analytics, which a public check cannot see.
Which Shopify Catalog requirements go missing most often?
A public check cannot see Catalog eligibility, so this study cannot rank the requirements themselves. It can show how often the product fields that Shopify's guidance for AI platforms names (Shopify Help Center) were empty or weak on public pages. Among them, product type was most often empty (49 stores, 43.4%), followed by a description under our own 80 character line (34 stores, 30.1%), which is a heuristic, not a Shopify rule. At 8 stores a sampled product had no https image, and product names failed at 1 store. Separately, 5 stores had a noindex tag on a sampled product page, and Shopify Catalog does not include products hidden from search engines (Shopify Help Center). The free public check shows which of these gaps apply to your store.
How many stores publish return and shipping details as structured data?
Few did. Only 4 stores (3.5%) had a valid return policy and 4 stores (3.5%) valid shipping details in the structured data of their product pages, while 84 stores (74.3%) had no valid return policy and 83 stores (73.5%) no valid shipping details. For the other stores the check could not tell, which counts as unknown, not as a gap. Our check reads JSON-LD only, not Microdata. Google lists return and shipping markup as recommended, not required, and accepts account level settings in Merchant Center or Search Console, which take precedence and which a public check cannot see (Google Search Central). This study did not measure whether such markup changes what any AI assistant shows. The free public check shows which of these gaps apply to your store.
Does robots.txt keep AI assistants away from Shopify stores?
Not in this sample. None of the 113 robots.txt files we could read kept OAI-SearchBot, PerplexityBot or ChatGPT-User away from the product pages we sampled. Some stores did keep other crawlers away from them, for example GPTBot at 1, ClaudeBot at 2, Google-Extended at 1 and Amazonbot at 3 stores. Most stores (83.2%) served a robots.txt that opens with the standard Shopify comment, which says that public product, collection, page, blog and policy pages are crawlable. A robots.txt rule is not the same as real network access, and this study cannot see why a particular assistant skips a store. Shopify calls editing robots.txt.liquid an unsupported customization that can cost traffic if done wrong (Shopify Help Center), so leave it alone unless you have a reason.
Does a Shopify store need an llms.txt file?
You do not have to add one: Shopify serves one for every store by default (Shopify Help Center), and 108 of the 113 stores (95.6%) answered /llms.txt with HTTP 200 and a Markdown content type. Because almost every store has one, it does not set a store apart. This study did not measure whether llms.txt changes how any AI assistant treats a store.
Do these numbers apply to every Shopify store?
No. The 113 stores are brands that Shopify itself features as examples, not a random sample, so the numbers describe them and not all Shopify stores. We read their public pages on 19 October 2026 (Central European time), at most 20 products and 3 product pages per store, so a result describes a sample of a catalog, not all of it. See Method and limits.
Can I download the numbers?
Yes. The aggregate numbers of this study are a CSV file, data.csv: the sample counts, the result of every rule, and the robots.txt and llms.txt counts. It names no store and has no row for any single store.
Method and limits
Sample
Shopify's examples page (served to us in its Slovak version, 42 stores in seven categories) and three Shopify blog roundups gave 123 links and 121 unique store addresses. We analyzed the 113 stores where the check found a Shopify signal and could read product data, and left out 8 (no Shopify signal in what the check could read, an address that no longer resolves, or no readable product data). These are showcase brands chosen by Shopify, not a random sample, so the numbers describe them, not all Shopify stores.
Reading
One store at a time, at least five seconds apart, on 19 October 2026, with the same reader and rules as our free public check. The reader follows robots.txt for its own user agent, does not run JavaScript, and never logs in, adds to cart or checks out. When some stores began answering "too many requests", we paused for twelve minutes and read them again, more slowly.
Data
The aggregate numbers behind this page are a CSV file, data.csv: the sample counts, the result of every rule with its source, and the robots.txt and llms.txt counts. It names no store and has no row for any single store.
Limits
A public check cannot see your admin: category, barcodes, image alt text, metafields, Shopify Catalog eligibility, or Merchant Center and Search Console settings. It reads at most 20 products and 3 product pages per store, a sample rather than the whole catalog. A robots.txt rule is not the same as real network access. Nothing here measures whether or how any AI assistant shows or ranks a product, and a good result is not a promise of placement anywhere.
What this study changed in our check
Writing it made us fix three things on 19 October: the check now reads llms.txt served as Markdown, asks a ProductGroup only for a name, as Google does, and recognises Shopify's current robots.txt header. The numbers on this page come from the fixed rules, run again on the same evidence.
The rules of the free public check and their sources are in the Shopify checklist. How we count describes the rules of our Shopify app, which reads your admin rather than public pages.
Check your own store's public data
The free public check, Agent Ready in our Feed Doctor tool, reads the same public sample from your store. It needs no install and no e-mail, and it shows each gap with its source.
Agentic Product Check, our Shopify app, reads every active and unlisted product from your admin. It is waiting for Shopify App Store approval.