Headless
CLI registryTestimonial Schema
Emits individual schema.org Review nodes from studio testimonials. Headless - no AggregateRating by design.
Preview → install → use
01
Preview
npx shadcn@latest add @atroui/testimonial-schemaHeadless
TestimonialSchema - Review JSON-LD (no AggregateRating)
Emits individual Review nodes from studio testimonials. Intentionally skips AggregateRating (spam risk for self-published stars).
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Alex R.",
"jobTitle": "Founder",
"worksFor": {
"@type": "Organization",
"name": "Dev tools startup"
}
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Koustav shipped what would have taken me two months in a week. I talked to the person building i…",
"itemReviewed": {
"@type": "ProfessionalService",
"name": "Makershot"
}
},
{
"@type": "Review",
"author": {
"@type": "Person",
"name": "Priya M.",
"jobTitle": "Head of Product",
"worksFor": {
"@type": "Organization",
"name": "Legal tech"
}
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "The AI feature actually fits our workflow - not a chatbot bolted on the side. Our ops team uses …",
"itemReviewed": {
"@type": "ProfessionalService",
"name": "Makershot"
}
}
]
}Full graph is injected on this page - sample above shows the shape.
Source lands in your repo. Setup: Installation · Registry catalog.
02
Usage
Place on pages where reviews should be eligible for rich results. Skips AggregateRating to avoid self-published star spam signals.
03
API reference
| Prop | Type | Default | Description |
|---|---|---|---|
| pageUrl | string | site URL | Canonical URL for itemReviewed. |
Testimonial Schema