We love digital

Call 0845 485 1219

We love digital - Call and say hello - Mon - Fri, 9am - 5pm

How To Use Schema.org Markup for Your Videos

Dean Marsden

by Dean Marsden on 12th March 2012

If you are new to Schema.org markup, you are not alone. Schema.org is a joint project between Search Engine giants Google, Bing, Yahoo! and Yandex so it is fast becoming an important addition to your website to help your content get indexed.

In summary it provides clear structured information to the search engine spiders about rich content such as events, people, places, products, reviews and media content.  A full list of current Schema.org types can be found here.

What I’m going to recommend in this blog post is using the VideoObject item to provide search engines with the information to be able to show the videos on your website in the search results in a well formatted manner. For example:

Video Markup in the Search Results

Adding the HTML to your video files is relatively easy, say your video code just has the video embed code something like this:

<h2>My Great Video</h2>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" >
<param name="movie" value="http://www.mywebsite.com/my-video.swf">
<param name="quality" value="high">
<param name="play" value="true">
<embed src="http://www.mywebsite.com/my-video.mp4" type="application/x-shockwave-flash">

<p>This video was made to illustrate how cookies taste so good.</p>


The example below shows how it might look with the Schema.org  markup added:

<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
<h2><span itemprop="name">My Great Video</span></h2>

<meta itemprop="duration" content="T1M30S" />
<meta itemprop="thumbnailURL" content="http://www.mywebsite.com/my-video-thumbnail.jpg" />
<meta itemprop="contentURL" content="http://www.mywebsite.com/my-video.flv" />
<meta itemprop="embedURL" content="http://www.mywebsite.com/my-video.swf" />
<meta itemprop="uploadDate" content="2011-07-05T08:00:00+08:00" />
<meta itemprop="expires" content="2012-01-30T19:00:00+08:00" />
<meta itemprop="width" content="640" />
<meta itemprop="height" content="480" />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param name="movie" value="http://www.mywebsite.com/my-video.swf">
<param name="quality" value="high">
<param name="play" value="true">
<embed src="http://www.mywebsite.com/my-video.flv"type="application/x-shockwave-flash">

<p><span itemprop="description">This video was made to illustrate...</span></p>

It is important to include the required VideoObject properties as described in the table below. There are also a few optional VideoObject properties.

Required Property Description
name The title of the video
thumbnailURL The URL of a thumbnail image for the video. Must be at least 160×90 pixels and a maximum of 1920×1080 pixels. Image files should be in .jpg, .png or .gif formats.
contentURL *Either this contentURL or the embedURL property is required*
A URL to the actual video file, this could be either of the following formats: .mpg, .mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram, .rm, .flv. RTMP streaming protocols are not supported.
embedURL *This option should be used if your video is hosted by a thrid party website*
Insert the URL of video page, for example http://www.youtube.com/watch?v=3tJJrfUVKgw. This URL can usually be found in the tag for the video.
description A written description of the video. This tag can be added to an existing description on your page (making sure it is within the VideoObject div.


Optional Property Description
duration The duration of the video in ISO 8601 format.
uploadDate The date the video was first published in ISO 8601 format.
expires If you want to specify a date when the video will no longer be available, you can do so by stating it in ISO 8601 format. Don’t use this property if your video does not expire.
height The height of the video in pixels.
width The width of the video in pixels.

With the new Schema.org VideoObject properties you can easily specify the details of your video for a richer search engine listing. Although the search engines used to do an OK job of picking out the video and using the page title and content to add details to the search engine listing, we previously used video sitemaps to indicate what these were as well as what videos were on a website.

Google still highly recommends creating an XML video sitemap to provide additional video information and submitting it to them so they discover all of the  video content available on your website. Video sitemaps can be quite time consuming to create unless you use automated software, so at least you can give your videos a better chance of being correctly indexed using this new Schema.org markup.

One of the major advantages I can see with being able to add VideoObject properties to your HTML is being able to accurately describe each video on a single page with multiple videos. Previously with video sitemaps it was difficult get multiple videos on the same page indexed correctly, and if you have HTML access to your pages, adding the Schema.org markup offers an easier, more reliable and widely accepted standard.

Don’t forget to test all of your Schema.org markup using Google’s Rich Snippet testing tool. More information on Schema.org for Videos can be found on Google’s Webmaster EDU site and in this announcement.

Dean Marsden

Dean Marsden

Dean Marsden will be keeping you up to speed with video marketing and conversion rate optimisation. Dean excels at delivering video marketing solutions for clients and specialises in converting website visitors into customers.


  • Philip Kleudgen 6th November 2012

    Hi, thanks for this great tutorial how to set the video snippet up. I tried it on one of my sites and it works like a charm, but on another website of mine where I have installed http://wordpress.org/extend/plugins/google-rich-snippets-plugin/ it does not work. Everytime I save the post it seems to delete the markup of the video and only shows the review snippet.

    Any suggestions?

    regards Phil

    Reply to this comment

    • Dean Marsden

      Dean Marsden 7th November 2012

      Hi Phil,
      Glad the video snippets are showing on your first website. I believe the reason it is not showing on your second website is because you can’t have two snippets show at the same time in the search results. However you should keep both mark-ups on the page because one or the other will show depending on what search query searchers used.

      For example if they searched for ‘Blue Widget Review’ then the review snippet may show, but if they searched for ‘Blue Widget Video’ then the video data may show. Hope this helps.

      Reply to this comment

  • Philip Kleudgen 7th November 2012


    Thanks for your advice. I think what you say makes sense. I will use what fits the post best or maybe both.

    Reply to this comment

  • Hiren Khambhayta 18th March 2013

    Thanks for helpful tip, are there any way to get default flash swf file to attach videos to?

    Reply to this comment

    • Dean Marsden

      Dean Marsden 18th March 2013

      Hi Hiren, If you want to get your flash video files to be indexed via a video sitemap you will have to provide the root video file (such as my video.m4v) as usually an swf if just the ‘container’ for playing a video file.

      Reply to this comment

  • diego 18th July 2013

    Hi Dean, thanks for sharing your knowledge, I’m facing a pretty complicate issue about this topic, maybe you can help me :)
    On my website I’m hosting the same video in different formats, could I define more than one contentURL item for a videoObject? Rich Snippet testing tool looks to accept it…

    Reply to this comment

  • Dean Marsden

    Dean Marsden 18th July 2013

    Hi Deigo, Thanks for stopping by on my blog post! I’ve not encountered having multiple video formats within the schema.org code. I can only suggest that every format is not needed to be added to your schema code as the schema is there in place to help search engines and other services identify and preview your video content and using a single common video format in the code should do this. The different formats will then be useful for users once they have been forwarded to your page.

    However if you are not seeing any errors by having multiple file formats in the contentURL then it shouldn’t harm it :)

    Reply to this comment

  • diego 18th July 2013

    thank your for your answer! I think your are totally right, one the user arrives on the page, he can than switch between the different formats…but it doesn’t matter what the search engines showed on the SERP! Thank you and keep posting :)

    Reply to this comment

  • Jason 3rd February 2014

    Just about every explanation of schema.org sucks. Yours is the best I’ve seen. It’s not great, but it sucks the least. Congrats.

    Reply to this comment

  • Jason 4th February 2014

    I haven’t tried using it yet, but is the schema markup compatible with multiple embedded videos which are necessary for the various browsers?

    Reply to this comment

    • Dean Marsden

      Dean Marsden 4th February 2014

      Hi Jason. Thanks for the comments and question. I’d add the schema to every video on a page. This can help them appear better in the search results. If you wanted to improve their search performance better, I’d have each video on its own webpage just to increase the ‘theme’ or targeting for that page. Modern browsers and the popular search engines are able to read the the schema code fully. Hope this helps?

      Reply to this comment

  • Jason 14th February 2014

    Well, if you’re going to host your own videos and you don’t want your viewers to have to download players, you have to host them in 3 different formats (Ogg, WebM and MP4). What do you put in the “value=”http://www.mywebsite.com/my-video.swf”>” section if you have 3 different videos for the different browsers?

    Reply to this comment

  • JJ 1st May 2014

    If we have YouTube videos embedded on our site and use the Schema meta tags, how can we get Google to link to the actual PAGE URL and not the YOUTUBE URL. All of the examples out there (including yours) do not address this most basic of issues. How do we specify the URL of the page we want the video to link to. We don’t want links to Youtube.com, but our own site.

    Also, what value is contentURL and embedURL when the YouTube does not provide a video file? That was also not addressed by your article.

    Please can you advise? Thank you.

    Reply to this comment

  • Pingback: 4 Tips To Ensure Your Video Content Is Found And Watched

Subscribe To The Koozai Blog