Schema.org video markup
Example of minimal markup
This table lists properties that need to be included for the videoclips to be indexed.
Property | Type | Description |
---|---|---|
url | URL | Link to videoclip. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video length. |
isFamilyFriendly | Boolean | Indicates whether or not video is appropriate for children:
|
thumbnail | ImageObject | Description of preview image. |
uploadDate | Date | Date the video was uploaded to site in ISO 8601 format. |
Property | Type | Description |
---|---|---|
url | URL | Link to videoclip. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video length. |
isFamilyFriendly | Boolean | Indicates whether or not video is appropriate for children:
|
thumbnail | ImageObject | Description of preview image. |
uploadDate | Date | Date the video was uploaded to site in ISO 8601 format. |
Example of minimal video description.
<div itemscope itemtype="http://schema.org/VideoObject" >
<!--Indication of 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 for internet data that was released by Google, Bing and Yahoo! during the summer of 2011. The goals of semantic markup are to make the internet more intelligible and structured, and to make it easier for search systems and special programs to retrieve and process information so that it is clearly presented 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>
Adding a player
To make sure your player ends up in video search results, let the Yandex robot know about it:
- Put the player on a separate page.
- Enter the link to it in the
embedUrl
element.<link itemprop="embedUrl" href="https://www.mysite.com/iframe/yacinema/123/">
- Use the feedback form to let us know when you enter the player information in the markup. We will test the player and inform you of the results.
Additional markup
The fields listed below are not mandatory, but including them will help with indexing your videoclips and will increase the odds that your videos will display in response to a relevant search query.
Video format
The following fields are supported:
height
— Videoclip height in pixels.width
— Videoclip width in pixels.bitrate
— Maximum bitrate in kilobits per second (kbps).videoQuality
— Quality of video encoding.Supported values:
low
— Low quality (resolution lower than 360×640, bitrate below 717 kbps)medium
— Average quality (resolution between 360×640 and 720×1280, bitrate from 717 kbps to 1 Mbps)HD
— HD quality (resolution between 720×1280 and 1080×1920, bitrate of 1-2 Mbps)full HD
— 1080 res quality (resolution higher than 1080×1920, bitrate above 2 Mbps)
contentSize
— Size of the video file in kilobytes.
Video categories
Use the Movie schema to describe films.
Supported characteristics:
video
(mandatory field) — Description of main contents of videoclip.Nested fields are filled in the same way as for a simple video.
alternativeHeadline
— name of film in original (production) language.dateReleased
— Movie release date.part
— part number (for movies with multiple parts, such as Harry Potter and the Deathly Hollows: Part 1).subtitleLanguage
— language of subtitles.Language code is indicated using the IETF BCP 47 format (for example, en).
Markup example:
<div itemscope itemtype="http://schema.org/Movie">
<span>
<a itemprop="director" href="/name/23330/">Lana Wachowski</a></a>,
<a itemprop="director" href="/name/26439/">Tom Tykwer</a>.
</span>
<span>
<a itemprop="producer" href="/name/26437/">Stephan Arndt</a>,
<a itemprop="producer" href="/name/31351/">Grant Hill</a>,
<a href="/film/464484/cast/#producer" >and others</a>.
</span>
<span>
<a itemprop="musicBy" href="/name/312865/">Reinhold Heil</a>,
<a itemprop="musicBy" href="/name/26439/">Tom Tykwer</a>.
</span>
<span>
<a itemprop="genre" href="/level/10/m_act%5Bgenre%5D/8/">drama</a>,
<a itemprop="genre" href="/level/10/m_act%5Bgenre%5D/17/">d</a>,
<a href="/film/464484/keywords/">and others</a>.
</span>
<span class="title">Staring:</span>
<div>
<a itemprop="actor" href="/name/9144/">Tom Hanks</a>
<a itemprop="actor" href="/name/1179/">Halle Berry</a>
<a itemprop="actor" href="/name/38704/">Jim Broadbent</a>
</div>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<!-- General description of videoclips -->
<link itemprop="url" href="https://www.kinopoisk.ru/film/464484/">
<span itemprop="description">Six stories and five reincarnations that take place in different times, yet are intimately connected to one another...</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">Облачный атлас</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>
Use the TVEpisode schema to describe a episode.
Supported characteristics:
video
(mandatory field) — Description of main contents of videoclip.Nested fields are filled in the same way as for a simple video.
episodeNumber
(mandatory field) — episode number.alternativeHeadline
— Name of film in original (production) language.dateReleased
— Movie release date.partOfSeason
— Season number.subtitleLanguage
— Language of subtitles.Language code is indicated using 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>
Use the MusicVideoObject schema to describe a music video.
Supported characteristics:
video
(mandatory field) — Description of main contents of videoclip.Nested fields are filled in the same way as for a simple video.
trackName
(mandatory field) — Track name.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>
Use the TVSeries schema to describe a TV show.
Supported characteristics:
video
(mandatory field) — Description of main contents of videoclip.Nested fields are filled in the same way as for a simple video.
dateReleased
(mandatory field) — Release date.alternativeHeadline
— Name of film in original (production) language.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>
Use the BroadcastEvent schema to describe the airing.
Supported characteristics:
video
(mandatory field) — Description of main contents of videoclip.Nested fields are filled in the same way as for a simple video.
dateStarted
(mandatory field) — Date of the first broadcast.dateEnded
— Date of the last broadcast.If the video is accessible at the same address after the broadcast ends, the end date is omitted.
Markup example:
<div itemscope itemtype="http://schema.org/BroadcastEvent">
Date of first broadcast<span itemprop="dateStarted">2013-02-01T00:00:00</span>
Date of last broadcast<span itemprop="dateEnded">2013-02-12T00:00:00</span>
<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
...
</div>
</div>
Video player parameters
Supported characteristics:
embedUrl
— iframe link to embed video player.allowEmbed
— Indicates that the video can be displayed on the Yandex search results page.By default, a video can be played directly in the search results.
playerType
— Available codecs for this video format.If multiple codecs are available, they are comma-separated.
availablePlatform
— The platform you can play the video on.Desktop — indicates that the main PC platforms are supported (listed below)
Windows
Linux
OSX
Mobile — Indicates that the main mobile platforms are supported (listed below)
iOS
Android
WindowsPhone
WindowsMobile
Symbian
Bada
BlackBerry
MeeGo
Full list of supported values
Date format
Date indicated in ISO 8601 format.
Supported characteristics:
dateCreated
— Date videoclip was created.datePublished
— Date videoclip was first publisheddateModified
— Date changes were made to videoclip information on site.expires
— Last date when video will be available.Used if, for example, rights to view the video are restricted to a time period.
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 characteristics:
interactionCount
— Counter for specific types of user interaction with the videoclip.You can enter the following counter types using the
counterName:date
format:UserComments
— Number of commentsUserLikes
— Number of user "likes"UserDislikes
— Number of user "dislikes"UserViewsLastMonth
— Number of views in last monthUserViewsLastWeek
— Number of views in last weekUserViewsLastDay
— Number of views in last dayUserViews
— Total number of views
aggregateRating
— Overall rating based on users' reviewsFor a aggregate rating statistics, the following parameters may be set:
worstRating
— Lowest rating value (1 by default)bestRating
— Highest rating value (5 by default)ratingValue
— Rating valueratingCount
— Number of reviews that the rating is based on
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>
Viewing restrictions
Supported characteristics:
allowCountries
— List of countries where video is allowed to be shown. For example: RU, US, UK.We recommend using this field if the video is only allowed to be shown in certain countries.
disallowCountries
— List of countries where this video is restricted or not permitted for viewing.This field is used in cases when unrestricted viewing is permitted in the majority of countries.
Properties that Yandex.Video supports
Property | Type | Description |
---|---|---|
Mandatory | ||
url | URL | Link to videoclip. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video length.
|
isFamilyFriendly | Boolean | Indicates whether or not video is appropriate for children:
|
thumbnail | ImageObject | Description of preview image. |
uploadDate | Date | Date the video was uploaded to site in ISO 8601 format. |
Additional | ||
content_id | Text | Video ID, which must be unique for each video. If the same video is hosted on different pages, it must have the same ID in the markup of those pages. This way the robot can avoid indexing duplicates. |
author | Person | Username of user who uploaded clip to site. |
caption | Text | Subscription to video. |
contentUrl | URL | Address of webpage where the video is published. |
feedUrl | URL | Address of XML feed for this page. If there is an XML feed in the recommended format for the page, then you can enter just the object category and feed link using Schema.org. However, other fields may be filled in as well. If both the XML feed and filled-in Schema.org fields are available, preference is given to the feed. If the feed is unavailable for some reason, data will be taken from the micro markup. |
genre | Text | Here you can enter information about what broad type of video it is (humor, sports, music, etc.) and its genre (comedy, drama, rock, pop). |
license | Text | Type of license that the video is published under. |
image | URL | Official image for the video (for example, a movie poster or album cover). |
productionCompany | Text or Organization | Video production company. |
isOfficial | Boolean | Indicates the video is hosted on the official site or channel of the producer, performer, or copyright holder. To indicate that the video is official, add the |
status | Text or URL | The current status of the video. The following statuses are available:
|
height | Distance | Video height in pixels. |
width | Distance | Width of video in pixels. |
bitrate | Text | Maximum bitrate in kilobits per second (kbps). |
videoQuality | Text | Quality of video encoding. Supported values:
|
contentSize | Text | Size of video in kilobytes. |
embedUrl | URL | Iframe link to embed video player. |
allow_embed | Boolean | Indicates that the video can be displayed on the Yandex search results page. By default, a video can be played directly in the search results. |
playerType | Text | Available codecs for this video format. If multiple codecs are available, they are comma-separated. |
availablePlatform | Text | The platform that this video can be played on.
Full list of supported values: |
dateCreated | Date | Date the video was created. |
datePublished | Date | Date the videoclip was first published. |
dateModified | Date | Date changes were made to videoclip information on site. |
expires | Date | Last date when video will be available. Used if, for example, rights to view the video are restricted to a time period. |
interactionCount | Text | Counter for specific types of user interaction with the videoclip. For more information, see Statistics. |
aggregateRating | AggregateRating | Overall rating based on compilation of user reviews. For more information, see Statistics. |
allowCountries | Text | List of countries where video is allowed to be shown. For example: RU, US, UK. We recommend using this field if the video is only allowed to be shown in certain countries. |
disallowCountries | Text | List of countries where showing this video is prohibited or restricted. This field is used in cases when unrestricted viewing is permitted in the majority of countries. |
productionCountry | Text | Country of production. Written in ISO 3166-1 format. |
inLanguage | Text | Videoclip language. Language code is indicated using the ISO 639 format (for example, EN). |
dubbing | Text | Studio that dubbed video. |
Property | Type | Description |
---|---|---|
Mandatory | ||
url | URL | Link to videoclip. |
name | Text | Video title. |
description | Text | Video description. |
duration | Duration | Video length.
|
isFamilyFriendly | Boolean | Indicates whether or not video is appropriate for children:
|
thumbnail | ImageObject | Description of preview image. |
uploadDate | Date | Date the video was uploaded to site in ISO 8601 format. |
Additional | ||
content_id | Text | Video ID, which must be unique for each video. If the same video is hosted on different pages, it must have the same ID in the markup of those pages. This way the robot can avoid indexing duplicates. |
author | Person | Username of user who uploaded clip to site. |
caption | Text | Subscription to video. |
contentUrl | URL | Address of webpage where the video is published. |
feedUrl | URL | Address of XML feed for this page. If there is an XML feed in the recommended format for the page, then you can enter just the object category and feed link using Schema.org. However, other fields may be filled in as well. If both the XML feed and filled-in Schema.org fields are available, preference is given to the feed. If the feed is unavailable for some reason, data will be taken from the micro markup. |
genre | Text | Here you can enter information about what broad type of video it is (humor, sports, music, etc.) and its genre (comedy, drama, rock, pop). |
license | Text | Type of license that the video is published under. |
image | URL | Official image for the video (for example, a movie poster or album cover). |
productionCompany | Text or Organization | Video production company. |
isOfficial | Boolean | Indicates the video is hosted on the official site or channel of the producer, performer, or copyright holder. To indicate that the video is official, add the |
status | Text or URL | The current status of the video. The following statuses are available:
|
height | Distance | Video height in pixels. |
width | Distance | Width of video in pixels. |
bitrate | Text | Maximum bitrate in kilobits per second (kbps). |
videoQuality | Text | Quality of video encoding. Supported values:
|
contentSize | Text | Size of video in kilobytes. |
embedUrl | URL | Iframe link to embed video player. |
allow_embed | Boolean | Indicates that the video can be displayed on the Yandex search results page. By default, a video can be played directly in the search results. |
playerType | Text | Available codecs for this video format. If multiple codecs are available, they are comma-separated. |
availablePlatform | Text | The platform that this video can be played on.
Full list of supported values: |
dateCreated | Date | Date the video was created. |
datePublished | Date | Date the videoclip was first published. |
dateModified | Date | Date changes were made to videoclip information on site. |
expires | Date | Last date when video will be available. Used if, for example, rights to view the video are restricted to a time period. |
interactionCount | Text | Counter for specific types of user interaction with the videoclip. For more information, see Statistics. |
aggregateRating | AggregateRating | Overall rating based on compilation of user reviews. For more information, see Statistics. |
allowCountries | Text | List of countries where video is allowed to be shown. For example: RU, US, UK. We recommend using this field if the video is only allowed to be shown in certain countries. |
disallowCountries | Text | List of countries where showing this video is prohibited or restricted. This field is used in cases when unrestricted viewing is permitted in the majority of countries. |
productionCountry | Text | Country of production. Written in ISO 3166-1 format. |
inLanguage | Text | Videoclip language. Language code is indicated using the ISO 639 format (for example, EN). |
dubbing | Text | Studio that dubbed video. |
Example of detailed video description
<div itemscope itemtype="http://schema.org/VideoObject">
<!-- Main characteristics -->
<link itemprop="url" href="https://www.mysite.com/view/308/">
<meta itemprop="name" content="What is schema.org">
<meta itemprop="description" content="Schema.org is a semantic markup standard for internet data that was released by Google, Bing and Yahoo! during the summer of 2011.
The goals of semantic markup are to make the internet more intelligible and structured, and to make it easier for search systems and special programs to retrieve and process information so that it is clearly presented 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">
<!-- Regionality -->
<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>