Video Sitemap Optimization Guide
- Filed November 10, 2026
- Structured data, guide 9 of 9
A video sitemap adds information about videos to an ordinary XML sitemap: where the thumbnail is, what the video is called, what it is about, and where Google can fetch the video file or player. Google describes it as “a good way to help Google find and understand the video content on your site”, especially new content or content its usual crawling might miss (Google’s video sitemap documentation). It is a discovery and description tool for videos embedded on your own pages. It is not a ranking mechanism, and it has nothing to do with how videos rank on YouTube itself.
What has to be true before a sitemap helps
A video sitemap only helps when the page and the video already meet Google’s video indexing requirements. Google’s video best practices state that the watch page must be indexed, that the indexed watch page “must be performing well in Search before its video can be considered for indexing”, and that indexing the watch page does not mean the video will also be indexed (Google’s video best practices).
Other requirements from the same page:
- The video must be embedded on the page and not hidden behind other elements.
- The video needs a valid thumbnail at a stable URL. Google warns that thumbnail URLs that change too often, as with some CDNs using quickly expiring URLs, can prevent indexing.
- A watch page is a page whose main purpose is to show one video. Google’s examples of pages that are not watch pages include a blog post reviewing an embedded video, a product page with a 360 video, and a category page listing several videos of equal prominence. Those pages can still appear as text results, and in image results with a video badge, but they are not the candidates for video features.
If these conditions are not met, the sitemap will not make the video eligible.
Required tags
Google’s reference defines the tags in the http://www.google.com/schemas/sitemap-video/1.1 namespace. The required ones:
| Tag | What it holds | Rules |
|---|---|---|
| <!–INLINECODE1–> | Container for one video on the page in <!–INLINECODE2–> | Multiple allowed per page |
| <!–INLINECODE3–> | Thumbnail image URL | Must meet thumbnail requirements |
| <!–INLINECODE4–> | Video title | Escape HTML entities; recommended to match the on-page title |
| <!–INLINECODE5–> | Video description | Maximum 2,048 characters; must match the on-page description, though not word for word |
| <!–INLINECODE6–> or <!–INLINECODE7–> | The media file URL or the player URL | At least one is required; neither may equal the <!–INLINECODE8–> URL |
content_loc points to the media file itself (Google notes HTML and Flash are not supported formats). player_loc points to a player; for embeds from platforms such as YouTube or Vimeo, Google says this value is used instead of content_loc. These correspond to contentUrl and embedUrl in VideoObject structured data.
Useful optional tags
<video:duration>: length in seconds, from 1 to 28,800.<video:expiration_date>: Google Search will not show the video after this date. Omit it if the video does not expire.<video:publication_date>: when the video was first published.<video:family_friendly>,<video:restriction>,<video:platform>,<video:requires_subscription>,<video:uploader>,<video:live>,<video:tag>: descriptive and availability information.
Google states each tag can be added only once per video unless otherwise specified.
A complete sample entry
The entry below follows the structure of Google’s reference example with placeholder URLs.
<?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://www.example.com/videos/how-to-build-a-pivot-table/</loc>
<video:video>
<video:thumbnail_loc>https://www.example.com/thumbs/pivot-table.jpg</video:thumbnail_loc>
<video:title>How to Build a Pivot Table</video:title>
<video:description>A step-by-step walkthrough of building a pivot table from a sales spreadsheet, including grouping by month and adding a calculated field.</video:description>
<video:content_loc>https://cdn.example.com/media/pivot-table.mp4</video:content_loc>
<video:player_loc>https://www.example.com/player?id=pivot-table</video:player_loc>
<video:duration>412</video:duration>
<video:publication_date>2026-10-14T09:00:00+00:00</video:publication_date>
<video:family_friendly>yes</video:family_friendly>
<video:live>no</video:live>
</video:video>
</url>
</urlset>
What this entry assumes: the <loc> page is a watch page; the title and description match the page; the thumbnail and media URLs are stable and crawlable.
Access requirements
Google’s video sitemap page lists access rules for every URL in the sitemap. They must:
- not be disallowed by robots.txt;
- be accessible without metafiles and without logging in;
- not be blocked by firewalls or similar mechanisms;
- use a supported protocol (HTTP or FTP; streaming protocols are not supported).
If you protect media URLs against scrapers, Google suggests verifying that bots claiming to be Googlebot really are, rather than blocking all automated access. For videos hosted on a third-party platform, Google’s best practices say to check with the host that it allows Google to fetch the video file.
Video sitemap or structured data?
Google supports both and says you can create a separate video sitemap or add video tags to an existing sitemap. VideoObject structured data on the page describes the same video in the page itself. A practical split:
- Use VideoObject markup on every watch page, since it travels with the page.
- Use a video sitemap when you have many videos, when videos are added frequently, or when the pages are hard for Google to discover through links.
Keep the two consistent: the same title, description, thumbnail and URLs.
A troubleshooting checklist
- Is the page a watch page? If the video is secondary on the page, the sitemap entry will not change that.
- Is the watch page indexed? Check with URL Inspection.
- Does the sitemap parse? Check the Sitemaps report in Search Console for errors.
- Are thumbnail and media URLs reachable? Request them directly; confirm 200 and no robots.txt block.
- Is the thumbnail URL stable? Expiring signed URLs break indexing.
- Do title and description match the page?
- Is
content_locorplayer_locdifferent from<loc>? Equal values are invalid. - Check the Video indexing report in Search Console for the specific reason a video was not indexed.
Watch pages for a recipe site’s videos
Say a cooking site has 600 recipe pages, each with an embedded video below a long recipe.
- Finding: the Video indexing report shows most videos as not indexed with a reason indicating the video is not the main content.
- Diagnosis: the pages are recipe pages with a supporting video, not watch pages, by Google’s definition.
- Decision: create dedicated watch pages for the 50 most-searched techniques, with the video at the top, a short description and a link to the recipe; list those 50 in the video sitemap; keep the recipe pages as they are.
- Follow-up: check over the following weeks that the watch pages are indexed and that their videos appear as indexed in the Video indexing report.
- Google’s call: indexing remains Google’s decision; the change makes the pages eligible candidates.
What a video sitemap cannot do
- It cannot make a non-watch page eligible for video features.
- It does not affect rankings on YouTube, which has its own search and recommendation system.
- It does not override robots.txt, login walls or firewall blocks.
- It does not guarantee indexing; Google says even an indexed watch page does not guarantee an indexed video.
Used for its actual purpose (pointing Google to watch pages and their media files with accurate descriptions), a video sitemap is a reliable aid. Used as a shortcut around the watch page requirements, it does nothing.