Agentic Commerce Readiness Audit — Beauty Edition 1

Hairstory

https://www.hairstory.com
Audit date: 2026-04-18
Sampling: 3 PDPs / 5 titles / sitemap + robots.txt + homepage
Evidence: source-level httpx fetch
5/9
score
Early Stage
Some infrastructure in place; most agent-readiness criteria still need work.
1. Crawlability
2/3
2. Structured data
2/4
3. Content quality
1/2
C1
AI crawler access
All 8 tested AI bots allowed in robots.txt.
C2
PDP server-side render
Only 0/3 sampled PDPs render all core elements in raw HTML.
C3
Sitemap freshness
Sitemap has 259 URLs with fresh <lastmod> timestamps.
C4
Product schema
3/3 PDPs ship valid Product JSON-LD with required fields.
C5
AggregateRating
0/3 PDPs ship Review or AggregateRating schema.
C6
FAQPage / HowTo schema
FAQPage/HowTo schema found on 2 checked page(s).
C7
Organization schema
Organization schema missing: name, url, sameAs.
C8
PDP titles
4/5 sampled titles include use-case or differentiator cues.
C9
Description depth
2/5 descriptions answer buyer-context questions.

What needs fixing

The top 9-criterion grid shows all checks. Detail below covers only items that need action.

C2 PDP server-side render Fail
Checked
3 sampled PDPs via raw HTML fetch
Found
3 of 3 PDPs don't render all core fields in raw HTML. Missing: title. Examples: ws-20oz-new-wash-rich-case-6-pouch, ws-pro-affiliate-starter-kit.
Fix
Audit the product-template rendering path to confirm title/price/description appear in raw HTML without JS. Agents cannot execute JavaScript on merchant sites.
C5 AggregateRating Fail
Checked
3 sampled PDPs — Review / AggregateRating schema
Found
0/3 PDPs expose rating data as JSON-LD with real ratingValue and reviewCount. Others likely display reviews visually but don't emit structured data — typically a widget toggle that hasn't been enabled.
Fix
Enable review-schema output in your review plugin (Yotpo, Judge.me, Okendo, etc.) — often a single setting. See schema.org/AggregateRating.
C7 Organization schema Fail
Checked
Homepage for Organization JSON-LD
Found
Organization schema missing or incomplete. Missing: name, url, sameAs. sameAs should link to at least 2 social profiles for entity recognition.
Fix
Add (or extend) Organization JSON-LD in the site-wide <head>: name, url, logo, and a sameAs array of verified social-profile URLs. Low risk, high leverage for AI entity recognition.
C9 Description depth Fail
Checked
5 sampled PDPs — full description text
Found
2/5 descriptions cover 3+ of: target skin/fit type, comparison to similar products, ingredient/material rationale, sizing reasoning, usage guidance, counter-indications. Most are spec-heavy with limited buyer context.
Caveat
Evaluation via rendered-response text. Descriptions may include buyer-context content in expandable sections or tabs that weren't surfaced.
Fix
Add a structured "Why you'll love it" block to every PDP — who it's for, how it compares, when to use, what it isn't for. At catalog scale this is a content pipeline (LLM-assisted generation from existing spec sheets is plausible).
View complete check log (all 9 criteria)
C1 AI crawler access. robots.txt allows all 8 tested bots (GPTBot / PerplexityBot / ClaudeBot / anthropic-ai / Google-Extended / Amazonbot / CCBot / FacebookBot).
C2 PDP server-side render. 0/3 sampled PDPs return complete product data without JS. Others missing one or more of title/price/description.
C3 Sitemap freshness. Valid sitemap with 259 recently-updated URLs (most recent: 2026-04-08T15:02:17-04:00).
C4 Product schema. 3/3 PDPs have complete Product JSON-LD (name, image, brand, offers, identifier).
C5 AggregateRating. 0/3 PDPs carry rating schema. Reviews likely displayed visually but not exposed as structured data on others.
C6 FAQPage / HowTo schema. Found on 2 page(s) — homepage or help/how-to surface.
C7 Organization schema. Missing name, url, sameAs on homepage.
C8 PDP titles. 4/5 sampled titles include use-case specifics (fabric, fit, target audience).
C9 PDP descriptions. 2/5 sampled descriptions cover 3+ buyer-context cues. Others are spec-heavy with limited context.

Fix priority

Ranked by leverage on agent discoverability, highest first.

  1. Enable AggregateRating output in your review plugin

    Usually a single setting in Yotpo / Judge.me / Okendo that exposes existing review data as JSON-LD. Reviews already live on the site — this just makes them machine-readable.

  2. Add complete Organization JSON-LD with sameAs

    10-line site-wide <head> addition — name, url, logo, and links to verified social profiles. Low risk, foundational for AI entity recognition.

  3. Expand PDP descriptions with buyer-context cues

    Who it's for, how it compares, when to use, what it isn't. The largest content project but touches every product, so compounds across the catalog. LLM-assisted generation from existing spec sheets is viable.

Implementing the top fixes would move this brand materially upward on this framework. Final score depends on implementation quality and broader content improvements.

The real story

Hairstory is around the category median — not yet agent-ready, but not structurally behind.

A 5/9 score sits in the middle of premium DTC beauty. Implementing 2-3 targeted fixes would lift this brand into the top tier.