Narrative
Warby Parker scores 46 out of 100, landing squarely in the Gaps band, and the shape of the failure is unusually clean: the site does most of the semantic work an agent needs, then aims a DataDome cannon at the agent's face. The catalog is well-marked up, the shipping story is generous, the reviews infrastructure is real, and none of it matters if the crawler cannot land a request. This is a merchant that has invested in agent-readable content while simultaneously operating an anti-bot posture that treats agents as adversaries.
The single largest point loss comes from bot detection, where Warby Parker scored zero out of six. Fifty-nine percent of fetches were blocked, with DataDome serving challenge pages on the homepage, cart, checkout, about, privacy, returns, shipping, the ai-plugin.json endpoint, the ai-policy.txt endpoint, and eight of nine product URLs sampled. The irony is sharp: warbyparker.com/.well-known/ai-plugin.json exists and returns a DataDome challenge. The site publishes an agent manifest that agents cannot read. CAPTCHA prevalence compounds this with another zero out of four, because DataDome sits on both cart and checkout, meaning even an authenticated agent with a valid session gets stopped at the transaction boundary. Score 4.2 flagged this as transaction-blocking, which is the correct diagnosis.
Guest checkout is the next major hole, scoring zero out of four. The cart page surfaces "Sign in" as the primary call to action with no "continue as guest" alternative visible in the checkout flow. For an agent operating on behalf of a shopper who has no Warby Parker account, this is a dead end regardless of everything else on the page. Combined with the checkout structure finding (two out of six, low classifier confidence because the checkout page would not render without an initialized cart), the transactability story is one of a funnel built exclusively for logged-in humans clicking through a browser.
The return policy check scored zero out of three because warbyparker.com/returns returns a 404. The classifier found only a navigation footer where the policy should be. Warby Parker has one of the more customer-friendly return policies in eyewear ("Free returns or exchanges Within 30 days of purchase" appears verbatim on product pages), but the canonical policy URL is broken, so no agent can cite it authoritatively. This is a five-minute fix that is currently costing full credit on a trust-signal check.
Price in raw HTML scored four out of eight. Eight of nine product pages carry price in JSON-LD schema, which is good, but the caldwell/carbon URL returned a 403 to the raw fetcher entirely, and rendered-DOM price extraction succeeded on only three of nine samples. Variant handling scored one out of one but flagged zero enumerated variants across nine products with swatch pickers, meaning color and width options exist visually but are not exposed as discrete offers an agent can select. Finally, stated agent policy scored zero out of two: the privacy page is silent on automated agents, so an agent cannot determine whether its activity is welcome or prohibited.
The single biggest opportunity is straightforward: allowlist the AI crawlers already permitted in robots.txt at the DataDome layer, because the content is ready and the bouncer is the bottleneck.
CDiscoverability
Robots, sitemap, agent endpoints. partial.
CMachine Readability
Schema coverage, raw-HTML price, inventory, variants. partial.
CTransactability
Checkout flow, guest, transparency, payment rails, cart API. partial.
EAgent Posture
Bot detection, CAPTCHA, rate limiting, stated agent policy. broken.
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.