Video SEO: A technical guide
Update 19-9-2012: I’ve released my own Video SEO plugin for WordPress. Check it out!
As mentioned in a previous post, recently I have started playing with Video SEO, and found it to be a part of SEO I quite like. It’s a very technical trade so far, so apologies for all the code in the article lying in front of you, but there just is no way around it: you’ll need to know about the technical part of these implementations.
What I’ll discuss:
- XML Video Sitemaps
- MediaRSS for Video SEO
- Yahoo! Searchmonkey
- Facebook Share for Video SEO
- Conclusion: one or more methods?
Talking about that, it seems as though everyone is focussing on XML Sitemaps, while there’s actually not 1 but 4 methods of getting Google to recognize your video content.
Video SEO consists of 3 parts: indexation, ranking and click through optimization. While I might cover #2 and #3 in a later article, I’m focusing on the technical aspects of Video SEO for this article, and thus on the methods of getting your video’s indexed. I’ll focus mainly on Video SEO for Google, as I haven’t really looked at other search engines so far in testing.
XML Video Sitemaps
There’s several ways to tell Google you’ve got video on your site. The most well known, and probably also easiest, is the XML Video Sitemap. Just like a normal XML Sitemap, this sitemap contains URL’s, and for each URL it contains a video section, outlining all the details about that video, from its location and / or player location to its keywords.
<url> <loc>https://example.com/video/</loc> <video:video> <video:title>Sitemap Example Video</video:title> <video:publication_date> 2010-06-17T18:00:00UTC </video:publication_date> <video:player_loc allow_embed="yes"> https://example.com/video/player.swf </video:player_loc> <video:content_loc></video:content_loc> <video:thumbnail_loc> https://example.com/video/poster.png </video:thumbnail_loc> <video:description> example description of a sitemap example video </video:description> <video:category>Example Videos</video:category> <video:tag>Examples</video:tag> <video:tag>Videos</video:tag> <video:tag>Xml Sitemap</video:tag> <video:duration>180</video:duration> </video:video> </url>
Most of the attributes of a video are optional, but you need either a location or a player, preferably both, and a “poster“ image. We’ll touch on the image later on, but remember to add this for each and every video.
Once you’ve created an XML video sitemap, make sure to submit it to Google through Google’s Webmaster Tools. While you can submit it manually, you can also ping Google with the URL of the sitemap every time you’ve updated it. Pinging Google is very simple, just open the following URL (replacing the sitemap URL with your own, of course):
Within Google Webmaster Tools you can also check whether Google understands your sitemap, or if it’s missing any vital components.
MediaRSS for Video SEO
Another way of telling Google that your site carries video, that also uses XML, is by adding MediaRSS tags to your RSS feed, and then submitting your RSS feed to Google as a sitemap.
MediaRSS is a standard conceived by Yahoo!, which Google fully supports for the discovery of all sorts of Rich Media, ranging from images to video. Because it’s an add on to your RSS feed, this has one downside compared to XML video sitemaps: usually, it’ll only contain your last 10, 20 or 100 posts, while you might have hundreds of posts and pages containing video. The upside is there too: for a lot of sites, their RSS feed get’s indexed very regularly, allowing for quick inclusion of your video in Google’s index.
<media:content url="https://example.com/video/video.mp4" medium="video" duration="180"> <media:player url="https://example.com/video/player.swf?file=video.mp4" /> <media:thumbnail url="https://example.com/video/poster.png"/> <media:title type="html">Sitemap Example Video</media:title> <media:description type="html"> Example description of a sitemap example video </media:description> <media:keywords> Examples,Videos,XML Sitemap </media:keywords> </media:content>
Yes, I said I’d be focusing on Google, and yes this is the second Yahoo! standard I’ve mentioned. The reason is simple: Google supports it. If you mark up your pages with Yahoo! Searchmonkey Video tags, Google will, as stated here, recognize these and list your video in the search results.
Let’s have a look at what it looks like (example stolen from Google’s example page):
<object width="512" height="296" rel="media:video" resource="https://example.com/video_object.swf?id=12345" xmlns:media="http://search.yahoo.com/searchmonkey/media/" xmlns:dc="http://purl.org/dc/terms/"> <param name="movie" value="https://example.com/video_object.swf?id=12345" /> <embed src="https://example.com/video_object.swf?id=12345" type="application/x-shockwave-flash" width="512" height="296"> <a rel="media:thumbnail" href="https://example.com/thumbnail_preview.jpg" /> <a rel="dc:license" href="https://example.com/terms_of_service.html" /> <span property="dc:description" content="Example description." /> <span property="media:title" content="Example title" /> <span property="media:width" content="512" /> <span property="media:height" content="296" /> <span property="media:type" content="application/x-shockwave-flash" /> <span property="media:region" content="us" /> <span property="media:region" content="uk" /> <span property="media:duration" content="63" /> </object>
Most of these aren’t required, and some are even outright not needed at all. There’s only one valid media type:
application/x-shockwave-flash. It’s not required, there’s only one option for it anyway: pretty safe to leave it out. You can easily leave out width and height as well for as much as Google is concerned, and you probably won’t need the regions.
Facebook Share for Video SEO
Facebook Share is probably one of the simplest methods of telling Google about video on a page. It uses meta elements in the head section of a page to point to a video file, poster image, size etc.:
<meta name="title" content="Example title" /> <meta name="description" content="Example description" /> <link rel="image_src" href="https://example.com/thumbnail_preview.jpg" /> <link rel="video_src" href="https://example.com/video_object.swf?id=12345"/> <meta name="video_height" content="296" /> <meta name="video_width" content="512" /> <meta name="video_type" content="application/x-shockwave-flash" />
Like with Searchmonkey, the
video_type is kind of bogus, as are width and height, so you could narrow this down a bit. The Facebook Share method of embedding has the added benefit that it’ll sometimes allow people to share your video on Facebook and play it directly on Facebook too.
Conclusion: one or more methods?
It’s perfectly possible to mix these methods of telling search engines about your videos, in fact, you could even use all 4 of them, and there’d be nothing wrong with that. If you ask me which one to use, I’d say: at least use XML sitemaps, and as many of the other ones as you can. In my tests, MediaRSS has been very fast in indexation, so I’d highly recommend using that if applicable to your situation and if the speed of indexation is an issue to you.
Please do let me know in the comments how this works for you, and what you’ve been testing with!