Method
How we score your store
19 checks across 7 dimensions. Equal weighting would be misleading — a missing product price is far worse than slow images — so dimensions are weighted by impact (Product info 35, Findability 15, Content 17, Trust 12, Agentic surface 5, Brand 3, Crawl 2). The public score caps at the AI-Ready band; the top band (Front-page) requires evidence the public scan cannot observe — like whether ChatGPT and Claude actually recommend you when a shopper asks.
Rubric v1.2026-06-02.1 · Last updated 2026-06-02
The 7 dimensions
Weight totals 89. Score column shows the dimension’s contribution to a perfect score — the distribution bar is illustrative only on this page (per-store distributions appear on the scan permalink).
Product info. Whether your product pages show price, currency, in-stock status, and variants in a format AI assistants can read directly. The most important dimension — without this, AI can't recommend specific products.
Findability. Whether AI crawlers can find your store. robots.txt that doesn't block AI bots, plus a sitemap with reachable product URLs.
Content. Whether your product descriptions are long enough and name attributes (material, size, use-case) in the visible HTML body — not just hidden inside JSON-LD scripts.
Trust. Whether shipping, returns, and contact pages exist and are easy to find. AI assistants check these before recommending a real merchant.
Brand. Whether your brand is recognized as a real business via Organization schema on your homepage. Helps AI distinguish you from squatters or copycats.
Agentic surface. Whether your storefront exposes agent-native endpoints (/.well-known/ucp, /api/ucp/mcp, /agents.md, /sitemap_agentic_discovery.xml). Shopify Plus stores get this auto-rolled-out; custom storefronts publish via the Universal Commerce Protocol spec.
Crawl. Whether AI crawlers can reach your homepage and at least one product page without errors.
The 19 checks
Product info — 35% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| sd.jsonld-product | 10 | We found structured product data with a name, description, and image. Fix: Show your product name, a description, and a clear product image on every product page where AI assistants can read them. |
| sd.jsonld-offer-complete | 10 | At least one product exposes price, currency, and availability in structured data. Fix: Show the price, currency, and in-stock status on every product page — AI assistants need all three to recommend a product. |
| sd.jsonld-product-image | 5 | Structured product data includes a product image. Fix: Add at least one product image to every product page so AI assistants can show a visual when recommending your item. |
| sd.jsonld-product-variants | 5 | Structured product data exposes product variants (size / color / SKU). Fix: Expose your product variants (size, color, SKU) so AI assistants can match the exact option a shopper wants. |
| sd.product-identifiers | 3 | Products carry an identifier (sku / gtin / mpn / productID) for AI Knowledge Graph disambiguation. Fix: Add a SKU, barcode (GTIN), or manufacturer part number to each product so AI assistants can match yours precisely instead of guessing from the name. |
| sd.aggregate-rating | 2 | Products expose a star rating and review count in structured data. Fix: Show your star rating and review count visibly on each product page — AI shopping tools surface this when comparing options for a shopper. |
Findability — 15% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| disc.robots-txt | 5 | robots.txt is reachable. Fix: Publish /robots.txt at your domain root. |
| disc.robots-ai-bots | 5 | Your robots.txt doesn't block AI crawlers (GPTBot, ClaudeBot, PerplexityBot). Fix: Update your robots.txt to remove any rule that blocks AI crawlers from your whole site. Allowing 'User-agent: *' with no root-level Disallow is enough. |
| disc.sitemap-xml | 5 | sitemap.xml is reachable and contains product URLs. Fix: Publish a sitemap.xml at your domain root listing your product pages. |
Content — 17% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| content.product-desc-length | 5 | Product descriptions are long enough for AI assistants to extract meaning. Fix: Write product descriptions of at least 200 characters (Latin scripts) or equivalent length in your storefront's language. |
| content.agent-friendly-attributes | 5 | Product pages state concrete attribute values — materials, fabric composition, ingredients, or nutrition — in tables, labelled lists, or plain description prose. Fix: Show concrete product specs in your descriptions — fabric composition ('93% nylon, 7% elastane'), what it's made of ('made from merino wool'), or ingredients/nutrition for consumables. A spec table or 'Material: …' label works, but plain values in the description count too, so AI shopping assistants can answer 'what's it made of?' |
| content.html-body-fact-parity | 3 | Product facts in JSON-LD also appear in the visible HTML body. Fix: Make sure the product name, price, and availability appear as readable text on the page — AI crawlers can miss facts hidden inside page scripts. |
| content.faq-quality | 4 | FAQ page with answerable questions detected on /help or /faq. Fix: Add a clear FAQ on /help answering your top 3 ordering, shipping, and returns questions. AI tools read your page to answer shopper questions; your most-asked ones need visible answers. |
Trust — 12% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| policy.shipping-page | 4 | A shipping policy page is linked and reachable. Fix: Publish a shipping policy page and link it in your footer or sitemap. |
| policy.returns-page | 4 | A returns policy page is linked and reachable. Fix: Publish a returns policy page and link it in your footer or sitemap. |
| policy.contact-page | 4 | A contact page or email is linked and reachable. Fix: Publish a contact page or surface an email address. AI assistants check for real-merchant signals. |
Brand — 3% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| entity.organization-jsonld | 3 | Organization JSON-LD is present and includes name + url. Fix: Show your brand name and a contact path (email, phone, or About page) on your homepage so AI assistants recognize you as a real business. |
Agentic surface — 5% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| agentic.ucp-stack | 5 | Storefront exposes an agentic surface — at least 2 of /.well-known/ucp, /api/ucp/mcp, /agents.md, /sitemap_agentic_discovery.xml respond with valid content. Fix: Expose agentic-discovery endpoints. Shopify Plus stores get this auto-rolled-out (2026-04-08). Custom storefronts: publish at minimum /.well-known/ucp and /agents.md per the Universal Commerce Protocol spec. |
Crawl — 2% weight
| Check | Wt | What it checks · Fix |
|---|---|---|
| perf.crawl-success | 2 | Homepage and at least one product page loaded without error. Fix: Make sure your homepage and product pages load successfully for all visitors — AI crawlers skip pages that return errors or are blocked. |
Hard blockers (caps)
Some failures cap your score regardless of how well you do elsewhere.
Score caps at 35
AI can't find your product catalog at all (no platform integration, no structured product data, no extractable product page).
Score caps at 45
We found product pages but couldn't read the product details (no machine-readable product data — usually a JavaScript-only catalog).
Score caps at 55
Your site asks AI crawlers to stay out (robots.txt blocks GPTBot / ClaudeBot / PerplexityBot).
Score caps at 65
No product has complete price + currency + in-stock status — AI assistants need all three to recommend a specific product.
Score caps at 70
Our crawler couldn't extract enough data to score confidently — low-confidence runs cap here so we don't oversell uncertainty.
Score bands
Your 0–100 score maps to one of five bands. The public score caps at AI-Ready because the top band needs evidence we can only see after activation.
0–24%
Invisible
AI assistants can't find your store yet.
25–49%
Findable
AI can find you but can't read enough to recommend you.
50–74%
Mostly findable
AI can read most of your store. A few gaps keep you from being recommended more often.
75–89%
AI-Ready
Foundation is strong; AI can read your store and may recommend you.
90–100%
Front-page
Top recommendation across most assistants. Requires post-activation evidence the public scan cannot observe.
What we don’t measure (yet)
Two things sit above the foundation score. Both light up after activation — neither is visible from a URL scan:
- Activation — we host an AI-readable copy of your catalog at
your-store.agentshelf.app, exposed via Model Context Protocol + JSON-LD. Set up with one DNS TXT record. AI assistants query it directly. - Tracking — every day we ask ChatGPT, Claude, Perplexity, and Gemini real shopping questions about your category. When your store is recommended, we capture the transcript and timestamp so you can prove it.
Validation set
We validate the scorer against a researcher-curated 30-store set covering strong Shopify, strong WooCommerce, weak WooCommerce, Wix/Squarespace, custom/headless, and broken stores. The list and results are tracked internally; we will publish a public summary once we have real-world results to share.
Calibration changelog
content.faq-quality (now 19 checks). Introduced 65% partial credit on 7 schema checks via content-shape detectors (an HTML-only equivalent earns ~two-thirds of the weight when the JSON-LD predicate fails). Top fixes now ranked by impact with high/medium/low pills. New /scan/[scoreId] permalink with transparency side panels, share, and re-scan.sd.product-identifiers, sd.aggregate-rating, content.html-body-fact-parity, agentic.ucp-stack. Dropped: disc.canonical-url, disc.llms-txt (scored), content.faq-schema, content.product-image-alt, entity.sameas-links, policy.privacy-page, sd.jsonld-breadcrumb.Disagree with a score?
Email [email protected] with the URL and a screenshot. We read every reply.
agentShelf vs Yotpo Commerce-GPT
Yotpo’s Commerce-GPT is the closest comparable diagnostic. We out-deliver on per-fix specificity, multi-format extraction, and methodology rigor; they out-deliver on visual polish and Off-Site AI queries (their free tier). Here’s the side-by-side.
| Dimension | agentShelf | Yotpo Commerce-GPT |
|---|---|---|
| Score breakdown | 19 checks × 7 dimensions, all documented | 2 axes × N qualitative categories |
| Methodology | Open rubric, every check published | "Based on GPT-5 in the US" pin only |
| Speed | Sub-minute · sync | ~10–12 min async with email |
| Signup | None — paste URL and go | Name + email + 6-digit verification |
| Fix recommendations | Page-specific action + dimension impact | Generic 4-bullet boilerplate (same for every card) |
| Path A/B/C coverage | Multi-format extraction (HTML + RSC chunks + __NEXT_DATA__ + JS-injected schema) | First-pass HTML only (per their own disclaimer) |
| Off-Site AI ground truth | Pro tier (Knows · Describes · Recommends) | Free tier — Awareness Frequency & Rank with GPT-5 citations |
| Content-shape signals | Parallel to JSON-LD (65% partial credit) | Primary mode |
| Cost to merchant | Free score, always · Pro $79/mo for Off-Site (when it ships) | Free assessment + paid platform waitlist |
Partial credit
Seven schema checks have a content-shape fallback: when the structured data (JSON-LD) is missing but the same fact is plainly visible in the page’s HTML, the check earns 65% of its weight instead of zero. AI assistants prefer structured data — that’s why full credit requires it — but they can also read visible page content, so we credit you for the signal they actually get.
Example.A product page with no Product JSON-LD but a clear <h1>Product Name</h1> and a product image earns 6.5 of the 10 weight on the sd.jsonld-product check. Adding JSON-LD on top moves you from 6.5 to 10.