Narrative
Graza scores 46/100 because the storefront is built for humans on Shopify and treats agents as an afterthought. The bones are there (JSON-LD on real product pages, Shop Pay, a clean crawler posture), but the sample keeps hitting .js product URLs that 404 or return raw Shopify JSON, and the cart is gated by reCAPTCHA. An agent trying to price and buy Sizzle will succeed; an agent trying to do anything else will stall.
Where the points went
| Problem | Points lost | What an agent hits |
|---|---|---|
| Product schema coverage collapses off canonical URLs | 6 | Only 3 of 9 sampled products expose Product+Offer JSON-LD |
| Structured attributes missing on most SKUs | 6 | Agent cannot resolve brand, GTIN, or SKU for 6 of 9 products |
| Price transparency dead on cart | 4 | Shipping and tax literally render as ${{amount}} placeholder |
| CAPTCHA on cart and homepage | 4 | reCAPTCHA and hCaptcha block programmatic add-to-cart |
| Checkout flow opaque | 4 | /checkout returns 403 without an initialized cart |
The evidence
- Structured product data (0/6): Only
/products/sizzle,/products/drizzle, and/products/sizzle-drizzle-combo-packcarry Product+Offer JSON-LD. The other six URLs in the sample are.jsendpoints, four of which 404 (grazola-6-bags.js,grazola-4-bags.js,supermarket-tee.js,the-trio-firehook-crackers-set-draft.js), meaning stale or non-canonical links are being surfaced to crawlers. - Product attributes (0/6): Same three URLs expose brand, gtin, mpn, sku via JSON-LD. Everything else returns
attrCount: 0, so an agent has no identifier to reconcile against a catalog. - Price transparency (0/4): The classifier caught the smoking gun:
"Cart page shows \"${{amount}}\" placeholder with no shipping or tax information visible before checkout."No estimator, no policy line, nothing. - CAPTCHA (0/4): reCAPTCHA and hCaptcha detected on both cart and homepage, with
transaction_blocking: true. This nullifies the otherwise excellent Shop Pay and/cartAPI access. - Stated agent policy (0/2): No terms or privacy content was classifiable. Agents that check policy before transacting get nothing to work with.
What already works
- Crawler posture (6/6): robots.txt explicitly allows all eight tracked agents including
ChatGPT-User,Claude-User,PerplexityBot, andAmazonbot, plus anllms.txtis published. - Payment rails and cart API (6/6): Shop Pay, Apple Pay, and PayPal present on cart and homepage; Shopify
/cartendpoint exposed. - Trust anchors (2/2): Aggregate rating with 4,530 reviews surfaces cleanly in schema.
Fix first
- Kill the
.jsURLs from the sitemap and route agents to canonical/products/*pages (recovers ~12 points across 1.2, 2.2, 2.3, 6.1). - Remove reCAPTCHA/hCaptcha from cart and homepage; keep them on checkout submit only (recovers 4 points).
- Render real shipping and tax estimates on cart instead of
${{amount}}(recovers 4 points).
The single biggest unlock is treating canonical product URLs as the contract with agents, because that one fix cascades through discoverability, machine-readability, and content depth simultaneously.
CDiscoverability
Robots, sitemap, agent endpoints. partial.
DMachine Readability
Schema coverage, raw-HTML price, inventory, variants. patchy.
CTransactability
Checkout flow, guest, transparency, payment rails, cart API. partial.
DAgent Posture
Bot detection, CAPTCHA, rate limiting, stated agent policy. patchy.
CTrust Signals
Return policy, merchant verifiability, price history, third-party anchors. partial.
EAgent-Native Content
Specs, descriptions, decision support, delivery, stability, absence of manipulation. broken.