Hairstory
https://www.hairstory.comrobots.txt.<lastmod> timestamps.name, url, sameAs.What needs fixing
The top 9-criterion grid shows all checks. Detail below covers only items that need action.
- 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.
- Checked
- 3 sampled PDPs —
Review/AggregateRatingschema - Found
- 0/3 PDPs expose rating data as JSON-LD with real
ratingValueandreviewCount. 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.
- Checked
- Homepage for
OrganizationJSON-LD - Found
- Organization schema missing or incomplete. Missing:
name,url,sameAs.sameAsshould link to at least 2 social profiles for entity recognition. - Fix
- Add (or extend)
OrganizationJSON-LD in the site-wide<head>:name,url,logo, and asameAsarray of verified social-profile URLs. Low risk, high leverage for AI entity recognition.
- 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)
robots.txt allows all 8 tested bots (GPTBot / PerplexityBot / ClaudeBot / anthropic-ai / Google-Extended / Amazonbot / CCBot / FacebookBot).
Product JSON-LD (name, image, brand, offers, identifier).
name, url, sameAs on homepage.
Fix priority
Ranked by leverage on agent discoverability, highest first.
-
Enable
AggregateRatingoutput in your review pluginUsually 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.
-
Add complete
OrganizationJSON-LD withsameAs10-line site-wide
<head>addition — name, url, logo, and links to verified social profiles. Low risk, foundational for AI entity recognition. -
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.