ReviewOS

stacks/bench-review

seo: no schema.org structured data (Person / Review / AggregateRating JSON-LD)

#63
Closed glennmichael123 opened this 10 days ago ·
10 days ago

Problem

Zero JSON-LD or microdata exists in the app or dist. For a review vertical, Person + AggregateRating + Review rich results (star snippets in SERPs) are the single highest-leverage SEO feature — exactly what makes a judge-review result stand out on a judge-name query.

Findings

  • No JSON-LD anywhere in resources/ or dist/.
  • The framework's @structuredData directive exists (@stacksjs/stx seo module) and is unused.

Acceptance criteria

  • Per-judge static pages embed Person + AggregateRating + Review JSON-LD reflecting real review data
  • Markup passes Google's Rich Results test

Split out from the SEO bundle of the 2026-06-10 production-readiness audit. Depends on: #46 (per-judge SSG).

9 days ago

Fixed. dist/judges/1.html carries an application/ld+json block, and the conformance gate has enforced it since: check "indexable pages have valid JSON-LD" parses every indexable page's block rather than just looking for the tag. Person and CivicStructure nodes are emitted per entity by app/Helpers/entitySeo.ts, with @id and url pointing at the canonical URLs.

Sign in to comment on this issue.