Aisle Max · Remediation packet
Every fix this scan flagged, in one zip: JSON-LD snippets, well-known files, a head-injection block, and per-check narrative for the platform changes that need a human.
Discoverability
C
10 / 20
Machine Readability
D
7 / 20
Transactability
E
4 / 20
Agent Posture
D
7 / 15
Trust Signals
E
3 / 10
Agent-Native Content
E
3 / 15
Narrative
Hims scores 34 out of 100 and lands in the Invisible band, which is the correct verdict for a site that welcomes AI crawlers in robots.txt and then slams the door on them at the edge. The contradiction is the entire story. The robots file explicitly allows GPTBot, ClaudeBot, PerplexityBot, Google-Extended, anthropic-ai, Applebot-Extended, CCBot, Bytespider, and Amazonbot, full marks on intent. Then DataDome returns 403 on 10 of 30 fetches, including the homepage, /cart, /checkout, /terms, /llms.txt, and /.well-known/ai-plugin.json. A 53 percent block rate against a polite scanner means agents acting on behalf of real customers are being turned away at roughly the same clip. The welcome mat is real, but it is laid in front of a locked door.
The most expensive failure is transactability. Checks 3.1, 3.2, and 3.3 all score zero because /cart and /checkout returned 403. That is fourteen points evaporated not because Hims lacks a checkout, but because the bot wall makes it invisible to anything programmatic. Combined with check 4.1 (zero of six on bot detection, DataDome flagged on six product and guide URLs) the picture is unambiguous: this is a site optimized to defeat scrapers, and modern shopping agents look like scrapers.
The second large hole is structured data. Check 1.2 scores zero of six with no Product or Offer schema across ten sampled URLs, and check 2.2 scores zero of six on product attributes. Check 6.5 (price stability) and check 6.4 (delivery dates) both register zero. The sample is dominated by /guides, /drugs/info, and /conditions pages, which is editorial content rather than PDPs, but that itself is the problem. When an agent crawls hims.com looking for a buyable SKU for tadalafil, it finds a clinical explainer with prose like "for less than $2/day" embedded in rendered React, no schema, no Offer node, no validity window, no shipping ETA. Check 2.1 confirms it: only 6 of 10 raw HTML responses contain price text, and 4 of 10 require JavaScript rendering to surface even a dollar sign.
Trust signals compound the problem. Check 5.1 returns zero because there is no reachable /returns page and no homepage link to one. Check 5.4 returns zero because Trustpilot, BBB, Yotpo, Bazaarvoice, and every other third-party anchor checked came up empty. Check 4.4 returns zero because the terms and privacy pages were themselves 403'd, so no agent policy could be classified. A merchant cannot publish trust signals that crawlers cannot read.
The bright spots are real but narrow. Check 6.2 scores a perfect 2 of 2: every sampled page has high-quality conversational explanation of the underlying condition or drug, the kind of prose that LLMs love to cite. Check 3.5 detects a Shopify cart endpoint pattern, meaning the commerce plumbing exists. Check 1.1 is full marks on stated crawler policy. Hims has built the content and the rails. The DataDome configuration is what makes both inaccessible.
The single highest-leverage move is to allowlist the same AI user agents at the bot-management layer that are already allowed in robots.txt, then publish Product and Offer schema on the actual subscription PDPs, not just the editorial library.
CDiscoverability
Robots, sitemap, agent endpoints. partial.
✓
AI crawler posture: 6/6
https://hims.com/robots.txt
×
Structured product data coverage: 0/6
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
!
Sitemap quality: 2/4
https://www.hims.com/sitemap.xml
How to fixPro
!
Agent-specific endpoints: 2/4
https://hims.com/.well-known/ai-plugin.json
How to fixPro
DMachine Readability
Schema coverage, raw-HTML price, inventory, variants. gappy.
!
Price in raw HTML: 4/8
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
×
Product attributes structured: 0/6
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
!
Inventory signals: 2/5
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
✓
Variant handling: 1/1
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
ETransactability
Checkout flow, guest, transparency, payment rails, cart API. broken.
×
Checkout flow structure: 0/6
How to fixPro
×
Guest checkout availability: 0/4
How to fixPro
×
Price transparency signals: 0/4
How to fixPro
!
Machine-native payment rails: 1/3
How to fixPro
✓
Cart API accessibility: 3/3
DAgent Posture
Bot detection, CAPTCHA, rate limiting, stated agent policy. gappy.
×
Bot detection aggressiveness: 0/6
How to fixPro
✓
CAPTCHA prevalence: 4/4
✓
Rate limiting posture: 3/3
×
Stated agent policy: 0/2
How to fixPro
ETrust Signals
Return policy, merchant verifiability, price history, third-party anchors. broken.
×
Return policy machine-readable: 0/3
How to fixPro
!
Merchant verifiability: 1/3
How to fixPro
✓
Price history signals: 2/2
×
Third-party trust anchors: 0/2
How to fixPro
EAgent-Native Content
Specs, descriptions, decision support, delivery, stability, absence of manipulation. broken.
×
Specification completeness: 0/4
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
✓
Conversational product descriptions: 2/2
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
!
Decision-support metadata: 1/3
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
×
Delivery date transparency: 0/2
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
×
Price stability signals: 0/2
sample · https://www.hims.com/guides/how-to-get-a-hard-on-after-65
How to fixPro
×
Absence of manipulation tactics: 0/2
How to fixPro