How-to: Schema Markup for Video SEO
By Eric Hochberger / Mediavine.com
At Mediavine, we had a unique problem that only Viddler could fix. Our content, which is in the TV and movie genres for TV Fanatic , Movie Fanatic and The Hollywood Gossip, is extremely commoditized. The same studios and networks that provide us with movie trailers and TV promos are sending the same ones to all of our competitors.
Unfortunately, because our company’s primary source of Web traffic comes from organic search, that means increased competition for the exact same news clip(s).
Luckily, Viddler is search-engine friendly by default. Whether you use their iFrame or HTLM5 with legacy or arpeggio embed code, you’re going to get indexed by Google video.
But, if you’re looking to beat your competition, you need to go beyond search engine friendliness. You need to be search engine optimized. … Enter schema.org. For those not familiar, it is the process of using HTML tags to markup your page, which allows searches engines to identify key elements. It has been created and used by Google, Bing and Yahoo! And you should use it for everything!
Google webmaster guidelines already tell you to create a specific landing page for every video on your site. Hopefully you’re already doing this. … If not—start.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
In Part I of this schema.org series, I’m going to show you how to markup this page.
Follow the schema.org instructions found here.
Let’s take one of our videos: The Paperman – Full Movie, which was given to us by the fine folks at Disney. Take a look at the schema.org markup we used on that video page. Gist with HTML: <https://gist.github.com/ehoch/5388489>.
I removed some extraneous markup in order to simplify this example as much as possible. Some key things to note … We indicated the start of the markup to search engines with:
<div itemscope itemtype=’http://schema.org/VideoObject’>.
This is telling search engines that we’re talking about a specific VideoObject for everything you see within this div. You’ll need both “itemscope” and “itemtype.”
Obviously, the most important thing that appears within this div is your embed code. Equally as important, though, is every piece of metadata about this video that we can present to search engines in schema markup.
Within our div, we start with meta tags to define the most important things to indicate for the schema. First, we provide two VideoObject/CreativeWork metadata tags, which all videos should have:
- <meta content=’http://www.viddler.com/simple/8ab66a9e/’ itemprop=’embedUrl’>
- <meta content=’http://images.moviefanatic.com/iu/v1364992012/video/paperman-full-movie.jpg’ itemprop=’thumbnail’>
You should never present a VideoObject to search engines without an embedURL. This should be the SRC of your iFrame, or the value of your movie param in your legacy code. No need to make search engines rummage through your embed code when you can nicely present the info to them.
And don’t forget … You cannot exclude video thumbnails. Search engines could never get access to them without generating their own thumbnails. And luckily, Viddler presents thumbnails in their embed code, which is beneath the poster param.
Another item that is essentially required for the schema.org markup for any page is this:
<h1 itemprop=’name’>Paperman Full Movie</h1>.
You should try to include other key schema.org, such as author markup, uploadDate, duration, caption, transcription and keywords.
One other thing I’ll point out … We actually embedded a second schema.org markup type within our VideoObject itemscope. We indicated that our VideoObject actually has an aggregateRating from user reviews. We first specify the itemprop of the appropriate property from the VideoObject schema; then create a new itemscope as defined by the AggregateRating definition: <http://schema.org/AggregateRating>.
Within this div, the applicable AggregateRating properties are marked up with the following:
<div itemprop=’aggregateRating’ itemscope itemtype=’http://schema.org/AggregateRating’>
Rating: <span itemprop=’ratingValue’>4.6</span> / 5.0 (<span itemprop=”reviewCount”>207</span> Votes)
Within your schema.org objects, you’ll often define many sub-objects, so it becomes useful to familiarize yourself with this. You’ll likely want to markup your schema.org/UserComments with the itemprop “comments.”
You can always test how Google interprets your schema.org markup with the rich snippet tool. It supports both a live URL as well as pasted HTML.
In Part II of this blog post, I’ll cover how to truly take advantage of schema.org in order re-use a video on your site without duplicating the content … as well as how to get a nice boost in your SEO!
About the Author:
Eric Hochberger has been doing search engine optimization since AltaVista and meta keywords were still a thing. He graduated with a degree in Computer Engineering from the University of Michigan, but has gone on to wear many hats since co-founding Mediavine in 2006. When he’s not stuck researching, developing and promoting his sites, you’ll find Eric programming in Ruby, where he’s at his happiest.