Movie Structured Data: Complete Implementation Guide
Movie structured data enables you to provide Google with detailed information about films — including cast, director, ratings, release dates, and descriptions. When correctly implemented, this markup can power rich results in Google Search, surfacing your film content with enhanced visual panels that include poster images, aggregate ratings, and key credits. This is essential for film review sites, streaming platforms, cinema listings, and entertainment databases that want to maximise their visibility for movie-related searches.
Why Use Movie Schema?
- Display rich film panels in search results featuring poster images, ratings, cast, and release information.
- Improve click-through rates by presenting key film details — such as genre, duration, and director — directly in the search listing.
- Help Google understand relationships between films, actors, and directors, increasing your chances of appearing in knowledge panel carousels.
- Support voice assistant queries like 'What films has Christopher Nolan directed?' by providing machine-readable filmography data.
- Enhance your content's eligibility for Google's movie carousel and other entertainment-focused search features.
Required Properties
These properties are required by Google for Movie structured data to be eligible for rich results.
| Property | Description |
|---|---|
| name | The title of the film. Use the official release title for the primary market your page targets. |
| image | A URL pointing to the official poster or a representative still from the film. Google recommends images with a 2:3 aspect ratio for movie posters. |
| director | A Person object identifying the film's director. Include the name property at minimum. For multiple directors, use an array. |
| dateCreated | The release date of the film in ISO 8601 format (YYYY-MM-DD). Use the original theatrical release date for the primary market. |
Recommended Properties
Adding these properties improves your chances of appearing in rich results and provides more context to search engines.
| Property | Description |
|---|---|
| actor | An array of Person objects representing the principal cast. Include 3-5 lead actors with their name property for optimal display in rich results. |
| aggregateRating | An AggregateRating object summarising user or critic ratings. Include ratingValue, bestRating, and ratingCount to display star ratings in search. |
| genre | The genre or genres of the film, as a string or array of strings (e.g. 'Drama', 'Science Fiction'). Helps Google categorise the film for genre-specific searches. |
| duration | The runtime of the film in ISO 8601 duration format (e.g. PT148M for 148 minutes). Useful for users comparing films by length. |
| description | A concise synopsis of the film (1-2 paragraphs). Avoid major spoilers. This text may appear in search result snippets. |
JSON-LD Example
Here is a complete Movie structured data example you can use as a starting point. Or use our Movie generator to create one automatically.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Movie",
"name": "The Midnight Clockmaker",
"image": "https://www.examplefilms.co.uk/posters/midnight-clockmaker.jpg",
"description": "A reclusive clockmaker in Victorian London discovers that the timepieces he restores hold fragments of their owners' memories, drawing him into a mystery that spans decades.",
"director": {
"@type": "Person",
"name": "Eleanor Whitfield"
},
"actor": [
{
"@type": "Person",
"name": "James Harrington"
},
{
"@type": "Person",
"name": "Priya Kapoor"
},
{
"@type": "Person",
"name": "David Okonkwo"
}
],
"dateCreated": "2025-11-14",
"genre": [
"Drama",
"Mystery"
],
"duration": "PT127M",
"contentRating": "12A",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.3",
"bestRating": "5",
"ratingCount": 8420
},
"review": {
"@type": "Review",
"author": {
"@type": "Person",
"name": "Marcus Webb"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
},
"reviewBody": "A beautifully crafted period mystery with outstanding performances. Whitfield's direction is assured and the central conceit never feels contrived."
}
}
</script>How to Implement Movie Schema
- 1Add a JSON-LD script block to each individual film page on your site. Each page should contain exactly one Movie object.
- 2Set the name to the official film title and include a high-quality poster image URL in the image property.
- 3Add director and actor properties using Person objects. For well-known individuals, consider adding a sameAs property linking to their official website or social profile.
- 4Include the release date in dateCreated and the runtime in duration using ISO 8601 format.
- 5If your site collects user ratings, add an aggregateRating object with the current average, scale, and total number of ratings.
- 6Validate your markup using Google's Rich Results Test. Check that the poster image loads correctly and that all Person names are spelled accurately.
Common Mistakes to Avoid
- Using a low-resolution or incorrectly cropped poster image — Google recommends high-quality images of at least 160x90 pixels, though larger is always better.
- Omitting the director property, which is one of the key signals Google uses to match your content to film-related queries.
- Providing an aggregateRating that does not reflect genuine user reviews collected on your own site — fabricated or imported ratings violate Google's guidelines.
- Listing every cast member rather than focusing on the principal actors — keep the actor array to the 3-5 most prominent roles for clarity.
- Using inconsistent film titles across structured data, page headings, and metadata, which confuses search engines about canonical naming.
Testing & Validation
Before deploying your Movie structured data, validate it using these tools:
- 1Google Rich Results Test — Paste your page URL or code snippet to check if your structured data is eligible for rich results.
- 2Schema Markup Validator — Validates your JSON-LD syntax against the schema.org specification.
- 3Google Search Console — After deployment, monitor the Enhancements report for any errors or warnings.
Frequently Asked Questions
Can I use Movie structured data for television films or streaming exclusives?
Yes. Movie structured data applies to any feature-length film regardless of distribution method. For television series, use the TVSeries type instead. Short films can also use the Movie type.
Should I include both critic and user ratings in aggregateRating?
The aggregateRating should reflect a single, consistent rating source — typically user ratings collected on your own site. Do not mix critic scores with user scores in the same aggregateRating object. You can include a separate review property for individual critic reviews.
How do I handle films with multiple titles or international release names?
Use the title most relevant to your target audience in the name property. You can add alternate titles using the alternateName property. If you have separate pages for different regions, each page should use the locally appropriate title.
Does Movie structured data guarantee a rich result in Google Search?
No. Structured data makes your content eligible for rich results, but Google determines whether to display them based on content quality, relevance, and other ranking factors. Authoritative film databases and review sites are more likely to receive enhanced treatment.
Can I combine Movie structured data with Review markup on the same page?
Yes, and it is recommended. You can nest a review property within the Movie object or add a separate Review JSON-LD block that references the film. This enables both the film panel and review snippet rich results.
Ready to Generate Your Movie Schema?
Use our free generator to create valid Movie structured data in seconds.
Open Movie Generator