The TL:DR of getting pages indexed with a video rich snippet is “submit a video XML sitemap“. Unfortunately, this advice is not much use for the majority of users, who host their content with external providers or social video platforms and are then forced to work out whether or not their hosting service does this for them, and if not, how they should create and structure a video sitemap for their specific circumstances. To help simplify the whole process, I have created this post as a reference guide for those who have video on their site and want an answer to the ”how do i get video snippets?” question without having to do the additional work.
Below is a glossary of the simplest and most reliable (but not the only) ways to get rich snippets for each of the major hosting platforms, which I will keep updated as a reference guide with the most up to date information I have. With Google changing the way they handle video on a regular basis and platform adjustments being frequently rolled out across the competing online video providers, I’ll add in a caveat that the list below isn’t 100% foolproof, but I’ll do my best to keep it as fresh as possible.
If you have found a simpler or better way to get video rich snippets that isn’t included below, please send through the method with an example to firstname.lastname@example.org or respond with a comment. If it’s any good, then I’ll add it to the list below and give you an attribution link for your contribution. Additionally, If there is a hosting solution you’d like to see covered that’s not currently included, let me know and I’ll do some research before adding it to the list.
A video sitemap is essentially an XML feed which details metadata that allows Search Engines to find and index your videos. Google have a created useful page with detailed information about how to structure a video sitemap, which can be found here, but unfortunately it’s a fairly technical and impenetrable page. The following table details each of the required elements and what they mean, in layman’s terms.
|<loc>||The URL of the page you’ve embedded the video on|
|<video:video>||A tag which just wraps around all of the subsequent “<video>” tags for each video referenced per <loc> tag|
|<video:thumbnail_loc>||The URL of the video thumbnail image, which should be a .png or .jpg file. The image should be 16×9 aspect ratio, ideally either 1920×1080 or 1280×720 pixels|
|<video:title>||The title of the video – treat this exactly like a page title. Plain text, with keywords and around 70 characters|
|<video:description>||Treat this exactly like a meta description, but for your video – 160 characters-ish and plain text, including keywords|
|<video:content_loc> OR <video:player_loc>||content_loc should point to the actual video file URL (.mp4/.mov etc) if you have access to it. Otherwise, such as in instances where you’re embedding a flash player, you can include a player_loc tag which references the URL of the player. You can include both if you wish, but it’s not necessary.You can also include “allow_embed” and “autoplay” elements within the player_loc tag – which indicate whether Google can embed the video directly in the search results (which they currently don’t really do, but may do more in the future) and whether or not clicking through to the page can trigger an autoplay. You don’t really need to worry too much about this, but to future proof the sitemap with the best functionality, I normally include the attributes in there as standard so the tag reads <video:player_loc allow_embed=”yes” autoplay=”ap=1″>PLAYER-URL</video:player_loc>|
So, the minimal requirements to build a video sitemap are as follows:
- The URL of the page the video is embedded on
- The URL of the thumbnail image for the video
- The URL of the file or player being embedded
Optional Tags it’s worth including for SEO
|<video:duration>||How long it is, in seconds. It’s worth including this so your video thumbnail in the SERPs can be appended with the length in the bottom right corner, rather than just a play symbol. (example)|
|<video:publication_date>||This can help with getting the video into freshness influenced queries. It should just be numbers in the format (yyyy-mm-dd). If your video is really time sensitive or news focussed, then you can also include the time it was published followed by the timezone, in the format (yyyy-mm-ddThh:mm:ss+hh:mm). However, for most videos, this level of detail isn’t necessary|
|<video:tag>||This is essentially like a page meta tag for your video. However, unlike meta tags, there is some indication that Google will take these into account for ranking, so they’re worth including. Include as many of these as feels natural, but don’t overkill it. Google offer a maximum of 32, but 4-5 is almost always sufficient.|
|<video:category>||This can be included if relevant, and should reference the overarching topic or style of your video. It’s worth including this, for example, if you have a lot of videos all organised in a faceted navigation. Just input a plain text term, normally one or two words, e.g. “SEO” or “online marketing”|
|<video:uploader>||A URL (on the same subdomain as the URL referenced in the <loc> tag) for an indvidual associated with the video. Ensure the page in question has rel=author attribution and this seemingly can help to ensure your video result is additionally appended with an authorship image.|
Creating and maintaining video sitemaps can be a fairly dull and arduous task, so to help out, I’ve quickly put together a Googledocs tool which can help you scale the process for up to 5 videos.
Once you’ve created and uploaded your video sitemap, make sure Google can crawl it by adding the URL to your robots.txt file as sitemap entry.
- You need to have a reasonably strong page for Google to bother crawling your video sitemap entry. As with normal indexation, a lack of PageRank and a large number of pages with videos on is going to mean that a lot of them don’t get crawled frequently and your videos won’t all be indexed. It can take a while for Google to recrawl a video sitemap, even for relatively strong sites, so if you’re desperate for rich snippets on lots of pages, yet don’t have the domain strengh to back it up – keep your video sitemap restricted to just the most important videos.
- Pages with additional content outside of a video tend to get video snippets more often. This is somewhat counter intuitive, but pages that only have video (and no supporting text) can seemingly often be viewed as low quality. Pages containing videos that also have text and images will often both rank better and get crawled more often – therefore including text descriptions, stills or transcripts alongside the video is always worthwhile if suitable
- Google appear to be better an indexing flash files, oEmbeds, or videos embedded with the HTML5 video tag than iframes. Unfortunately, most video platforms use iframe as the standard embed method, as it’s lightweight, mobile friendly and flexible. I’m not saying that iframes can’t get indexed, but it’s typically slower to happen less surefire. While I’m sure they will iterate and improve in due course – if you have a weak site and are desperate to get a video result quickly, it may be worth avoiding an iframe embed.
To get video rich snippets with Brightcove videos, you will currently need to create and maintain your sitemap independently of the platform.
- You’ll need to upload your chosen thumbnail to your own site to reference in the <video:thumbnail_loc> tag.
- For a brightcove video sitemap, you’ll need to reference a url for the <video:player_loc> tag, rather than a url for the <video:content_loc> tag. This is because Brightcove occasionally switch which URLs the encapsulated files are held at. Unfortunately (as with many things on the Brightcove platform) locating the appropriate URL for the <video:player_loc> tag is unnecessarily complicated.
I’ve done my best to simplify the process with the steps below:
- Naviagate to your video within the media section of the VideoCloud control panel
- Within the “quick video publish” sidebar, select “blog”. Copy and paste the HTML given into a text editor.
- You then need to pull out the string of numbers that follows the playerID parameter within the code
- Go back to your control panel and note down the Video ID number referenced just above the “quick video publish” sidebar
- Now navigate to your Brightcove profile page and note down the PublisherID number
- Your task is now to fill in the blanks of the templates below with the numbers you’ve just pulled together.
If you’ve used the Chromeless Player:
If you’ve used the Normal Player (Single Video Player):
- Double check that the URL you’ve pieced together is correct by putting it into a browser. If all is in order, it should return a full screen version of your video.
To get video rich snippets with Viddler videos, you will currently need to create and maintain your sitemap independently of the platform.
- To find the appropriate URL for the <video:thumbnail_loc> tag, go to the “embed” options of the video in question and select “Flash w/ HTML5 fallback” under the Embed code type drop down. Pull out the poster element of the object tag within the code and add an “http:” in front of the string. Put this into a browser, and the URL should redirect to the location of the .jpg file, which should look something like http://cdn-thumbs.viddler.com/thumbnail_NUMBERSTRING.jpg
- For Viddler videos, include a <video:player_loc> tag in your sitemap, rather than a <video:content_loc> tag. Locate the appropriate URL by selecting “legacy” within the embed options and copying the src element of the <embed> tag within. Put this URL into a browser (with the additional http:) and it should redirect to a file that looks like http://cdn.static.viddler.com/flash/as3/full-publisher.swf?ref=&key=UNIQUESTRING. This is the URL to include in the <video:player_loc> tag.
- For SEO, I generally recommend embedding your content with the “Flash w/ HTML5 Fallback” code if you’re hosting with Viddler.
Alternatively, if your site is on a WordPress platform, you can use the Yoast Video Sitemap plugin for WordPress if you host with Viddler.
To get video rich snippets with Vimeo videos, you will currently need to create and maintain your sitemap independently of the platform.
NOTE: I do not condone trying to get rich snippets using a free Vimeo account as a sensible strategy, as if the vimeo.com and yoursite.com pages are targeting similar keywords, the vimeo.com version will often outrank you. Moreover, you dilute your potential traffic and links unnecessarily (See here for more details). If you can afford it, i recommend upgrading to a Vimeo Pro account and disabling the community pass to ensure you can’t be outranked for keywords relating to your video by the page on vimeo.com
- You’ll need to upload your chosen thumbnail to your own site to reference in the <video:thumbnail_loc> tag.
- To locate the player URL for the <video:player_loc> tag (which, in this instance you should use rather than <video:content_loc> tag) go to the video page on vimeo.com and click “share” in the top right hand corner of the video frame. From here, click “show options”, scroll to the bottom of the options then displayed and select “use old embed code”
- The code in the box will then change. Pull out the src element of the <embed> tag, which should be a URL that looks like http://vimeo.com/moogaloop.swf?clip_id=12345678 followed by a load of parameters” Remove all of the parameters past and including the initial ampersand, so you’re left with a plain URL, with which to populate the player location field in your video sitemap.
- Embed using either the iframe or “old” (flash based) embed code
Alternatively, if your site is on a WordPress platform, you can use the Yoast Video Sitemap plugin
To get video rich snippets with Vzaar videos, you will currently need to create and maintain your sitemap independently of the platform.
- Go to your video page on the vzaar platform
- Scroll to the bottom of the page to find the “advanced video links” sections
- Open both the “poster frame” and “video” links as indicated below
- Copy and paste the .jpg URL for the poster frame to find the URL for the <video:thumbnail_loc> tag of your sitemap
- Copy and paste the URL for the video file in the box, which should look like http://view.vzaar.com/NUMBER/video. This should be referenced in the <video:content_loc> tag for
- Make note of the flashplayer URL for your video, which you can find through taking the video file URL and replacing “video” on the end of the string with “flashplayer” e.g. http://view.vzaar.com/1234567/flashplayer. This is the URL to use in the <video:player_loc> tag.
With Wistia, you don’t need to create your own video sitemap, as the service has a Video SEO feature that automatically generated and maintains the creation of your video sitemaps
NOTE: Wistia has, by far, the best SEO features of any paid hosting provider If your priority is rich snippets for a large number of videos, then Wistia’s probably the best platform for your needs.
- Go to the “Video SEO” page accessed through the “account” drop down.
- Complete the steps on this page to validate the sitemap in your Robots.txt file
- Embed content on your site using the now unlocked “SEO” embed code
- Under “Media Actions” on the video page, select “Add to SEO Sitemap” from the “more” dropdown
- Fill in the information requested
- Select “Add video to sitemap”
If you’re trying to get rich snippets to your site for your own embedded YouTube videos, then you’re doing it wrong.
However, for the purposes of trying to get rich snippets for other’s YouTube videos, the following method works :
- Go to the YouTube video in question
- Copy the unique indentifier from the end of the URL without parameters e.g. http://www.youtube.com/watch?v=4ZoGAXhuosc
- Include this string within the following template to generate the appropriate URL for the <video:player_loc> tag - http://youtube.googleapis.com/v/VIDEOID
- Include this string within the following template to generate the appropriate URL for the <video:thumbnail_loc> tag – http://img.youtube.com/vi/VIDEOID/maxresdefault.jpg
WordPress users can also use the Yoast Video SEO plugin to get pages ranking with rich snippets for embedded YouTube videos.
Phil Nottingham Phil is an SEO Consultant at Distilled London, where he specialises in video, ill-judged humour and complaining about poor design.