Schema.org markup for video
Minimal markup example
Below is a list of properties that are required for indexing videos.
Property | Type | Description |
---|---|---|
url | URL | Video link. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video duration. |
isFamilyFriendly | Boolean | Determines whether children can watch the video.
|
thumbnail | ImageObject | Preview image description. |
uploadDate | Date | The video upload date in the ISO 8601 format. |
Property | Type | Description |
---|---|---|
url | URL | Video link. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video duration. |
isFamilyFriendly | Boolean | Determines whether children can watch the video.
|
thumbnail | ImageObject | Preview image description. |
uploadDate | Date | The video upload date in the ISO 8601 format. |
Example of a minimal video description
<div itemscope itemtype="http://schema.org/VideoObject" >
<!--Specify the object type-->
<a itemprop="url" href="https://www.mysite.com/view/306/">
<h1 itemprop="name">What is Schema.org</h1></a>
<p itemprop="description">Schema.org is a semantic markup standard that was set by the search engines Google, Bing, and Yahoo! in the summer of 2011. The purpose of semantic markup is to make the internet more understandable and structured and to make it easier for search engines and special programs to extract and process information for its convenient presentation in search results.</p>
<meta itemprop="duration" content="PT6M58S">
<meta itemprop="isFamilyFriendly" content="true">
<p>Upload date:<span itemprop="uploadDate">2013-06-05T00:00:00</span></p>
<span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<img itemprop="contentUrl" src="https://www.mysite.com/images/preview/img1.jpg">
<meta itemprop="width" content="250">
<meta itemprop="height" content="120">
</span>
</div>
Add a player
To add your player to the video search results, inform the Yandex robot about it:
- Place the player on a separate page.
- Add the page link in the
embedUrl
element.<link itemprop="embedUrl" href="https://www.mysite.com/iframe/yacinema/123/">
- Let us know about the player via the feedback form. We'll test the player and inform you about the results.
Additional markup
The fields listed below are optional, but you can use them to index your videos better and to show them to users that make relevant queries.
Video format
The following fields are supported:
height
: Video clip height.width
: Video clip width.bitrate
: Maximum bitrate in kilobits per second (kbps).videoQuality
: Video encoding quality.Supported values:
low
: Low quality (resolution less than 360×640, bitrate lower than 717 kbps).medium
: Average quality (resolution from 360×640 to 720×1280, bitrate from 717 kbps to 1 Mbps).HD
: HD quality (resolution from 720×1280 to 1080×1920, bitrate 1–2 Mbps).full HD
: 1080p quality (resolution greater than 1080×1920, bitrate higher than 2 Mbps).
contentSize
: Video size in kilobytes.
Video categories
To describe movies, use the Movie schema.
Supported features:
video
(required field): A description of the main video content.Nested fields are filled in the same way as plain video fields.
alternativeHeadline
: The movie name in its original language.dateReleased
: The movie release date.part
: The part number (for movies that have several parts, for example, Harry Potter and the Deathly Hallows: Part 1).subtitleLanguage
: Subtitle language.The language code is specified in the IETF BCP 47 format (for example, en).
Markup example:
|||UNTRANSLATED_CONTENT_START|||<div itemscope itemtype="http://schema.org/Movie">
<span>
<a itemprop="director" href="/name/23330/">Лана Вачовски</a>,
<a itemprop="director" href="/name/26439/">Том Тыквер</a>.
</span>
<span>
<a itemprop="producer" href="/name/26437/">Штефан Арндт</a>,
<a itemprop="producer" href="/name/31351/">Грант Хилл</a>,
<a href="/film/464484/cast/#producer" >и другие</a>.
</span>
<span>
<a itemprop="musicBy" href="/name/312865/">Райнхольд Хайль</a>,
<a itemprop="musicBy" href="/name/26439/">Том Тыквер</a>.
</span>
<span>
<a itemprop="genre" href="/level/10/m_act%5Bgenre%5D/8/">драма</a>,
<a itemprop="genre" href="/level/10/m_act%5Bgenre%5D/17/">детектив</a>,
<a href="/film/464484/keywords/">и другие</a>.
</span>
<span class="title">В главных ролях:</span>
<div>
<a itemprop="actor" href="/name/9144/">Том Хэнкс</a>
<a itemprop="actor" href="/name/1179/">Холли Берри</a>
<a itemprop="actor" href="/name/38704/">Джим Броудбент</a>
</div>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<!|||UNTRANSLATED_CONTENT_END|||-- Video description. Common to all videos -->
<link itemprop="url" href="https://www.kinopoisk.ru/film/464484/">
<span itemprop="description">Six stories. Five closely intertwined reincarnations that take place at different times…</span>
<meta itemprop="contentRating" content="MPAA R">
<meta itemprop="duration" content="PT2H52M04S">
<meta itemprop="dateReleased" content="2013-11-08T00:00:00">
<meta itemprop="uploadDate" content="2014-11-08T00:00:00">
<meta itemprop="dateCreated" content="2013-09-09T00:00:00">
<meta itemprop="inLanguage" content="ru">
<meta itemprop="isFamilyFriendly" content="true">
<meta itemprop="productionCompany" content="Warner Bros">
<div>
<h1 itemprop="name">Cloud Atlas</h1>
<span itemprop="alternativeHeadline">Cloud Atlas</span>
<img src="https://st.kinopoisk.ru/images/film/464484.jpg" alt="Cloud Atlas" itemprop="thumbnail"/>
</div>
<!-- Subtitle language -->
<meta itemprop="subtitleLanguage" content="ru">
</div>
To describe series, use the TVEpisode schema.
Supported features:
video
(required field): A description of the main video content.Nested fields are filled in the same way as plain video fields.
episodeNumber
(required field): Episode number.alternativeHeadline
: The name in the language of production.dateReleased
: Air date.partOfSeason
: Season number.subtitleLanguage
: Subtitle language.The language code is specified in the IETF BCP 47 format (for example, en).
Markup example:
<div itemscope itemtype="http://schema.org/TVEpisode">
<meta itemprop="alternativeHeadline" content="The best series">
<meta itemprop="dateReleased" content="2008-12-05T00:00:00">
<meta itemprop="episodeNumber" content="133">
<meta itemprop="subtitleLanguage" content="en">
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
...
</div>
</div>
To describe music videos, use the MusicVideoObject schema.
Supported features:
video
(required field): A description of the main video content.Nested fields are filled in the same way as plain video fields.
trackName
(required field): Track name.ovs:album
: Album name.
Markup example:
<div itemscope itemtype="http://schema.org/MusicVideoObject">
<meta itemprop="trackName" content="Welcome to My World">
<meta itemprop="album" content="Delta Machine">
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
...
</div>
</div>
To describe a TV show, use the TVSeries schema.
Supported features:
video
(required field): A description of the main video content.Nested fields are filled in the same way as plain video fields.
dateReleased
(required field): Air date.alternativeHeadline
: The name in the language of production.partOfSeason
: Season number.episodeNumber
: Episode number.
Markup example:
<div itemscope itemtype="http://schema.org/TVSeries">
<meta itemprop="alternativeHeadline" content="SuperShow">
<meta itemprop="dateReleased" content="2012-02-03T00:00:00">
<meta itemprop="partOfSeason" content="2">
<meta itemprop="episodeNumber" content="3">
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
...
</div>
</div>
To describe broadcasts, use the BroadcastEvent schema.
Supported features:
video
(required field): A description of the main video content.Nested fields are filled in the same way as plain video fields.
dateStarted
(required field): Broadcast start date.dateEnded
: Broadcast end date.If the video is available at the same address after the broadcast ends, don't fill out the broadcast end date.
Markup example:
<div itemscope itemtype="http://schema.org/BroadcastEvent">
Broadcast start date<span itemprop="dateStarted">2013-02-01T00:00:00</span> Broadcast end date<span itemprop="dateEnded">2013-02-12T00:00:00</span>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
...
</div>
</div>
Player parameters
Supported features:
embedUrl
: An iframe link to insert the video player.allowEmbed
: Means that the video can be shown on the Yandex search results page.By default, videos can be played directly in the search results.
playerType
: Available codecs for this video format.If multiple codecs are available, specify them separated by commas.
availablePlatform
: The platform where this video can be played.Desktop: Means that the main personal computer platforms are supported (listed below)
Windows
Linux
OSX
Mobile: Means that the main mobile platforms are supported (listed below)
iOS
Android
WindowsPhone
WindowsMobile
Symbian
Bada
BlackBerry
MeeGo
Full list of supported values
Date format
Dates are specified in the ISO 8601 format.
Supported features:
dateCreated
: The date when the video was created.datePublished
: The date when the video was first published.dateModified
: The date when video information was changed on the site.expires
: The date after which the video won't be available.For example, it's used if the rights to the video have a time limit.
Markup example:
<meta itemprop="dateCreated" content="2012-11-08">
<meta itemprop="datePublished" content="2013-06-05">
<meta itemprop="dateModified" content="2013-07-22">
Statistics
Supported features:
interactionCount
: Counters for specific types of user interaction with the video.You can specify the following counter types in the
Counter Name:number
format:UserComments
: The number of comments.UserLikes
: The number of users who liked the video.UserDislikes
: The number of users who disliked the video.UserViewsLastMonth
: The number of views over the past month.UserViewsLastWeek
: The number of views in the past week.UserViewsLastDay
: The number of views over the past day.UserViews
: The total number of views.
aggregateRating
: The overall rating based on aggregated user ratings of the video.You can set the following parameters for the aggregated rating:
worstRating
: The lowest rating value (1 by default).bestRating
: The top rating value (5 by default).ratingValue
: The rating value.ratingCount
: The number of ratings on which the rating is based.
Markup example:
<meta itemprop="interactionCount" content="UserComments:18" />
<meta itemprop="interactionCount" content="UserLikes:152" />
<meta itemprop="interactionCount" content="UserDislikes:3" />
<meta itemprop="interactionCount" content="UserViewsLastMonth:25550" />
<meta itemprop="interactionCount" content="UserViewsLastWeek:2544" />
<meta itemprop="interactionCount" content="UserViewsLastDay:2154" />
<meta itemprop="interactionCount" content="UserViews:2154587" />
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="worstRating" content="1">
<meta itemprop="bestRating" content="5">
<meta itemprop="ratingValue" content="5">
<meta itemprop="ratingCount" content="2545">
</div>
Display restrictions
Supported features:
allowCountries
: A list of countries where the video is available. For example, RU, US, UK.We recommend using this field when there's a fixed list of countries where the video must be available, and it isn't available in other countries.
disallowCountries
: A list of countries where the video is banned or access to it is restricted.This field is used if viewing without restrictions is allowed in most countries.
Properties supported by video search
Property | Type | Description |
---|---|---|
Mandatory | ||
url | URL | Video link. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video duration.
|
isFamilyFriendly | Boolean | Determines whether children can watch the video.
|
thumbnail | ImageObject | Preview image description. |
uploadDate | Date | The video upload date in the ISO 8601 format. |
Additional | ||
content_id | Text | The video ID. Must be unique for each video. The same video that's posted on different pages must have the same ID in the markup of these pages. That way the robot avoids indexing duplicates. |
author | Person | The login of the user who uploaded the video to the site. |
caption | Text | Video caption. |
contentUrl | URL | The address that the video file is available at. |
feedUrl | URL | The address of the XML feed for the page. If there is an XML feed of the recommended format for the page, using Schema.org, you can only specify the object category and a feed link. But you can also fill out other fields. If there's both an XML feed and filled-out Schema.org fields, preference is given to the feed. If the feed is unavailable for some reason, the data is obtained from the micro-markup. |
genre | Text | You can specify the video topic (like humor, sports, or music) and genre (such as comedy, drama, rock, or pop) here. |
license | Text | The license type that the video is distributed under. |
image | URL | The official video image (for example, a movie poster or an album cover). |
productionCompany | Text or Organization | The video production company. |
isOfficial | Boolean | Means that the video is posted on the official site or channel of the manufacturer, performer, or copyright holder. To indicate that the video is official, add the |
status | Text or URL | The current video status. The following statuses are available:
|
height | Distance | The video clip height. |
width | Distance | The video clip width. |
bitrate | Text | Maximum bitrate in kilobits per second (kbps). |
videoQuality | Text | Video encoding quality. Supported values:
|
contentSize | Text | Video size in kilobytes. |
embedUrl | URL | An iframe link to insert the video player. |
allowEmbed | Boolean | Means that the video can be shown on the Yandex search results page. By default, videos can be played directly in the search results. |
playerType | Text | Available codecs for this video format. If multiple codecs are available, separate them by commas. |
availablePlatform | Text | The platform where the video can be played.
Full list of supported values |
dateCreated | Date | The date when the video was created. |
datePublished | Date | The date when the video was first published. |
dateModified | Date | The date when video information was changed on the site. |
expires | Date | The date after which the video won't be available. For example, it's used if the rights to the video have a time limit. |
interactionCount | Text | Counters for specific types of user interaction with the video. To learn more, see Statistics. |
aggregateRating | AggregateRating | The overall rating based on aggregated user ratings of the video. To learn more, see Statistics. |
allowCountries | Text | A list of countries where the video is available. For example, RU, US, UK. We recommend using this field when there's a fixed list of countries where the video must be available, and it isn't available in other countries. |
disallowCountries | Text | A list of countries where the video is banned or access to it is restricted. This field is used if viewing without restrictions is allowed in most countries. |
productionCountry | Text | The country of production. Specified in the ISO 3166-1 format. |
inLanguage | Text | Video language. The language code is specified in the ISO 639 format (for example, EN). |
dubbing | Text | The studio that dubbed the video. |
Property | Type | Description |
---|---|---|
Mandatory | ||
url | URL | Video link. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video duration.
|
isFamilyFriendly | Boolean | Determines whether children can watch the video.
|
thumbnail | ImageObject | Preview image description. |
uploadDate | Date | The video upload date in the ISO 8601 format. |
Additional | ||
content_id | Text | The video ID. Must be unique for each video. The same video that's posted on different pages must have the same ID in the markup of these pages. That way the robot avoids indexing duplicates. |
author | Person | The login of the user who uploaded the video to the site. |
caption | Text | Video caption. |
contentUrl | URL | The address that the video file is available at. |
feedUrl | URL | The address of the XML feed for the page. If there is an XML feed of the recommended format for the page, using Schema.org, you can only specify the object category and a feed link. But you can also fill out other fields. If there's both an XML feed and filled-out Schema.org fields, preference is given to the feed. If the feed is unavailable for some reason, the data is obtained from the micro-markup. |
genre | Text | You can specify the video topic (like humor, sports, or music) and genre (such as comedy, drama, rock, or pop) here. |
license | Text | The license type that the video is distributed under. |
image | URL | The official video image (for example, a movie poster or an album cover). |
productionCompany | Text or Organization | The video production company. |
isOfficial | Boolean | Means that the video is posted on the official site or channel of the manufacturer, performer, or copyright holder. To indicate that the video is official, add the |
status | Text or URL | The current video status. The following statuses are available:
|
height | Distance | The video clip height. |
width | Distance | The video clip width. |
bitrate | Text | Maximum bitrate in kilobits per second (kbps). |
videoQuality | Text | Video encoding quality. Supported values:
|
contentSize | Text | Video size in kilobytes. |
embedUrl | URL | An iframe link to insert the video player. |
allowEmbed | Boolean | Means that the video can be shown on the Yandex search results page. By default, videos can be played directly in the search results. |
playerType | Text | Available codecs for this video format. If multiple codecs are available, separate them by commas. |
availablePlatform | Text | The platform where the video can be played.
Full list of supported values |
dateCreated | Date | The date when the video was created. |
datePublished | Date | The date when the video was first published. |
dateModified | Date | The date when video information was changed on the site. |
expires | Date | The date after which the video won't be available. For example, it's used if the rights to the video have a time limit. |
interactionCount | Text | Counters for specific types of user interaction with the video. To learn more, see Statistics. |
aggregateRating | AggregateRating | The overall rating based on aggregated user ratings of the video. To learn more, see Statistics. |
allowCountries | Text | A list of countries where the video is available. For example, RU, US, UK. We recommend using this field when there's a fixed list of countries where the video must be available, and it isn't available in other countries. |
disallowCountries | Text | A list of countries where the video is banned or access to it is restricted. This field is used if viewing without restrictions is allowed in most countries. |
productionCountry | Text | The country of production. Specified in the ISO 3166-1 format. |
inLanguage | Text | Video language. The language code is specified in the ISO 639 format (for example, EN). |
dubbing | Text | The studio that dubbed the video. |
Example of a detailed video description
<div itemscope itemtype="http://schema.org/VideoObject">
<!-- Main features -->
<link itemprop="url" href="https://www.mysite.com/view/308/">
<meta itemprop="name" content="Что такое schema.org">
<meta itemprop="description" content="Schema.org is a semantic markup standard that was set by the search engines Google, Bing, and Yahoo! in the summer of 2011.
The purpose of semantic markup is to make the internet more understandable and structured and to make it easier for search engines and special programs to extract and process information for its convenient presentation in search results.">
<meta itemprop="duration" content="PT6M58S">
<span itemprop="author" itemscope itemtype="http://schema.org/Person"></span>
<meta itemprop="genre" content="education">
<link itemprop="feedUrl" href="https://example.com/user111/view24/view24.xml">
<meta itemprop="content_id" content="3543">
<meta itemprop="isFamilyFriendly" content="true">
<meta itemprop="license" content="СС">
<link itemprop="image" href="https://www.mysite.com/vi/xcL-oGPxgCg/maxresdefault.jpg">
<meta itemprop="productionCompany" content="yandex">
<meta itemprop="status" content="published">
<!-- Dates -->
<meta itemprop="uploadDate" content="2013-06-05T00:00:00">
<meta itemprop="dateCreated" content="2012-11-08T00:00:00">
<meta itemprop="dateModified" content="2013-06-05T00:00:00">
<meta itemprop="datePublished" content="2013-06-05T00:00:00">
<!-- Images -->
<span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<link itemprop="contentUrl" href="http://i1.ytimg.com/vi/xcL-oGPxgCg/maxresdefault.jpg">
<meta itemprop="width" content="250">
<meta itemprop="height" content="120">
</span>
<!-- Player -->
<link itemprop="embedUrl" href="https://www.mysite.com/iframe/yacinema/r5cia8fb8q.4708/">
<meta itemprop="allowEmbed" content="true">
<meta itemprop="playerType" content="Flash">
<meta itemprop="width" content="1920">
<meta itemprop="height" content="1080">
<meta itemprop="videoQuality" content="full HD">
<meta itemprop="bitrate" content="526">
<meta itemprop="contentSize" content="526000">
<meta itemprop="availablePlatform " content="Mobile">
<!-- Regions -->
<meta itemprop="allowCountries"
content="RU, US, UK">
<meta itemprop="productionCountry" content="RU">
<meta itemprop="inLanguage" content="RU">
<!-- Statistics -->
<meta itemprop="interactionCount" content="UserComments:18"/>
<meta itemprop="interactionCount" content="UserLikes:152"/>
<meta itemprop="interactionCount" content="UserDislikes:3"/>
<meta itemprop="interactionCount" content="UserViewsLastMonth:25550"/>
<meta itemprop="interactionCount" content="UserViewsLastWeek:2544"/>
<meta itemprop="interactionCount" content="UserViewsLastDay:2154"/>
<meta itemprop="interactionCount" content="UserViews:2154587"/>
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<meta itemprop="worstRating" content="1">
<meta itemprop="bestRating" content="5">
<meta itemprop="ratingValue" content="5">
<meta itemprop="ratingCount" content="2545">
</div>
</div>