Scan report ·

brooklinen.com

Mixed signal. Checkout holds up, but content falls short.

Category · home

C
56 / 100
Mixed signal
Evaluated coverage: 100/100 applicable points
Aisle Pro · Remediation packet
Every fix this scan flagged, one card at a time: ranked by points per effort, with copy-paste snippets, per-fix downloads, and a plan your AI coding agent can execute.
Discoverability
C
12 / 20
Machine Readability
C
11 / 20
Transactability
B
14 / 20
Agent Posture
D
6 / 15
Trust Signals
C
6 / 10
Agent-Native Content
D
7 / 15

Narrative

Brooklinen scores 56/100: a Shopify storefront with the plumbing agents need (Shop Pay, cart POST endpoints, open crawler policy, an llms.txt) but with the metadata layer that turns a browse into a booking almost entirely absent. Zero Product schema across nine sampled PDPs and a CAPTCHA sitting on the cart are the two findings that keep this out of the "agent-ready" tier.

Where the points went

ProblemPoints lostWhat an agent hits
No Product/Offer JSON-LD on PDPs6Agent cannot extract a canonical price, SKU, or availability without scraping Shopify's inline JS
No structured product attributes6Color, size, and material must be inferred from label heuristics, not read from schema
Checkout flow opaque and account-gated4Guest purchase path is unclear; account walls block one-shot buys
CAPTCHA on cart and homepage4reCAPTCHA and hCaptcha fire on /cart, halting automated checkout
Weak sitemap and no stated agent policy4Only 5 sitemap URLs, no product routes, no lastmod; policy silent on automation

The evidence

  • Structured product data: 0/6. All 9 sampled PDPs (including classic-duvet-cover, luxe-core-sheet-set, washed-linen-core-sheet-set) return hasProduct: false, hasOffer: false. Prices exist only in embedded Shopify variant JSON ("price":16900), not in Schema.org markup.
  • Product attributes: 0/6. Only one PDP (classic-duvet-cover) exposes any labeled attributes, and even there color, size, and material are labeled prose, not PropertyValue nodes. Zero URLs cleared the "two structured attributes" bar.
  • CAPTCHA prevalence: 0/4. Both reCAPTCHA and hCaptcha detected on /cart and homepage, with transaction_blocking: true. This is the single hardest wall for an autonomous agent.
  • Checkout structure: 2/6. Classifier notes cart shows "Sign In" and "Create Account" but no guest option, and /checkout returned 403 to the scanner. Guest checkout is likely enabled by Shopify default but not surfaced.
  • Sitemap: 2/4. sitemap.xml returns only 5 locs, has_product_urls: false, no lastmod. Agents crawling for a catalog get nothing usable.

What already works

  • Crawler posture is fully open: ChatGPT-User, Claude-User, PerplexityBot, OAI-SearchBot, Amazonbot all allowed in robots.txt, plus a live llms.txt.
  • Payment rails are agent-grade: Shop Pay and ACH/Plaid detected at cart and homepage, alongside Apple Pay and PayPal.
  • Product content is rich prose: 7 of 9 PDPs earned "high" on specification completeness (thread counts, GSM, OEKO-TEX certs, full dimension tables).

Fix first

  1. Enable Product + Offer JSON-LD with price, availability, and SKU on every PDP (+12 points across 1.2 and 2.2).
  2. Remove or bypass CAPTCHA on /cart for verified agent traffic (+4 points, unblocks transactions).
  3. Regenerate sitemap.xml to include product URLs with lastmod timestamps (+2 points).

The single biggest lever is Product schema: it unlocks discoverability, machine-readability, and price-stability signals in one deploy.

CDiscoverability

Robots, sitemap, agent endpoints. partial.

AI crawler posture: 6/6
https://brooklinen.com/robots.txt
1.1 · 6/6
×
Structured product data coverage: 0/6
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
1.2 · 0/6
!
Sitemap quality: 2/4
https://brooklinen.com/sitemap.xml
How to fixPro
1.3 · 2/4
Agent-specific endpoints: 4/4
https://brooklinen.com/.well-known/ai-plugin.json
1.4 · 4/4

CMachine Readability

Schema coverage, raw-HTML price, inventory, variants. partial.

Price in raw HTML: 8/8
sample · https://www.brooklinen.com/products/classic-duvet-cover
2.1 · 8/8
×
Product attributes structured: 0/6
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
2.2 · 0/6
!
Inventory signals: 2/5
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
2.3 · 2/5
!
Variant handling: 1/1
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
2.5 · 1/1

BTransactability

Checkout flow, guest, transparency, payment rails, cart API. mostly strong.

!
Checkout flow structure: 2/6
How to fixPro
3.1 · 2/6
!
Guest checkout availability: 2/4
How to fixPro
3.2 · 2/4
Price transparency signals: 4/4
3.3 · 4/4
Machine-native payment rails: 3/3
3.4 · 3/3
Cart API accessibility: 3/3
3.5 · 3/3

DAgent Posture

Bot detection, CAPTCHA, rate limiting, stated agent policy. patchy.

!
Bot detection aggressiveness: 3/6
How to fixPro
4.1 · 3/6
×
CAPTCHA prevalence: 0/4
How to fixPro
4.2 · 0/4
Rate limiting posture: 3/3
4.3 · 3/3
×
Stated agent policy: 0/2
How to fixPro
4.4 · 0/2

CTrust Signals

Return policy, merchant verifiability, price history, third-party anchors. partial.

!
Return policy machine-readable: 1/3
https://brooklinen.com/returns
How to fixPro
5.1 · 1/3
!
Merchant verifiability: 1/3
How to fixPro
5.2 · 1/3
Price history signals: 2/2
5.3 · 2/2
Third-party trust anchors: 2/2
5.4 · 2/2

DAgent-Native Content

Specs, descriptions, decision support, delivery, stability, absence of manipulation. patchy.

!
Specification completeness: 2/4
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
6.1 · 2/4
!
Conversational product descriptions: 1/2
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
6.2 · 1/2
!
Decision-support metadata: 1/3
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
6.3 · 1/3
!
Delivery date transparency: 1/2
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
6.4 · 1/2
×
Price stability signals: 0/2
sample · https://www.brooklinen.com/products/classic-duvet-cover
How to fixPro
6.5 · 0/2
Absence of manipulation tactics: 2/2
6.6 · 2/2