By SitemapFixer Team
Updated April 2026

Video Sitemap: XML Format and Setup Guide

A video sitemap is a specialized XML file that tells Google about the videos on your site - their thumbnails, titles, durations, and hosting URLs. Done right, a videos sitemap helps Google index your videos into the Video tab, rich results, and Google search. This guide covers the exact XML format, required tags, a working example, and how to submit your video sitemap to Search Console.

Validate your video sitemap
Check XML, required tags, and broken thumbnails in 60 seconds
Analyze My Sitemap

What a video sitemap is

A video sitemap is an XML file that uses Google's video namespace (http://www.google.com/schemas/sitemap-video/1.1) to describe each video hosted on your site. It lists the landing page URL where the video is embedded, plus child elements describing the video itself - thumbnail, title, description, content or player URL, and duration. Google uses this data to index videos and show them in Video results and rich snippets.

When to create a video sitemap vs embedding schema

Google's official recommendation is to use VideoObject JSON-LD schema on each video page. Schema is usually enough for sites with a handful of videos. A dedicated video sitemap is worth the effort when: you have dozens or thousands of videos, your videos load via JavaScript (so crawlers may miss them during rendering), you need to describe multiple videos per page, or you want to supply metadata like live_broadcast, platform restrictions, or expiration dates that are easier to manage centrally. Many sites do both - schema on-page plus a sitemap for belt-and-braces coverage.

Required and optional XML tags

Required tags (per video):

Recommended optional tags:

Video sitemap XML example

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://example.com/videos/how-to-bake-bread</loc>
    <video:video>
      <video:thumbnail_loc>https://example.com/thumbs/bread.jpg</video:thumbnail_loc>
      <video:title>How to Bake Bread at Home</video:title>
      <video:description>Step-by-step tutorial for baking artisan sourdough bread.</video:description>
      <video:content_loc>https://example.com/media/bread.mp4</video:content_loc>
      <video:player_loc>https://example.com/player?id=bread</video:player_loc>
      <video:duration>612</video:duration>
      <video:publication_date>2025-09-12T10:00:00+00:00</video:publication_date>
      <video:family_friendly>yes</video:family_friendly>
      <video:live>no</video:live>
    </video:video>
  </url>
</urlset>

How to submit your video sitemap to Google Search Console

Upload the XML file to your web root (or wherever your sitemaps live) and make it accessible at a public URL. In Google Search Console, open Indexing > Sitemaps, enter the path (for example /video-sitemap.xml), and click Submit. GSC will report status, last read date, and any parsing errors. You can also add a Sitemap: line in robots.txt pointing to the video sitemap so other crawlers discover it. Monitor the Videos report under Indexing > Video pages for coverage issues.

Common video sitemap mistakes

Video sitemaps aren't just for video hosts

Most guides treat video sitemaps as a niche thing for YouTube-style sites. That's wrong. If you run a content marketing blog that embeds YouTube walkthroughs, a product site with explainer videos, or a training platform with embedded Vimeo content - you can and should feed Google a video sitemap.

Here's what I saw on a B2B SaaS blog last quarter: 140 posts, each embedding a short YouTube explainer. No video sitemap. GSC's Video pages report showed 12 indexed videos out of 140. After we built a video sitemap pointing to the YouTube embed URLs with proper thumbnails and descriptions, video indexing hit 118 within three weeks. Traffic from Video search tripled.

The trick: content_loc points to the YouTube watch URL, player_loc to the embed URL with allowfullscreen="true", and the thumbnail hosted on your own domain (not YouTube's i.ytimg.com, which sometimes gets rate-limited during Google's thumbnail fetch).

Full example with embedded YouTube content

<url>
  <loc>https://example.com/blog/setup-oauth</loc>
  <video:video>
    <video:thumbnail_loc>https://example.com/og/oauth-thumb.jpg</video:thumbnail_loc>
    <video:title>OAuth 2.0 Setup in 5 Minutes</video:title>
    <video:description>Walkthrough of OAuth 2.0 app registration,
scope config, and first token exchange.</video:description>
    <video:content_loc>https://www.youtube.com/watch?v=abc123</video:content_loc>
    <video:player_loc allow_embed="yes" autoplay="ap=1">
      https://www.youtube.com/embed/abc123
    </video:player_loc>
    <video:duration>287</video:duration>
    <video:publication_date>2026-02-14T09:00:00+00:00</video:publication_date>
    <video:family_friendly>yes</video:family_friendly>
    <video:uploader info="https://www.youtube.com/@example">
      Example Engineering
    </video:uploader>
  </video:video>
</url>

Note the allow_embed attribute on player_loc - this tells Google it's OK to show the video in Google results with an embedded player, which dramatically lifts CTR on video rich results.

Google's video rich result requirements

To qualify for video rich results (the big thumbnail treatment in SERPs, not just the Videos tab), Google wants more than sitemap presence. The landing page itself must:

A sitemap alone won't get you rich results. Sitemap + on-page schema + visible embed is the minimum.

Real mistakes I keep finding

Diagnosing video indexing issues

GSC's Video pages report under Indexing is the starting point. It shows three states: "Video on page," "No video indexed," and error categories. For a URL in "No video indexed," click through to see specifics - most often it's "Video is outside the viewport" or "Google could not determine the prominent video on the page."

# Validate video sitemap XML locally
xmllint --noout --schema \
  https://www.google.com/schemas/sitemap-video/1.1/sitemap-video.xsd \
  video-sitemap.xml

# Check a thumbnail is reachable with Googlebot UA
curl -I -A "Googlebot/2.1 (+http://www.google.com/bot.html)" \
  https://example.com/og/video-thumb.jpg

Frequently Asked Questions

Do I need a video sitemap if I already use VideoObject schema?
Not strictly. Google says VideoObject structured data is the preferred method and a video sitemap is a supplementary signal. Use a sitemap when you have many videos, videos loaded dynamically via JavaScript, or videos that schema markup cannot fully describe.
How many videos can a video sitemap contain?
A single video sitemap file can contain up to 50,000 URL entries and must be under 50 MB uncompressed. Each URL entry can list multiple videos. For larger libraries, split into multiple sitemaps and reference them from a sitemap index file.
Can I combine video entries with regular URLs in one sitemap?
Yes. Add the xmlns:video namespace to your main sitemap and include video:video children inside URL entries that have videos. Many CMS plugins and generators do this automatically.
Validate your video sitemap
Find missing thumbnails, broken URLs, and XML errors
Analyze My Sitemap Free
Related Guides