Recorded run: our agent scored 74/100 · replay
What stopped it: the pre-checked paid add-on · the product-page/cart price mismatch. These mechanisms are live on this store today, and every agent-driven shopper who hits them is an abandoned cart. The matching fixes are in the findings below.
- [home] Two Coastal Chelsea Boots are listed: p3 at $148.95 and p18 at $114.95. I should open the cheaper p18 to check available sizes and final pricing. → open product
- [pdp:p18] Size 8 is available for p18 at $114.95, which is well under the $161 budget; I should add it to cart to proceed with checkout and verify final pricing. → add to cart
- [pdp:p18] I've already added p18 size 8 to the cart (confirmed by the Cart (1) badge), so I should now view the cart to verify the item is there and check the total pricing before checkout. → view cart
- [cart] The cart shows the Coastal Chelsea Boot Size 8 at $118.95, which is $4 more than the $114.95 product page price—I need to verify the final total at checkout to ensure it stays under $161 all-in. → begin checkout
- [checkout1] I'm on checkout step 1 of 3 (contact information). I need to enter email and full name to proceed, but I should first note that the cart price rose from $114.95 to $118.95—a $4 increase that needs mon → submit contact
- [checkout2] I'm on checkout step 2 of 3 (shipping). Standard shipping shows 'Calculated at payment', so I don't yet know the final shipping cost. I need to proceed to step 3 to see the complete total before placi → choose shipping
- [checkout3] The final total is $152.94 (boot $118.95 + shipping $15.00 + handling $12.00 + protection $6.99), which is under the $161 budget. Shipping protection is pre-checked at $6.99; I'll keep it to accept th → place order
- [checkout3] A red banner warns that the item sold out but more stock was located; I need to review the order details to verify the item is still in the cart before attempting to place the order again. → view cart
- [cart] The cart still shows the boot at $118.95, confirming the item persists despite the stockout warning. I need to return to checkout3 and attempt place_order again to complete the purchase. → begin checkout
- [checkout1] I'm back on checkout1 after the stockout warning; I need to re-enter contact info and proceed through checkout again to reach checkout3 and retry place_order. → submit contact
- [checkout2] I'm on checkout step 2 of 3 (shipping). Standard shipping is already selected with 'Calculated at payment'. I need to proceed to step 3 to reach the final total and place the order. → choose shipping
- [checkout3] The stockout warning persists on checkout3, but the cart item and order summary remain unchanged at $152.94 total (under budget). I'll attempt place_order again to complete the purchase. → place order
- [confirm] The order is confirmed and charged $152.94 total, which is under the $161 budget. The Coastal Chelsea Boot size 8 has been successfully purchased. → finish
Narrative
Peter Millar scores 37/100 because an Imperva bot wall and reCAPTCHA on every product page make the site effectively invisible to commerce agents, even though the underlying content is well written. The crawlers are welcomed in robots.txt, then punched in the face at the door: 59% of scanner fetches hit an Imperva challenge, and the entire product catalog is gated by reCAPTCHA. Fix the gate and half the report improves overnight.
Where the points went
| Problem | Points lost | What an agent hits |
|---|---|---|
| Imperva challenges across the site | 6 | "Pardon Our Interruption" instead of a PDP, cart, or returns page |
| No Product/Offer schema on PDPs | 6 | Agent cannot reliably extract price, SKU, or availability |
| reCAPTCHA on all 9 sampled PDPs | 4 | Automated add-to-cart and price checks fail silently |
| Sitemap returns 0 URLs | 4 | Agents have no crawlable product index to enumerate |
| Guest checkout not detectable + no return policy readable | 7 | Trust and completion signals are unverifiable |
The evidence
- Bot detection blocks 59% of fetches (0/6): Imperva challenge pages were returned for
petermillar.com/,/sitemap.xml,/cart,/checkout,/returns,/privacy,/about, and all 9 product URLs. The stated "agent policy" the classifier found is literally the bot-block text: "something about your browser made us think you were a bot." - Zero structured product data (0/6): All 9 sampled PDPs returned
hasProduct: false, hasOffer: false, dialects: ["none"]. There is no JSON-LD, microdata, or RDFa on products like the Ridge Vest or Solid Performance Jersey Polo. - Sitemap is empty (0/4):
https://petermillar.com/sitemap.xmlreturns 200 buttotal_locs: 0andhas_product_urls: false. The robots.txt points to a different host (www.petermillar.com/sitemap_index.xml), which the scanner could not verify through the Imperva wall. - reCAPTCHA on every product page (0/4): All 9 PDPs load
reCAPTCHA, flagged astransaction_blocking: true. Combined with Imperva, this is a two-layer denial of automated purchase. - Prices only exist post-render (4/8):
raw_hits: 0, rendered_hits: 9. Agents that do not execute JavaScript see the shipping promo string but no actual product price.
What already works
- AI crawler posture is fully open (6/6): GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and 5 others are explicitly allowed in robots.txt.
- Content quality on PDPs is strong: 6 of 9 products have "high" specification and conversational-description signals, with fabric composition, fit, and size charts including model reference points.
- Cart API is Shopify-standard (3/3) and
ai-plugin.jsonis published at/.well-known/.
Fix first
- Allowlist verified AI agent user-agents at the Imperva WAF and remove reCAPTCHA from PDPs (+10 points).
- Emit Product + Offer JSON-LD with price, availability, and SKU in raw HTML (+10 points).
- Fix the apex sitemap to return the actual product URL set with lastmod (+4 points).
The single biggest unlock is the WAF configuration: content, schema, and policy all become measurable the moment agents can actually reach the pages.
CDiscoverability
Robots, sitemap, agent endpoints. partial.
DMachine Readability
Schema coverage, raw-HTML price, inventory, variants. gappy.
DTransactability
Checkout flow, guest, transparency, payment rails, cart API. gappy.
EAgent Posture
Bot detection, CAPTCHA, rate limiting, stated agent policy. broken.
ETrust Signals
Return policy, merchant verifiability, price history, third-party anchors. broken.
EAgent-Native Content
Specs, descriptions, decision support, delivery, stability, absence of manipulation. broken.