What a Shopify SEO and AEO audit checks
A Shopify SEO and AEO audit crawls your store and flags the gaps that stop Google from showing rich results and stop ChatGPT from surfacing your products: duplicate or incomplete Product schema, missing GTIN and availability fields, theme-injected markup conflicts, and content that only appears after JavaScript runs. SEO AEO Specialist scans 50 pages free, then €9 for the full report.
The Shopify-specific problem
Shopify themes auto-generate Product schema, which sounds helpful until you look at what they actually output. Default theme markup typically covers name, image, price, and URL, but leaves SKU, GTIN, availability, brand, and rating empty (Go Fish Digital, Analyzify). Those empty fields are exactly the ones Google and AI shopping engines use to decide whether your product is worth showing.
Worse, most Shopify stores run a schema app on top of the theme's built-in markup. Now you have two competing Product schemas on the same template. That is the single most common cause of the "Product snippets warning: ambiguous data" message in Google Search Console (Go Fish Digital). Google sees two prices, two availability states, and picks one, or trusts neither.
The second Shopify trap is rendering. AI crawlers, GPTBot, ClaudeBot, and PerplexityBot among them, do not execute JavaScript. They read the initial HTML response and move on (ClickRank, aioclicks). If your theme loads product variants, reviews, or descriptions through client-side JavaScript or a third-party app widget, an AI answer engine sees an empty slot where your selling points should be. Your store looks fine to a human and invisible to ChatGPT.
The tactics that actually matter for Shopify
Consolidate to one Product schema source. Pick either the theme snippet or your schema app, not both. If you keep the app, strip the theme's product JSON-LD from your product.liquid or the theme's schema snippet. Adding structured data via theme snippets is more tedious than an app but gives you cleaner control (SearchX).
Fill the fields that drive rich results. Complete sku, gtin, brand, availability, priceValidUntil, and aggregateRating. Google's structured data guidelines get stricter each cycle, so validate against the current spec rather than what worked last year (Shopify).
Keep critical product content in the server-rendered HTML. Shopify Liquid renders server-side by default, so use that. Titles, descriptions, price, and availability should be in the source HTML, not injected by an app after load. Check the raw HTML, not the rendered DOM, to confirm.
Prepare for ChatGPT Shopping. OpenAI ingests a structured product feed via SFTP after merchant verification; it accepts JSONL, CSV, TSV, or Parquet and refreshes as often as every 15 minutes (OpenAI, Lengow). Feed quality mirrors on-page schema quality: the same missing GTINs and availability states that break Google rich results also weaken your ChatGPT feed. Shopping is currently live for US ChatGPT users, with self-serve merchant onboarding rolling out through 2026 (OpenAI Help). Clean your on-page data now and the feed follows.
Shopify audit checklist
| Check | Why it matters | Common Shopify failure |
|---|---|---|
| Single Product schema per template | Avoids "ambiguous data" warning | Theme + app both output Product JSON-LD |
| GTIN / SKU / brand populated | Required for shopping rich results and AI feeds | Left empty by default theme |
| Availability + price in source HTML | AI crawlers can't run JS | Injected by app after load |
| priceValidUntil set | Prevents stale-offer warnings | Missing entirely |
| aggregateRating present | Drives star snippets | Review app renders client-side |
| Collection pages have unique meta | Prevents thin/duplicate pages | Templated across all collections |
| Canonical tags on variant URLs | Stops duplicate indexing | ?variant= params self-canonicalize wrong |
| robots.txt allows AI crawlers | Blocking cuts AEO visibility | Over-blocked via theme edits |
FAQ
Does Shopify add product schema automatically?
Yes, but only partial markup. Default themes output name, image, price, and URL, and leave SKU, GTIN, availability, brand, and rating empty (Go Fish Digital). Those gaps limit your rich-result eligibility.
Why does Google Search Console say my product data is ambiguous?
Almost always because two Product schemas exist on the same page, usually the theme's built-in markup plus a schema app. Remove one so Google reads a single source of truth (Go Fish Digital).
Can ChatGPT and Perplexity read my Shopify product pages?
Only the content in your initial HTML. AI crawlers do not execute JavaScript, so app-injected reviews, variants, or descriptions are invisible to them (ClickRank). Keep selling content server-rendered in Liquid.
How do I get my products into ChatGPT Shopping?
You submit a structured product feed to OpenAI via SFTP after merchant verification, in JSONL, CSV, TSV, or Parquet (OpenAI). Feed accuracy depends on the same fields your on-page schema needs.
Do review apps hurt my AEO?
They can. If the app renders ratings and review text client-side, both Google's rich-result parser and AI crawlers may miss them. Confirm the review content and aggregateRating appear in the raw HTML.
How many pages does the free audit cover?
Fifty pages at €0. That is enough to catch template-level issues, since Shopify problems repeat across every product and collection using the same theme file.
Audit your Shopify store
Start free: scan 50 pages at €0 and see your schema conflicts, render gaps, and AEO issues. Need the full store and a fix list you can hand to a developer? The one-time report is €9. Want continuous monitoring as you swap themes, add apps, and edit products? €19/mo per domain re-audits on a schedule so nothing regresses silently.
WooCommerce SEO & AEO Audit | Schema, Plugins & Performance
See where you stand
SEO AEO Specialist runs a free AI-visibility audit and hands you the exact fixes. One-off report €9, unlimited €19/mo.
Run your free audit →