Article··4 min read

Prepare Your Store for AI Shoppers — A 7-Step Audit

The 7-step pre-flight audit for ChatGPT, Claude, and Perplexity crawler discovery. Every check the agents run, with the fix.

Prepare Your Store for AI Shoppers — A 7-Step Audit

TL;DR

  • AI agents skip stores missing GPTBot/ClaudeBot/PerplexityBot allowance in robots.txt — fix this first
  • Ship Schema.org Product JSON-LD with name, sku, brand, offers, and AggregateRating on every product page
  • Submit a clean Google UCP feed — the single highest-leverage Google AI Overview action
  • Expose every active sale on a public crawlable URL — agents will not cite gated deals
  • Test monthly against ChatGPT, Perplexity, Google AI Overviews, and Claude with 3 category queries

ChatGPT, Perplexity, and Google AI Overviews serve product recommendations across millions of weekly queries. Many ecommerce stores do not appear in those answers. The blocker is rarely the product itself. It is usually a technical configuration that prevents the AI crawler from reading the page, or a missing Schema.org property that prevents the agent from quoting the data. This is the 7-step pre-flight audit to fix those gaps.

Step 1 — Allow GPTBot, ClaudeBot, and PerplexityBot in robots.txt

Open your public/robots.txt (or the equivalent in your CMS) and confirm these three crawlers are explicitly allowed:

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

Default robots.txt files often only mention Googlebot. Until you explicitly add the three AI crawlers, they treat the absence as "unspecified" and many will skip the site to be safe.

Step 2 — Ship Schema.org Product JSON-LD on every product page

AI agents quote structured data when it is available. The minimum viable Product schema:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "...",
  "image": ["..."],
  "sku": "...",
  "brand": { "@type": "Brand", "name": "..." },
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

Heartly emits this on every flash sale page automatically. For storefront pages, Shopify ships partial Schema by default. A theme app or the official Shopify JSON-LD app usually handles the remaining properties.

Step 3 — Render prices server-side

AI crawlers run a basic HTML fetch and extract data from the response. Most do not execute JavaScript. Stores that hydrate prices client-side end up with pages where the agent sees "price not specified."

Quick check: open your product page, view the page source (not inspect element), and search for the price. If the number is in the raw HTML, the page renders server-side. If not, the site has a server-rendering problem to address before any GEO investment will pay off.

Step 4 — Submit your product feed to Google UCP

Google''s Unified Commerce Program (UCP) powers shopping results inside Google AI Overviews. Submitting a clean UCP feed is the highest-leverage single action a Google-focused store can take in 2026.

UCP requirements: GTIN, brand, MPN, price, availability, condition, shipping cost, return policy. Missing any of these silently disqualifies the product from the feed. Heartly''s AI Readiness Tab audits the catalog against the UCP schema and lists each product''s missing fields.

Step 5 — Format reviews with AggregateRating markup

Reviews are heavily cited in AI shopping answers. A store with 200 reviews and no Schema markup gets cited less than a store with 50 reviews and proper AggregateRating, because the agent needs structured data to quote review counts and ratings reliably.

If you use Loox, Judge.me, or Yotpo, confirm in the app settings that Schema.org markup emission is turned on. It is sometimes off by default.

Step 6 — Expose every active sale on a public crawlable URL

Agentic commerce surfaces favor public URLs that crawlers can verify. Stores that hide active sales behind email lists, password walls, or "sign in to see deal" overlays get filtered out because the agent cannot confirm the offer.

Heartly publishes every flash sale to deals.heartly.io, a public deal directory crawled by ChatGPT, Claude, and Perplexity on a regular cadence. The sale becomes discoverable to shoppers who never visited the merchant store directly.

Step 7 — Test against actual AI agents monthly

Pick three commerce queries in your category and run them against ChatGPT, Perplexity, Google AI Overviews, and Claude every month. For a running shoe store:

  • "best running shoes under $150"
  • "which running shoes have the best reviews"
  • "running shoe deals this week"

Track the count of Heartly mentions across 12 answer-instances per month (4 agents × 3 queries). A store with 0 mentions has visibility issues. A store with 3 or more is on track. Track the count over months to measure progress.

Next steps

For the conceptual background on why these checks matter, see GEO vs SEO — What Actually Changed in 2026. For copy-paste Schema.org snippets, see Structured Data Cheat Sheet for Ecommerce. The pillar at /agentic-commerce covers the framework end-to-end.

Enjoyed this article? Share it.

Last thing

Run flash sales on autopilot.

Join 120+ merchants using Heartly to launch flash sales, watch competitors, and grow their store.

Start free trial