---
title: "Movie Schema"
description: "Add Schema.org Movie structured data to your Sanity-powered site with sanity-plugin-seofields. Power film knowledge panels with title, director, duration, and content rating."
canonical: https://sanity-plugin-seofields.thehardik.in/docs/schema-org/movie
---

# Movie

The Movie schema type describes a feature film, short, or made-for-TV motion picture. It powers Google&apos;s movie carousel, knowledge panel, and the &quot;showtimes&quot; experience when paired with a screening event.

## About Movie

Use Movie markup on dedicated film pages — review sites, festival programmes, streaming catalogue entries, and cinema websites. The duration field must be ISO 8601 (e.g. PT2H10M) for Google to parse it correctly. To enrich the entry further, add a trailer with the  VideoObject  type and viewer ratings via  AggregateRating .

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | Yes | The title of the movie. |
| `description` | text | No | A plot summary or synopsis of the movie. |
| `image` | url \| ImageObject | No | Poster or still from the movie. |
| `dateCreated` | date | No | The release date of the movie. |
| `director` | url \| Person | No | The director of the movie. |
| `duration` | string | No | ISO 8601 duration, e.g. "PT2H30M" for 2h 30m. |
| `contentRating` | string | No | Rating board classification, e.g. "PG-13", "R", "U/A". |

## Plugin Registration

```typescript
import { defineConfig } from 'sanity'
import { schemaOrgMoviePlugin } from 'sanity-plugin-seofields/schema'

export default defineConfig({
  plugins: [
    schemaOrgMoviePlugin(),
  ],
})
```

## Schema Usage

Add the `schemaOrgMovie` field to any document schema:

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

export default defineType({
  name: 'movie',
  title: 'Movie',
  type: 'document',
  fields: [
    defineField({
      name: 'schemaOrgMovie',
      title: 'Movie Schema',
      type: 'schemaOrgMovie',
    }),
  ],
})
```

## GROQ Query

```javascript
*[_type == "movie"][0]{
  schemaOrgMovie {
    name,
    description,
    image,
    dateCreated,
    director,
    duration,
    contentRating
  }
}
```

## Next.js Component

```tsx
import { MovieSchema } from 'sanity-plugin-seofields/schema/next'

export default function Page({ data }) {
  return <MovieSchema data={data.schemaOrgMovie} />
}
```

## JSON-LD Output

```json
{
  "@context": "https://schema.org",
  "@type": "Movie",
  "name": "Inception",
  "description": "A thief who steals corporate secrets through dream-sharing technology is given the inverse task of planting an idea.",
  "image": "https://example.com/posters/inception.jpg",
  "dateCreated": "2010-07-16",
  "director": {
    "@type": "Person",
    "name": "Christopher Nolan"
  },
  "actor": [
    { "@type": "Person", "name": "Leonardo DiCaprio" },
    { "@type": "Person", "name": "Joseph Gordon-Levitt" },
    { "@type": "Person", "name": "Elliot Page" }
  ],
  "duration": "PT2H28M",
  "contentRating": "PG-13"
}
```
