Movie Schema

How to implement schema.org/Movie markup for Google's movie carousel — the required vs. recommended properties, the ItemList wrapper the carousel actually needs, why the carousel is mobile-only with no desktop equivalent, what happened to the separate Critic Review layer that was deprecated, and who should actually bother implementing it.

First published: Jul 1, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #29 in Structured Data#59 in On-Page#267 in Technical SEO#360 on the site

Movie schema (schema.org/Movie) is structured data that powers a real, live Google feature — the movie carousel — but that carousel is mobile-only, with no desktop equivalent. Google requires just image and name, and recommends aggregateRating, dateCreated, director, and review; the director and aggregateRating are what make a carousel entry look like a movie rather than a generic page. One catch most guides skip: a standalone Movie object isn't the carousel by itself — Google combines it with ItemList markup on a summary page or an all-in-one page to make the carousel eligible. The confusion I most want to clear up: a separate 'Critic Review' ratings layer (shared with books, TV, and local businesses) was deprecated in 2025, but the movie carousel itself was not — and Google explicitly said the old Critic Review markup is harmless to leave in place, only the display was removed, no penalty. So Movie schema is not deprecated. It's just narrower and less prominent than Recipe or VideoObject, and worth it mainly for film review sites, streaming movie pages, and entertainment databases.

TL;DR — schema.orgSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor./Movie markup (usually JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal.) makes a film page eligible for Google’s movie carousel — but that carousel is mobile-only, with no desktop rich result at all. Google’s required properties are just image and name; recommended are aggregateRating, dateCreated, director, and review — and it’s director + aggregateRating that make an entry read as a movie rather than a generic CreativeWork. A standalone Movie object isn’t the carousel on its own, either — Google pairs it with ItemList markup (a summary page linking to detail pages, or one all-in-one page) to make the carousel eligible. The biggest myth to kill: Movie schemaMovie schema (schema.org/Movie) powers Google's mobile-only movie carousel — title, director, image, and ratings on mobile Search. There's no desktop equivalent, the markup needs an ItemList wrapper to become carousel-eligible, and the separate 'Critic Review' ratings layer was deprecated, though Google says leaving that markup in place is harmless. is not deprecated. A separate “Critic Review” ratings layer (shared with books, TV, and local businesses) was deprecated in 2025 — but the carousel survived, and Google explicitly said the old Critic Review markupReview schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. is harmless to leave in place; only the display was removed, no penalty. Valid markup only earns eligibility; Google still decides whether to show the carousel. It’s a genuinely live feature, just a narrow one — worth it mainly for film review sites, streaming movie pages, and entertainment databases.

Evidence for this claim Schema.org Movie describes a movie and remains valid vocabulary independently of search-engine feature support. Scope: Schema.org Movie vocabulary. Confidence: high · Verified: Schema.org: Movie Evidence for this claim Google documents Movie as a supported item type within its carousel feature, subject to carousel requirements and no display guarantee. Scope: Current Google movie carousel eligibility rather than a universal standalone Movie card. Confidence: high · Verified: Google Search Central: Carousel structured data

Most guides list Movie among “supported types” and move on, which buries the single fact you most need to plan around: the feature Movie schema powers, the movie carousel, is mobile-only. Google’s docs say it directly — “The movie carousel is only available on mobile devices.” There is no desktop equivalent, no desktop card, nothing. If you build and test expecting desktop parity, you’ll conclude the markup “isn’t working” when it’s doing exactly what it can.

The carousel itself is a browsable row of movie entries on mobile Search — title, director, poster image, ratings — that a user can swipe through. It’s a real, listed Google feature (Google’s own search-gallery page describes “Movie carousels with director information”), but it’s narrower and less prominent than Recipe or VideoObject. Set expectations accordingly.

One more scoping fact most guides skip: a standalone Movie object, on its own, is not the documented carousel implementation. Google’s Carousel structured data guide lists Movie as one of the types you combine with ItemList markup to become eligible for the host carouselA carousel rich result (Google calls it a \"host carousel\") is a horizontally scrollable row of cards, all from one site, built by wrapping two or more same-type items in an ItemList with position values. Only a short, shifting list of schema.org types qualifies — and a second, geographically limited beta carousel system now runs alongside the original.. The Movie properties below are what populate each carousel entry — the surrounding ItemList is what tells Google “this page is a list of movies” in the first place. More on the two ways to structure that below.

schema.org/Movie is a child of CreativeWork, so it inherits a lot of general properties — but Google’s requirements for the carousel are lean:

PropertyStatusWhat it’s for
nameRequiredThe movie title
imageRequiredPoster or still — high resolution, close to a 6:9 aspect ratio
directorRecommendedThe director’s name (Person)
aggregateRatingRecommendedAverage score + rating count — follows the Review snippet guidelines
dateCreatedRecommendedRelease date
reviewRecommendedIndividual review(s) — also follows the Review snippet guidelines

The two required fields (image, name) get you eligible; the recommended ones are what make an entry actually look and behave like a movie carousel card. director and aggregateRating are the differentiators — they’re what distinguish a movie entry from a generic CreativeWork, and they’re worth treating as effectively mandatory even though Google files them under “recommended.” A film page with just name and image is thin; one with director, release date, and a genuine aggregate rating is a real carousel candidate.

Two things the table doesn’t fully capture. First, the image has real shape requirements: Google’s docs say images “must have a high resolution and have a 6:9 aspect ratio,” and while Google can crop images that are close, ones that “largely deviate from this ratio aren’t eligible” — a random production still cropped to a square won’t qualify. Second, aggregateRating and review aren’t a free pass on format: Google explicitly points both back to the same Review snippet requirements used elsewhere on the site, so a rating that wouldn’t pass muster as a standalone review snippet doesn’t get a break just because it’s nested inside Movie.

Here’s the confusion I most want to clear up, because it gets mangled constantly. There were two distinct things in Movie’s orbit:

  1. The movie carousel — the mobile-only browsable feature. Still live.
  2. A separate Critic Review ratings layer — a way to mark up professional critic reviews and scores, shared across movies, TV, books, and local businesses. This was deprecated in 2025.

Google’s stated reasoning, per Search Engine Roundtable’s coverage of Google’s own announcement, was that after testing critic review markup with a group of site owners it foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. it wasn’t useful for the ecosystem at scale (relayed, paraphrased below in Quotes — I’m not quoting it as if fetched directly from a primary Google post). Two things matter about how Google handled the retirement:

  • It removed only the display, not a penalty. Google’s relayed guidance was that the deprecation doesn’t affect other review features and that you can leave the markup on your site so search engines can still understand the page. There is no downside to existing Critic Review markup — it simply stops surfacing.
  • It did not touch the movie carousel. The carousel is a separate feature and continued to work. Conflating the two into “Movie schema is dead” is wrong.

There’s a useful pattern here without over-editorializing: Google trimmed several narrow CreativeWork features across 2025 (Critic Review, and around the same window the Course Info type saw its dedicated doc redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. away). The related Critic Review doc URL now redirects to the general changelog — the same redirect pattern you see for retired features. But Movie’s core carousel survived while its adjacent review layer didn’t. Keep the two mental models separate: the carousel lives; the Critic Review display does not; existing Critic Review markup is harmless.

The two ways to build the surrounding ItemList

Since a lone Movie object isn’t the carousel by itself, you need ItemList structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. around it. Google documents two page patterns, and their ListItem payloads are genuinely different — mixing them up is an easy way to ship markup that validates but doesn’t carousel:

PatternWhat the page looks likeListItem payload
Summary page + detail pagesA hub page briefly covers each movie and links out to a dedicated page per filmJust position and url — the full Movie fields live on the linked detail page
All-in-one pageA single page contains every movie’s full informationposition, item.name, item.url, plus the complete Movie fields inline

Whichever pattern you use, Google requires that every page you link to from the ItemList — the detail pages, in the first pattern — carries its own valid, type-specific structured data. A missing or broken Movie block on a linked detail page breaks carousel candidacy for that one entry, not the whole list.

Who should implement this

Because the carousel is narrow and mobile-only, this isn’t a universal “add-it-everywhere” recommendation. It earns its keep on:

  • Film review sites — where director + genuine aggregate ratings are already the content.
  • Streaming services’ movie detail pages — the per-title landing pages.
  • Entertainment databases (IMDb-style) — where each film has a structured record.

If your site mentions a movie in passing inside an article, you don’t need Movie schema on that page — that’s an Article (or a general CreativeWork) with maybe a mentions/about link to the film, not a Movie page. Movie schema is for pages whose subject is a specific film.

Basic JSON-LD example

A minimal-but-real Movie entry — the two required fields plus the differentiating recommended ones:

{
  "@context": "https://schema.org",
  "@type": "Movie",
  "name": "The Midnight Archive",
  "image": "https://example.com/img/midnight-archive-poster.jpg",
  "dateCreated": "2025-10-17",
  "director": {
    "@type": "Person",
    "name": "Lena Ortiz"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.3",
    "ratingCount": "1284"
  }
}

This snippet is the Movie payload itself — for the carousel, it still needs to sit inside ItemList markup on either a summary page or an all-in-one page (see the two-pattern table above). Validate the finished markup with the Rich ResultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. Test, and remember that a clean pass only means eligible — Google still decides whether to surface the carousel, and it only ever surfaces on mobile. For where Movie sits in the wider structured-data picture, see the broader Schema MarkupSchema markup is code that uses the schema.org vocabulary to label what your content means so search engines can understand it and show rich results. It's most often written in JSON-LD, and it's not a direct ranking factor. and Structured Data hubs this article nests under; for the review side of things, the Review schemaReview schema (schema.org/Review) is structured data for a single critic's or user's evaluation of one specific thing — one author, one itemReviewed, one reviewRating — distinct from AggregateRating, which summarizes many reviews into an average. and AggregateRating schemaAggregateRating schema (schema.org/AggregateRating) is structured data that represents the average of many ratings or reviews of an item, usually nested inside a parent type (or standalone with itemReviewed) to power star-rating rich snippets in search results. siblings go deeper on the ratings themselves.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.