---
title: "Review Schema"
description: "Add Review structured data to Sanity documents — describe individual review ratings and author info with JSON-LD for eligible rich results and clearer entity context."
canonical: https://sanity-plugin-seofields.thehardik.in/docs/schema-org/review
---

# Review

Add Review structured data to your Sanity-powered site. Enable star rating snippets and review rich results in Google search.

## About Review

Review schema adds individual review data, enabling star snippets in Google results. Marking up reviews with structured data helps search engines display ratings directly in search results, improving click-through rates and user trust.

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `reviewRating.ratingValue` | number | No | The numeric rating given in the review. |
| `author.name` | string | No | The name of the person who wrote the review. |
| `reviewBody` | string | No | The full text content of the review. |
| `itemReviewed.name` | string | No | The name of the item being reviewed. |
| `itemReviewed.url` | string | No | URL of the item being reviewed. |
| `publisher` | string \| object | No | The publisher of the review — a URL string or an Organization/Person object. |

## Plugin Registration

```typescript
import { defineConfig } from "sanity";
import { schemaOrgReviewPlugin } from "sanity-plugin-seofields/schema";

export default defineConfig({
  // ... your project config
  plugins: [
    schemaOrgReviewPlugin(),
  ],
});
```

## Schema Usage

Add the `schemaOrgReview` field to any document schema:

```typescript
import { defineField, defineType } from 'sanity'

export default defineType({
  name: 'page',
  title: 'Page',
  type: 'document',
  fields: [
    // ... your other fields
    defineField({
      name: 'schemaOrgReview',
      title: 'Review Schema',
      type: 'schemaOrgReview',
    }),
  ],
})
```

## GROQ Query

```javascript
*[_type == "yourDocument"][0]{
  schemaOrgReview {
    reviewRating {
      ratingValue
    },
    author,
    reviewBody,
    itemReviewed {
      name,
      url
    },
    publisher
  }
}
```

## Next.js Component

```tsx
import { ReviewSchema } from "sanity-plugin-seofields/schema/next";

export default function Layout({ children }: { children: React.ReactNode }) {
  // Fetch your review data from Sanity
  const review = await sanityClient.fetch(query);

  return (
    <html lang="en">
      <body>
        <ReviewSchema data={review.review} />
        {children}
      </body>
    </html>
  );
}
```

## JSON-LD Output

```json
{
  "@context": "https://schema.org",
  "@type": "Review",
  "reviewRating": {
    "@type": "Rating",
    "ratingValue": "5"
  },
  "author": {
    "@type": "Person",
    "name": "Jane Doe"
  },
  "reviewBody": "Excellent product! Highly recommend for anyone looking for quality.",
  "itemReviewed": {
    "@type": "Thing",
    "name": "Wireless Headphones",
    "url": "https://example.com/products/headphones"
  },
  "publisher": {
    "@type": "Organization",
    "name": "TechReviews.com"
  }
}
```
