No black box, no vibes. Here's exactly what we measure, why it matters, and what a "good" answer looks like.
The single biggest signal. If your product page ships valid Product JSON-LD, AI can parse you without guessing.
Without it, a model has to infer your price, availability, and reviews from messy prose. With it, you're a structured record AI can quote verbatim. Most Shopify themes already emit some markup — but almost always with holes (missing brand, aggregateRating, availability). Risova verifies what's actually present, not what should be.
{
"@type": "Product",
"name": "Crewneck",
"description": "Soft wool..."
}
{
"@type": "Product",
"name": "Crewneck",
"brand": "Northbound",
"offers": { "price": 128, ... },
"aggregateRating": { ... },
"material": "100% merino"
}
Generic copywriting is invisible. Specific copywriting gets cited.
We check word count, specificity, and semantic density. "Soft and breathable" tells AI nothing it can match against a query. "18.5 micron merino, 300gsm, ribbed cuffs" gives it 3 retrievable facts. A page under 40 words is almost always thin; 120+ words with concrete nouns is the sweet spot.
"Our flagship crewneck is soft, warm, and versatile. Perfect for layering or wearing on its own. Available in four timeless colors."
"Our Crosshatch Crewneck is knit from 18.5-micron Australian merino (300gsm) on a 14-gauge jacquard, giving it a dense, cloud-soft hand. Ribbed cuffs and collar keep their shape after 50+ washes. Runs true-to-size with a slightly relaxed body — size down for a cropped look. Merino regulates temperature between 45°F and 70°F, making it the rare layer you can wear year-round. Hand-wash cold or machine-wash on wool cycle..."
AI quotes questions and answers. Literally.
Look at any ChatGPT shopping response: the pulled quotes are almost always Q-and-A format. "How does it fit?" "How do I wash it?" "Is this for cold weather?" — these are the exact strings AI retrieves. We check for a proper FAQPage schema block and the presence of the 6 most-queried questions for your category.
Facts buried in sentences are not facts to AI.
When someone asks for "a lightweight jacket under 12oz", an AI searches for explicit weight values. Writing "ultralight" is not the same as listing "weight: 9.8oz" as a spec. We audit for the structured attributes your category cares about — materials, dimensions, weight, compatibility, certifications.
| Material | ✓ 100% merino wool |
| Weight (GSM) | ✓ 300gsm |
| Origin | ✕ not specified |
| Fit | ✕ not specified |
| Temp range | ✕ not specified |
| Care | △ in prose only |
| Certifications | ✕ missing |
You can't be quoted if the bot was blocked at the door.
Many stores added Disallow: / for GPTBot two years ago and forgot. Now they're invisible to ChatGPT Shopping. We fetch your robots.txt and verify access for every major AI crawler, flag auth walls and aggressive rate-limits, and identify pages that render critical content only in client-side JS (which most crawlers skip).
The quiet multimodal signal.
Gemini, GPT-4o, and Claude all ingest images — but alt text still matters because (a) it's the only label for text-only contexts, and (b) multimodal models use alt as a tiebreaker when visual content is ambiguous. "product.jpg" tells AI you don't care. "Merino crewneck in heather charcoal, front view on model" tells it exactly what it's looking at.
Each dimension is scored 0–100, then combined with the weights above into your overall catalog score. We weight schema and description depth most heavily because they're what AI models cite most often in real shopping answers.
We re-tune weights quarterly against a sample of 10,000 live AI shopping queries. Our full methodology is open — read the research →
Run a free audit. Get your score in under two minutes.
Start now