Video sitemap

A video sitemap is a special XML file that tells Google about video content on a site: URL, title, description, thumbnail, and duration. It speeds up video indexing and enables rich results.

In brief

A video sitemap is an XML file in sitemap extension format containing structured data about videos on a site: page URL, video metadata, thumbnail, duration, and upload date. It is submitted to Google Search Console.

What is a video sitemap

A video sitemap is a special XML sitemap file that tells Google about video content on a site. Unlike a standard sitemap.xml, a video sitemap contains extended metadata about each video: title, description, thumbnail URL, duration, and upload date.

A video sitemap helps Googlebot find and index videos it might miss during regular crawling — especially videos embedded via JavaScript or on pages with limited text navigation.

A video sitemap doesn't guarantee video inclusion in search results — it only helps Google find and understand the content. For rich results, additional VideoObject schema or platform support (YouTube) is needed.

Video sitemap structure

A video sitemap extends the standard sitemap.xml with tags from the video: namespace. Required tags: video:thumbnail_loc, video:title, video:description. Recommended: video:content_loc or video:player_loc, video:duration, video:publication_date.

video:thumbnail_loc
URL of the video thumbnail image. Required tag. Minimum 160×90 px, maximum 1920×1080 px.
video:title
Video title. Required. Maximum 100 characters.
video:description
Text description of the video. Required. Maximum 2,048 characters.
video:content_loc
URL of the video file itself. Needed for videos hosted on your own server. For YouTube, video:player_loc is sufficient.
video:player_loc
URL of the embedded video player (iframe src). An alternative to content_loc.
video:duration
Duration in seconds (integer from 1 to 28800).
video:publication_date
Publication date in W3C datetime format (e.g., 2026-05-26T10:00:00+03:00).

When a video sitemap is needed

  • The site has videos hosted on its own server (not YouTube/Vimeo)
  • Videos are embedded via JavaScript — Googlebot may not see them during crawling
  • You need to speed up indexation of a large volume of video content
  • You want video carousels and rich results in Google
  • Videos are on pages with limited navigation that Googlebot may not reach

How to create a video sitemap

  1. Identify all pages with videos on your site
  2. Create an XML file following the sitemap schema with the video namespace extension
  3. For each page, add a <url> block with a nested <video:video>
  4. Fill in required tags: thumbnail_loc, title, description
  5. Add recommended tags: content_loc, duration, publication_date
  6. Save the file as video-sitemap.xml in the site's root

How to submit a video sitemap to Google

  1. Upload video-sitemap.xml to the site server
  2. Add a reference in the main sitemap.xml: <sitemap><loc>https://site.com/video-sitemap.xml</loc></sitemap>
  3. Open Google Search Console → 'Sitemaps' → enter the URL and click 'Submit'
  4. Check processing status — Google will show the number of discovered videos
  5. Use the URL Inspection tool to diagnose specific pages with videos

Common questions

Generally, no. YouTube automatically provides Google with video information. VideoObject schema on the page is sufficient for YouTube embeds. A video sitemap is relevant for self-hosted videos.
Yes. Video tags can be added directly to the main sitemap.xml. A separate video sitemap is more convenient for large volumes of video content and for clearer monitoring in Search Console.
Typically from a few days to a few weeks. A video sitemap speeds up video discovery but doesn't guarantee immediate indexing — this depends on crawl budget and site authority.
Google uses both data sources. Discrepancies may trigger warnings in Search Console. It's recommended to keep data consistent: matching title, description, and thumbnail in both locations.
Direct contacts

Discuss your project?

Share your goals and website context — I will suggest a practical next step.