Video Sitemap
What a video sitemap is and when you need one — the required and optional video:video tags, the limits, accepted media and thumbnail file types, multiple videos per page, and the mRSS alternative.
1 evidence signal on this page
- Related live toolXML Sitemap Validator
A video sitemap is an XML sitemap that uses Google's video:video extension to tell Google about videos on your pages, especially newly added or otherwise hard-to-discover ones. Each video needs four required pieces of metadata — a thumbnail (video:thumbnail_loc), a title (video:title), a description (video:description), and at least one of video:content_loc (the media file) or video:player_loc (the player) — and neither content_loc nor player_loc can be the same URL as the page's own loc. The namespace is http://www.google.com/schemas/sitemap-video/1.1, the repeated video:tag element caps at 32 per video (that's not a limit on total metadata fields), duration runs 1–28,800 seconds, and the description caps at 2,048 characters. Every referenced URL — page, thumbnail, media file — must be crawlable: no robots.txt block, no login wall, and content_loc can't be a streaming-only protocol. Use the current Google file-type list (the old .flv/.ra enumeration is stale), and don't panic over the tags Google deprecated in 2022 — they're safe to leave. mRSS is an accepted alternative. Bing does not document video-sitemap support.
Evidence for this claim A video sitemap supplies Google with video metadata, particularly for videos that are difficult to discover by normal crawling. Scope: Current Google video sitemap guidance. Confidence: high · Verified: Google Search Central: Video sitemaps Evidence for this claim Video sitemap entries require thumbnail URL, title, description, and either content URL or player URL; optional fields have documented constraints. Scope: Current Google video sitemap reference. Confidence: high · Verified: Google Search Central: Video sitemap referenceTL;DR — A video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a special sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. that tells Google about the videos on your pages. For each video you give Google four things: a thumbnail image, a title, a description, and a link to either the video file or the player that plays it. It helps Google find your videos — it doesn’t guarantee they’ll show up in search.
What a video sitemap is
A regular sitemap lists the pages on your site. A video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. adds extra
information about any videos on those pages, using a set of special video: tags.
For each video you tell Google the page it lives on, a thumbnail image to show, a
title, a description, and where the video actually is (the file itself, or the
player that plays it).
It’s the same idea as an image sitemapAn image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss., just for video, and it slots into the same family as your XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags..
When you actually need one
Google frames the value case narrowly: a video sitemap helps most with videos that are newly added or otherwise hard to discover — not with every video on your site. It’s most useful when:
- your videos are new, or loaded with JavaScript, or served in a way that’s hard to discover from the page’s HTML, or
- you want to give Google clean, explicit metadata (titles, descriptions, thumbnails) instead of leaving it to guess.
If you have just one or two embedded YouTube videos, you probably don’t need a separate file for it.
The four things every video needs
For each video, four pieces are required:
- A thumbnail — a link to an image Google can show for the video.
- A title.
- A description.
- Where the video is — either a link to the actual video file or a link to the player page that plays it (you need at least one of these).
Everything else — duration, upload date, view count, a “live” flag — is optional.
The one rule people forget
Every link in your video sitemap has to be reachable by Google: the page, the
thumbnail, and the video file or player can’t be blocked in robots.txt or hidden
behind a login. If Google can’t fetch the thumbnail or the video, the entry won’t
do you any good.
And like every sitemap, a video sitemap helps Google discover your videos — it’s not a guarantee they’ll be indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. or shown.
Want the full tag list, the limits, and the exact file types Google accepts? Switch to the Advanced tab.
Evidence for this claim A video sitemap supplies Google with video metadata, particularly for videos that are difficult to discover by normal crawling. Scope: Current Google video sitemap guidance. Confidence: high · Verified: Google Search Central: Video sitemaps Evidence for this claim Video sitemap entries require thumbnail URL, title, description, and either content URL or player URL; optional fields have documented constraints. Scope: Current Google video sitemap reference. Confidence: high · Verified: Google Search Central: Video sitemap referenceTL;DR — A video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is an XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. using the
video:videoextension (namespacehttp://www.google.com/schemas/sitemap-video/1.1), most useful for videos that are newly added or otherwise hard to discover. Required per video:<video:thumbnail_loc>,<video:title>,<video:description>, plus at least one of<video:content_loc>(the media file) or<video:player_loc>(the player) — neither can be the same URL as the page’s own<loc>. Optional tags refine it within limits — the repeated<video:tag>element caps at 32 per video (not a total-tag-count limit), duration 1–28,800 s, description ≤2,048 chars. You can nest multiple<video:video>blocks under one<loc>for a page with several videos. Every referenced URL must be crawlable (not robots-blocked, no login wall), andcontent_loccan’t be a streaming-only protocol. Use Google’s currentcontent_locand thumbnail file-type lists; the tags Google deprecated in 2022 are safe to leave in place. mRSS is an accepted alternative. Bing does not document video-sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. support.
What a video sitemap actually is
A video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. is a normal XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. with Google’s video extension switched
on. You add the video namespace to your <urlset> —
http://www.google.com/schemas/sitemap-video/1.1 — and then, inside each <url>
block, you describe the videos on that page with <video:video> tags. The <loc>
points at the page the video sits on (its landing page or watch page), not at
the video file; the file lives inside <video:content_loc>.
You don’t have to maintain a separate file. You can add video:video blocks to an
existing XML sitemap
right alongside (or in the same way as) your page URLs — the same way image tags
get folded into a regular sitemap. And there’s a non-XML option: Google also accepts
an mRSS (Media RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap.) feed as a way to provide the same video information.
When you need one
A video sitemap is the explicit way to tell Google what videos you have and how to present them. Google’s own framing is narrower than “use this for every video”: it calls out newly added videos and otherwise hard-to-discover content as where the extension earns its keep — for example, videos that are lazy-loaded, JavaScript-injected, or behind a custom player, or where you want full control over the title, description, and thumbnail Google associates with each video instead of letting it infer those. As with every sitemap, it’s a discovery aid — it helps Google find and understand your videos, but it never guarantees a video is indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. or surfaced.
Required tags
Every video needs a parent <video:video> block and, inside it, four required
pieces of metadata:
<video:video>— the parent element wrapping all the information about a single video.<video:thumbnail_loc>— “A URL pointing to the video thumbnail image file.”<video:title>— “The title of the video. All HTML entities must be escaped or wrapped in a CDATA block.”<video:description>— the description of the video (≤2,048 characters).- At least one of:
<video:content_loc>— “A URL pointing to the actual video media file.” This is the one Google recommends when you can supply it.<video:player_loc>— a URL to a player that embeds/plays the video.
If you can give both content_loc and player_loc, do — but one is enough to be
valid. One constraint applies to both: neither content_loc nor player_loc
can be the same URL as the page’s own <loc>. Google documents this
requirement separately for each tag — it’s not optional, and it trips up
sitemaps that reuse the landing-page URL as a placeholder media/player link.
Optional and recommended tags (and the limits)
Beyond the required set, you can refine each video with optional tags:
<video:duration>, <video:expiration_date>, <video:rating>,
<video:view_count>, <video:publication_date>, <video:family_friendly>,
<video:restriction>, <video:platform>, <video:requires_subscription>,
<video:uploader>, <video:live>, and <video:tag>. They help Google understand
freshness, eligibility, and context — for example, expiration_date tells Google
when to stop showing a video, and live flags a live stream.
Three limits to respect:
<video:tag>caps at 32 per video. This is a limit on the repeated keyword-tag element specifically (create one<video:tag>per keyword, up to 32) — it is not a cap on the total number of metadata fields a<video:video>block can carry. A video with the four required tags plus several optional ones (duration, rating, publication date, and so on) is fine; only the count of<video:tag>elements is bounded at 32.<video:duration>must be 1–28,800 seconds (that’s a hard ceiling of 8 hours).<video:description>≤2,048 characters.
Multiple videos on one page
If a single page hosts more than one video, you don’t create multiple <url>
entries — you keep one <loc> for the page and nest multiple <video:video>
blocks inside that same <url>. Each <video:video> describes one video, with its
own thumbnail, title, description, and content/player link.
My Sitemap Validator checks the underlying XML, loc values, namespaces, limits, and lastmod format. It does not currently validate every required video:* field, so pair it with Google’s video-sitemap documentation and Search Console.
Use my Sitemap Validator to catch base-file failures before you troubleshoot the video metadata inside each URL entry. Sitemap Validator Free
- Validate the XML envelope and ordinary sitemap fields.
- Manually confirm each video block has the required thumbnail, title, description, and content or player location.
- Submit the file and use Search Console’s Video indexing report for Google’s outcome.
Accessibility: everything you reference must be crawlable
This is the rule that quietly breaks video sitemaps. Every URL you put in the
file — the page in <loc>, the <video:thumbnail_loc>, and the
<video:content_loc>/<video:player_loc> — has to be fetchable by Google:
- Not blocked in
robots.txt. If the thumbnail directory or the media file is disallowed, Google can’t use it. - Not behind a login wall or any access gate.
content_locmust be a directly fetchable file — streaming-only protocols are not supported. If your video is only available over a streaming protocol rather than as a file Google can download, point Google at the player withplayer_locinstead, or provide a fetchable media file forcontent_loc.
Accepted file types
Use Google’s current lists here — the older enumeration that included formats
like .flv and .ra/.ram is stale, and a lot of third-party guides still quote
it.
<video:content_loc> media files — Google’s supported video formats are:
3GP, 3G2, ASF, AVI, DivX, M2V, M3U, M3U8, M4V, MKV, MOV, MP4, MPEG, OGV, QVT, RAM,
RM, VOB, WebM, WMV, XAP. The file at that URL should be one of these and directly
fetchable.
<video:thumbnail_loc> thumbnails — supported image formatsThe file encoding used to store an image (JPEG, PNG, WebP, AVIF, SVG, GIF) — it drives file size and Core Web Vitals, but carries no direct ranking weight. are BMP, GIF,
JPEG, PNG, WebP, SVG, and AVIF. The thumbnail must be at least 60×30 pixels
(larger is preferred) and sit at a stable, crawlable URL — don’t point it at a
URL that rotates or expires.
Deprecated tags (safe to leave)
Google announced this deprecation
on May 6, 2022, effective August 6, 2022: <video:category>, the
allow_embed and autoplay attributes on <video:player_loc>,
<video:gallery_loc>, <video:price>, and <video:tvshow>. You don’t need to
rush to strip these out. Per Google’s announcement, these tags “will have no
effect on indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. and search features” and there’s “no immediate action
required” — you can leave them in place without drawbacks. Remove them on your
own schedule, or not at all.
How this fits the rest of the sitemap family
A video sitemap is one extension among several. The XML sitemap is the base format; the image sitemapAn image sitemap is a sitemap (or an extension added to an existing sitemap) that lists the images on your pages using Google's image namespace, helping Google discover images it might otherwise miss. is the parallel for images; a sitemap indexA sitemap index is a sitemap of sitemaps — a single file that lists your other sitemap files instead of listing URLs directly. It's how large sites stay under the 50,000-URL / 50MB-per-sitemap limit while submitting just one file. ties multiple sitemap files together once you cross the 50,000-URL / 50MB-per-file limit; and the sitemaps overview covers when you need any of this at all and how to submit it. Video tags can live in their own file or be combined into a regular sitemap. For the bigger picture of how engines find your URLs in the first place, see discoveryURL discovery is how search engines find URLs to crawl — by pull (following links and reading sitemaps) and by push (you notify them via IndexNow, the Indexing API, or WebSub). It's the find step that comes before a page is ever fetched..
One scope note: this is Google’s extension. Bing does not document video-sitemap
support — it defers to the base sitemaps.org protocol — so treat video:video
as a Google feature and don’t expect Bing to act on it.
AI summary
A condensed take on the Advanced version:
- A video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is an XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. with Google’s
video:videoextension (namespacehttp://www.google.com/schemas/sitemap-video/1.1). The<loc>points at the page; the video metadata lives in<video:video>blocks inside it. - Required per video:
<video:thumbnail_loc>,<video:title>,<video:description>, plus at least one of<video:content_loc>(the media file, recommended) or<video:player_loc>(the player) — neither can equal the page’s own<loc>. - Optional tags (
duration,expiration_date,rating,view_count,publication_date,family_friendly,restriction,platform,requires_subscription,uploader,live,tag) refine it, within limits: the repeated<video:tag>element caps at 32/video (not a total-tag cap), duration 1–28,800 s (8 h), description ≤2,048 chars. - Multiple videos on one page → nest multiple
<video:video>blocks under a single<loc>, not separate<url>entries. - Everything must be crawlable: page, thumbnail, and media/player URLs can’t be
robots-blocked or behind a login.
content_loccan’t be a streaming-only protocol — use a fetchable file or point atplayer_loc. - File types (current list):
content_locaccepts 3GP, 3G2, ASF, AVI, DivX, M2V, M3U, M3U8, M4V, MKV, MOV, MP4, MPEG, OGV, QVT, RAM, RM, VOB, WebM, WMV, XAP; thumbnails accept BMP, GIF, JPEG, PNG, WebP, SVG, AVIF (min 60×30 px, stable crawlable URL). The old.flv/.ralist is stale. - Deprecated (announced May 2022, effective Aug 2022, safe to leave):
category,player_locallow_embed/autoplay,gallery_loc,price,tvshow. - mRSS is an accepted alternative format. Bing does not document video-sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. support. A sitemap helps discovery; it never guarantees indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
Official documentation
Primary-source documentation for video sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
- Video sitemaps and alternatives — the reference for
video:videoand every required/optional tag, the namespace, the limits, and the mRSS alternative. - Video best practices — supported file types — the current accepted
content_locmedia formats (3GP, 3G2, ASF, AVI, DivX, M2V, M3U, M3U8, M4V, MKV, MOV, MP4, MPEG, OGV, QVT, RAM, RM, VOB, WebM, WMV, XAP). - Video best practices — thumbnails — thumbnail formats and the minimum 60×30 px requirement.
- Build and submit a sitemap — the base XML format, UTF-8 encoding, and the 50,000-URL / 50MB limits a video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. inherits.
- Combine sitemap extensions — how video, image, and hreflang tagsHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. coexist in one sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
- Sitemaps overview — when you need a sitemap at all, and why it helps discovery but doesn’t guarantee indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
- Spring cleaning sitemap extensions — the May 6, 2022 announcement of the tags Google deprecated (effective August 6, 2022) and why leaving them in place is harmless.
Bing / Microsoft
- Bing does not publish dedicated video-sitemap documentation; it defers to the base sitemaps.org protocol. Treat
video:videoas a Google-specific extension.
Quotes from the source
On-the-record wording from Google’s video-sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. documentation. Each link is a deep link that jumps to the quoted passage on the source page.
Google — the required tags
- “A URL pointing to the video thumbnail image file.” — on
<video:thumbnail_loc>. Jump to quote - “The title of the video. All HTML entities must be escaped or wrapped in a CDATA block.” — on
<video:title>. Jump to quote - “A URL pointing to the actual video media file.” — on
<video:content_loc>(the one Google recommends supplying). Jump to quote
Video sitemap — cheat sheet
Required vs optional video:video tags
| Tag | Required? | Notes |
|---|---|---|
<video:video> | Required | Parent block wrapping one video |
<video:thumbnail_loc> | Required | URL to the thumbnail image |
<video:title> | Required | HTML entities escaped or in a CDATA block |
<video:description> | Required | ≤2,048 characters |
<video:content_loc> | One of these two required | URL to the actual media file (recommended); can’t equal the page’s <loc> |
<video:player_loc> | One of these two required | URL to the player that plays it; can’t equal the page’s <loc> |
<video:duration> | Optional | Seconds; must be 1–28,800 |
<video:expiration_date> | Optional | When to stop showing the video |
<video:rating> | Optional | 0.0–5.0 |
<video:view_count> | Optional | Number of views |
<video:publication_date> | Optional | When the video was first published |
<video:family_friendly> | Optional | yes / no |
<video:restriction> | Optional | Country allow/deny list |
<video:platform> | Optional | Device platform allow/deny list |
<video:requires_subscription> | Optional | yes / no |
<video:uploader> | Optional | Who uploaded it |
<video:live> | Optional | yes / no — live stream flag |
<video:tag> | Optional | Keyword/tag describing the video |
Limits
| Limit | Value |
|---|---|
Max <video:tag> elements per video | 32 (repeated keyword tag only — not a total-tag cap) |
<video:duration> range | 1–28,800 seconds (8 hours) |
<video:description> length | ≤2,048 characters |
| Namespace | http://www.google.com/schemas/sitemap-video/1.1 |
Accepted file types
| Where | Accepted formats |
|---|---|
<video:content_loc> media | 3GP, 3G2, ASF, AVI, DivX, M2V, M3U, M3U8, M4V, MKV, MOV, MP4, MPEG, OGV, QVT, RAM, RM, VOB, WebM, WMV, XAP |
<video:thumbnail_loc> image | BMP, GIF, JPEG, PNG, WebP, SVG, AVIF — min 60×30 px, stable crawlable URL |
Don’t forget
- Every URL (page, thumbnail, media/player) must be crawlable — no
robots.txtblock, no login wall. content_loccan’t be a streaming-only protocol — it must be a fetchable file.content_locandplayer_loccan’t be the same URL as the page’s own<loc>.- The 32 limit is on
<video:tag>elements specifically — not on total tags per video. - Deprecated May 2022 (effective Aug 2022, safe to leave):
category,player_locallow_embed/autoplay,gallery_loc,price,tvshow. - Bing does not document video-sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. support.
A minimal valid video sitemap
The smallest video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. that validates: a urlset with the video namespace, one
<url> for the page, and one <video:video> carrying the required tags
(thumbnail + title + description + a content/player link).
<?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/some_video_landing_page.html</loc>
<video:video>
<video:thumbnail_loc>https://www.example.com/thumbs/123.jpg</video:thumbnail_loc>
<video:title>Grilling steaks for summer</video:title>
<video:description>How to get perfectly done steaks every time.</video:description>
<video:content_loc>https://www.example.com/video123.mp4</video:content_loc>
<video:player_loc>https://www.example.com/videoplayer.php?video=123</video:player_loc>
</video:video>
</url>
</urlset> Two videos on one page
When a page hosts more than one video, keep a single <loc> and nest a second
<video:video> block — don’t add another <url>.
<url>
<loc>https://www.example.com/videos/roundup.html</loc>
<video:video>
<video:thumbnail_loc>https://www.example.com/thumbs/a.jpg</video:thumbnail_loc>
<video:title>Part one</video:title>
<video:description>The first video on the page.</video:description>
<video:content_loc>https://www.example.com/a.mp4</video:content_loc>
</video:video>
<video:video>
<video:thumbnail_loc>https://www.example.com/thumbs/b.jpg</video:thumbnail_loc>
<video:title>Part two</video:title>
<video:description>The second video on the same page.</video:description>
<video:content_loc>https://www.example.com/b.mp4</video:content_loc>
</video:video>
</url>Reminder: content_loc must be a directly fetchable media file (no streaming-only
protocols), and every URL here — page, thumbnail, media — has to be crawlable.
Video sitemap setup audit
Run through this before you submit (or resubmit) a video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing.:
-
<urlset>declares the video namespace:xmlns:video="http://www.google.com/schemas/sitemap-video/1.1". - Every
<video:video>block has all three required text tags —<video:thumbnail_loc>,<video:title>,<video:description>. - Every
<video:video>block has at least one of<video:content_loc>or<video:player_loc>(both if you can supply both). -
<video:content_loc>points at a directly fetchable media file — not a streaming-only protocol. -
<video:thumbnail_loc>is a stable, non-expiring URL, at least 60×30 px, in a supported format (BMP, GIF, JPEG, PNG, WebP, SVG, AVIF). -
<video:description>is 2,048 characters or fewer. - Any
<video:duration>present is between 1 and 28,800 seconds. - No single video has more than 32
<video:tag>elements (this cap is on the repeated keyword tag only, not on the video’s total metadata fields). -
<video:content_loc>and<video:player_loc>are not the same URL as the page’s own<loc>. - The page URL, thumbnail URL, and media/player URL are all crawlable — none
blocked in
robots.txt, none behind a login wall. - Multiple videos on one page are nested as multiple
<video:video>blocks under a single<loc>, not spread across duplicate<url>entries. - SitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is submitted in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.. (Skip Bing here — it doesn’t document video-sitemap support.)
- Sitemap validates cleanly before and after submission.
Patrick's relevant free tools
- Video SEO Checker — Audit VideoObject, thumbnail, key-moment, and embed signals in raw HTML.
- Google Index Checker — Check one URL’s observable indexability blockers, or reconcile sitemap, crawl, and supplied Search Console evidence across a URL set before verifying Google’s actual state in URL Inspection.
- Canonicalization Checker — Audit HTML and HTTP canonical signals, test the canonical target, and identify observable conflicts that can cause Google to choose a different URL.
Tools for building and checking a video sitemap
- Sitemap Validator — paste, upload, or fetch your
sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. by URL and get errors, warnings, and a health score with line numbers,
entirely in your browser. Use it on the video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. itself to catch malformed
XML, missing required
video:tags, and namespace mistakes before you submit. - XML Sitemap Generator — generates a base XML
sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. from a capped, robots-respecting crawl of your site. It builds the page
inventory (
<loc>,lastmod) but doesn’t addvideo:videotags — use it for the base file, then layer video metadata in yourself or via your CMSA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms./generator. - Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — Sitemaps reportThe Google Search Console report where you submit sitemaps and watch how Google processes them — type, last read date, status, and how many URLs were discovered. It confirms Google read your list; it doesn't prove anything got indexed. — confirms Google fetched and processed the file, and flags parsing errors it foundA 302 (\"Found\") is a temporary redirect: it forwards users to a new URL while telling search engines the original URL should stay in the index. It's a weak canonicalization signal, not the zero-equity dead end of SEO folklore. on its side.
- Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. — URL InspectionA Google Search Console feature that reports how Google sees one specific URL on a property you own. By default it shows the last-indexed snapshot; a separate \"Test live URL\" mode fetches the current version. — checks whether a specific video page was crawled and indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., useful when a sitemap validates cleanly but a video still isn’t showing up.
Common issues
Video isn’t indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. even though the sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. validates
- Likely cause: a sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. only helps Google discover the video — it’s never a guarantee of indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed..
- Fix: confirm the page itself isn’t
noindex, check Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s URL Inspection for crawl/indexing errors on that specific page, and make sure the thumbnail and content/player URLs are actually reachable (not just present in the XML).
Thumbnail rejected or not showing
- Likely cause: image is smaller than 60×30 px, in an unsupported format, or sits at a URL that rotates/expires.
- Fix: use a stable, crawlable URL with a supported format (BMP, GIF, JPEG, PNG, WebP, SVG, AVIF) at least 60×30 px — bigger is preferred.
content_loc never gets picked up
- Likely cause: the URL points at a streaming-only protocol rather than a directly fetchable file.
- Fix: point
content_locat a fetchable media file, or drop back toplayer_locif you can only offer a streaming player.
Whole <video:video> entry seems ignored
- Likely cause: one of the four required pieces is missing — thumbnail, title, description, or both of content/player links.
- Fix: check the entry against the required-tag list; a missing required tag can invalidate the whole video block, not just that field.
Description looks truncated or the tag throws a parsing error
- Likely cause:
<video:description>exceeds the 2,048-character limit. - Fix: trim to an excerpt under the limit rather than the full text.
Video sitemapA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. “doesn’t work” on Bing
- Likely cause: Bing does not document support for the
video:videoextension at all. - Fix: don’t rely on a video sitemap to influence Bing — it defers to the base
sitemaps.orgprotocol regardless of what video tags you add.
AI prompts for video sitemaps
Audit an existing video:video entry for missing or invalid tags
Paste in one or more <video:video> XML blocks from your sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing..
Here is a <video:video> entry from my video sitemap:
[paste the XML block]
Check it against these rules and list every violation:
- Required: video:thumbnail_loc, video:title, video:description, and at least
one of video:content_loc or video:player_loc.
- video:content_loc and video:player_loc must not be the same URL as the page's
own <loc>.
- video:description must be 2,048 characters or fewer.
- video:duration (if present) must be between 1 and 28,800 seconds.
- No more than 32 video:tag elements inside this one video:video block (this
limit applies to repeated video:tag elements only, not to total tags).
Report each violation as: tag name, what's wrong, and the minimal fix.Expect back a short list of pass/fail checks against the rules above — not a general opinion on video quality.
Draft a compliant video:video block from raw metadata
Paste a row (or a few rows) of video metadata you already have — page URL, thumbnail URL, title, description, media/player URL, duration in seconds.
I have this video metadata:
Page URL: [url]
Thumbnail URL: [url]
Title: [title]
Description: [description, under 2048 characters]
Media file URL (or player URL): [url]
Duration in seconds: [number]
Generate a valid <video:video> XML block using Google's video sitemap
extension (namespace http://www.google.com/schemas/sitemap-video/1.1),
escaping any HTML entities in the title, and confirm the description is
under 2,048 characters.Expect back one ready-to-paste <video:video> block — check the escaped title
and the character count yourself before shipping it, since the model can
miscount.
Resources worth your time
My related writing
- The Beginner’s Guide to Technical SEO — where sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. and discovery fit in the bigger picture.
- When Should You Worry About Crawl Budget? — keeping a clean, accurate inventory of the URLs (and media) you want crawled.
- Enterprise Technical SEO — my case for automating sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. from the pages you actually have, so they don’t rot.
From others
- Google’s video sitemaps reference — the canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. list and limits.
- Google’s video best practices — the current accepted media and thumbnail file types (the source for the lists most third-party guides get wrong).
- Google’s combining sitemap extensions — official guidance on mixing video, image, and hreflang tagsHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. in a single sitemap file.
- sitemaps.org protocol — the base XML schema that video sitemapsA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing. extend; also what Bing defers to.
- r/TechSEO — the community for sitemap and indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. debugging.
Test yourself: Video sitemaps
Five quick questions on video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. requirements and limits. Pick an answer for each, then check.
Video sitemap
A video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing.
Related: Sitemap, XML sitemap, Image sitemap
Video sitemap
A video sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. is a standard XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. extended with Google’s video namespace (http://www.google.com/schemas/sitemap-video/1.1), used to describe the videos that live on your pages. Each <url> block names the page the video sits on in <loc>, and one or more <video:video> blocks inside it carry the video’s metadata. You can also supply the same information as an mRSS (Media RSSAn RSS or Atom feed is an XML file listing a site's most recently published or updated URLs. Search engines accept it as a sitemap-style discovery signal for fresh content — not a replacement for a full XML sitemap.) feed instead of XML.
For every video, four pieces of metadata are required — a <video:thumbnail_loc> (the thumbnail image), a <video:title>, a <video:description>, and at least one of <video:content_loc> (a link to the actual media file) or <video:player_loc> (a link to a player that embeds it). A range of optional tags (<video:duration>, <video:publication_date>, <video:expiration_date>, <video:rating>, <video:view_count>, <video:live>, and more) can refine how a video is understood, within limits: no more than 32 tags per video, a duration between 1 and 28,800 seconds, and a description of at most 2,048 characters.
Like every sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., a video sitemap helps discovery but doesn’t guarantee a video gets indexedStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. or shown. Every URL it references — the landing page, the thumbnail, the media file or player — has to be crawlable: not blocked by robots.txt, not behind a login wall, and reachable as a normally fetchable file (streaming-only protocols aren’t supported for content_loc). If you don’t want to maintain a separate file, you can add video:video blocks to an existing XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags. alongside your page URLs.
Related: Sitemap, XML sitemap, Image sitemap
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.
Search Console
sampleGA4 traffic (28d)
sampleCloudflare traffic (7d)
sampledCrUX field data (28d, phone)
sampleGoogle NLP entities
localChangelog
Updated Jul 18, 2026.
Editorial summary and recorded change details.Summary
Corrected the 32-tag limit (it's specifically a cap on repeated video:tag elements, not total metadata fields per video), added the missing content_loc/player_loc-can't-equal-loc requirement, and tightened the 'when you need one' framing to match Google's own newly-added/hard-to-discover value case.
Change details
- Before
≤32 tags per video / No single video should carry more than 32 tags.AfterThe 32 limit applies specifically to repeated video:tag elements, not to total metadata fields on a video — corrected across tldr, both TL;DRs, ai-summary, the Advanced limits section, cheat-sheet, checklist, and audit prompt. -
Added the requirement that <video:content_loc> and <video:player_loc> must not be the same URL as the page's own <loc>, to Required tags, the cheat-sheet, the checklist, and the audit prompt.
-
Tightened 'When you need one' in beginner and advanced lenses to explicitly attribute Google's framing (newly added or otherwise hard-to-discover videos) rather than a generic use-case list.
Full comparison unavailable — no prior snapshot was archived for this revision.