Product + Offer + AggregateRating schema is the core trio AI shopping agents read first.
- Keep critical facts in server-rendered HTML — agents often don't execute your JavaScript.
- An llms.txt file gives assistants a clean map of your catalog and key pages.
- Markup must match what's on the page; mismatches erode trust and can get you ignored.
If Commerce GEO is the strategy, structured data is the plumbing. It's the difference between an assistant guessing what your product is and knowing — including the price, availability, rating, and specs. This is the technical layer, written for the person who has to actually implement it.
The schema types that matter for shopping
Schema.org is huge; for commerce, a small set does most of the work. These are the ones AI shopping agents (and classic rich results) actually read:
| Type | Carries | Why the agent needs it |
|---|---|---|
| Product | Name, brand, description, attributes, GTIN | Identifies what the thing is and its specs |
| Offer | Price, currency, availability, condition | Tells the agent it's buyable, for how much, right now |
| AggregateRating | Rating value, review count | Provides the trust signal assistants weight heavily |
| Review | Individual review body, author, rating | Corroboration the agent can quote |
| BreadcrumbList | Category path | Helps the agent place the product in context |
Plenty of stores ship Product schema but omit Offer — so an assistant knows what the product is but not that it's in stock or what it costs. For a shopping recommendation, price and availability are the whole point. Always include Offer.
Server-render the facts
This is the most common and most damaging technical mistake. If your price, specs, or schema are injected by client-side JavaScript after load, an AI agent that doesn't execute that JavaScript sees an empty page. Many crawlers and agents read raw HTML only.
- Server-side rendering (SSR)
- Generating the full HTML — including product facts and JSON-LD — on the server so it's present in the initial response, before any JavaScript runs. The opposite of client-rendering facts into the page after load.
The test is simple: fetch your PDP with JavaScript disabled (or curl it) and check whether the price, key specs, and JSON-LD are present. If they vanish without JS, agents are missing them too.
Publish an llms.txt
Robots.txt tells crawlers what they can't do. An llms.txt does the opposite: it hands assistants a clean, curated map of what matters — your key categories, top products, policies, and reference content — in plain markdown they can read instantly.
- List your main category and collection URLs.
- Link your buying guides and reference content (the quotable stuff).
- Point to shipping, returns, and warranty pages so policy answers are accurate.
- Keep it current — a stale map is worse than none.
Audit your robots.txt for blanket blocks on AI user-agents. For commerce, blocking GPTBot, ClaudeBot, PerplexityBot, and friends removes you from the exact surface where product discovery is moving. Welcome them — then make yourself readable.
Make markup match the page
Structured data is a trust contract. If your schema says 4.8 stars and the page shows 3.9, or the markup lists a price the page doesn't, you don't just lose the rich result — you teach the system your data is unreliable. Three rules:
- 01
Mirror the visible page
Every value in your markup must appear on the rendered page. No invisible-only schema.
- 02
Keep it fresh
Price and availability change; stale Offer data is a broken promise. Generate schema from the same source as the page.
- 03
Validate continuously
Run schema validation in CI, not once at launch. A template change can silently break markup across thousands of PDPs.
FAQ
Does Shopify add product schema automatically?
- Most themes add basic Product schema, but coverage and completeness vary a lot — Offer details, AggregateRating, and per-variant data are often missing or thin. Don't assume; audit your actual rendered JSON-LD against what agents need.
What's the difference between structured data for SEO and for AI?
- It's largely the same markup serving two consumers. Classic rich results use it for SERP features; AI assistants use it to read and recommend. The win is that one correct implementation serves both — which is why it's such high-leverage work.
Do I really need llms.txt if I have a sitemap?
- They're complementary. A sitemap lists every URL for crawlers; llms.txt is a curated, human-readable map of what matters most, in markdown assistants parse easily. For commerce, llms.txt is a cheap, high-signal addition.
Will bad structured data get me penalized?
- Mismatched markup won't typically earn a manual penalty, but it will lose you rich results and erode the trust AI systems place in your data — which quietly costs you citations and recommendations. Accuracy is the whole game.
Operators who set up agentic storefronts, Microsoft Brand Agents, Copilot Checkout, and AI-ready catalogs for mid-market merchants. We publish the frameworks we actually use with clients.
LinkedIn