Narrative
Olipop scores 51/100: a Shopify storefront that has done the crawler-hospitality work (llms.txt present, no bot blocks, Shop Pay and Amazon Pay wired up) but leaves agents guessing on the details that actually close a purchase. The gap is not discoverability. It's the machine-readable substrate underneath the product pages, plus a cart guarded by reCAPTCHA and hCaptcha.
Where the points went
| Problem | Points lost | What an agent hits |
|---|---|---|
| Product attributes not structured | 6 | Agent cannot resolve size, pack count, or GTIN uniformly across the catalog |
| CAPTCHA on cart and homepage | 4 | Automated add-to-cart is interrupted before checkout even loads |
| Checkout requires initialized cart, no guest path visible | 4 | Agent cannot pre-flight the flow or complete without an account |
| Price in raw HTML inconsistent | 4 | Rendered pages return no price string; agents fall back to scraping JSON |
| No stated agent policy in terms | 2 | No signal on whether automated purchase is sanctioned |
The evidence
- Product attributes structured (0/6): Only 4 of 9 sampled URLs cleared the "two structured attributes" bar.
/products/ginger-lemonand/products/vintage-colaexpose size only via a labeled hit, with zero structured attributes and no GTIN in JSON-LD. - CAPTCHA prevalence (0/4): Both
reCAPTCHAandhCaptchafire on the cart and homepage, and the finding is flaggedtransaction_blocking: true. Meanwhile/checkoutreturned a 403 during crawl, confirming the flow is gated. - Checkout structure (2/6) and guest checkout (2/4): Classifier notes the cart shows a "Log in" option "but no guest checkout alternative is visible," and checkout is unavailable without an initialized cart. Agents get a dead end on inspection.
- Price in raw HTML (4/8): 8 of 9 URLs have price in raw HTML via schema, but only 2 have it in rendered HTML. Five product pages returned
renderedStatus: 0, meaning the price string is locked inside the Shopify JSON blob. - Sitemap quality (2/4):
sitemap.xmlreturns only 5 locs,has_product_urls: false, andlastmod_present: false. The catalog is invisible to any agent that starts from the sitemap.
What already works
- AI crawler posture (6/6): All 8 tracked agents (ChatGPT-User, Claude-User, PerplexityBot, Amazonbot, others) are allowed in
robots.txt. - Payment rails (3/3): Shop Pay and Amazon Pay are present on product, cart, and homepage. This is the agent-tier stack done right.
- Conversational descriptions (1/2, 7 high hits): Copy like "blends sweet strawberry juice, rich vanilla, and a dash of tangy lemon" gives agents real substance to summarize.
Fix first
- Remove reCAPTCHA and hCaptcha from cart and homepage, or gate them behind risk signals only. Recovers up to 4 points.
- Add
size,gtin,sku, andbrandto Product JSON-LD on every PDP consistently. Recovers up to 6 points. - Expand
sitemap.xmlto include product URLs withlastmod. Recovers up to 2 points.
The single biggest unlock is stripping CAPTCHAs off pre-checkout surfaces: agent payment rails are already installed, and the bot wall is what makes them unreachable.
BDiscoverability
Robots, sitemap, agent endpoints. mostly strong.
DMachine Readability
Schema coverage, raw-HTML price, inventory, variants. patchy.
BTransactability
Checkout flow, guest, transparency, payment rails, cart API. mostly strong.
DAgent Posture
Bot detection, CAPTCHA, rate limiting, stated agent policy. patchy.
DTrust Signals
Return policy, merchant verifiability, price history, third-party anchors. patchy.
DAgent-Native Content
Specs, descriptions, decision support, delivery, stability, absence of manipulation. patchy.