Skip to Content

No video sitemap found

What Is This Issue

This issue checks whether a website has a dedicated video sitemap that helps search engines discover and index video content, enabling video rich results in Google Search.

A passing implementation means:

  • A video sitemap exists at a standard location (e.g., /video-sitemap.xml or /sitemap-video.xml)
  • The sitemap is properly formatted with <video:video> entries following the Video Sitemap schema
  • Videos are listed with required metadata (URL, thumbnail, title, description)
  • The video sitemap is referenced in the main sitemap or robots.txt

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/tutorial</loc> <video:video> <video:thumbnail_loc>https://example.com/thumbs/tutorial.jpg</video:thumbnail_loc> <video:title>SEO Tutorial for Beginners</video:title> <video:description>Learn SEO basics in this comprehensive guide</video:description> <video:content_loc>https://example.com/videos/tutorial.mp4</video:content_loc> <video:duration>600</video:duration> </video:video> </url> </urlset>

Why Is This Important

Video Discovery: Search engines may not discover videos that are loaded via JavaScript, embedded from third-party platforms, or located deep in the site structure. A video sitemap ensures all videos are found.

Video Rich Results: Properly indexed videos can appear in Google Video search and may be eligible for video rich results in regular search results with video thumbnails and duration.

SEO Traffic: Videos can drive significant traffic through Google Video search and enhance regular search results with visual appeal.

Metadata Context: The video sitemap provides important metadata (duration, thumbnail, title, description) that helps search engines understand and rank video content.

SEO Health Score: Having a video sitemap improves the technical SEO score by demonstrating comprehensive video content optimization.

How XeoPix Detects This

XeoPix performs the following checks:

  1. Looks for video sitemap files - The crawler searches for common video sitemap filenames (e.g., video-sitemap.xml, sitemap-video.xml, videos-sitemap.xml).

  2. Checks sitemap index references - XeoPix examines the main sitemap index file to see if it references a video sitemap.

  3. Validates robots.txt - The system checks if the Sitemap: directive in robots.txt includes a video sitemap URL.

  4. Parses sitemap content - If a video sitemap is found, XeoPix validates that it:

    • Is properly formatted XML
    • Contains valid <video:video> entries
    • Has required metadata fields
    • References accessible video files
  5. Issue Identification: XeoPix raises issues when:

    • No video sitemap is discovered (SUGGESTION)
    • The video sitemap is not declared in robots.txt (SUGGESTION)
    • Video URLs in the sitemap return errors (WARNING)
    • The sitemap format is invalid (CRITICAL)

How To Fix

  1. Create a video sitemap - Generate an XML sitemap specifically for videos following the Video Sitemap schema.

  2. Include required metadata - For each video, include:

    • <video:content_loc> or <video:player_loc> (required)
    • <video:thumbnail_loc> (required)
    • <video:title> (required)
    • <video:description> (required)
    • <video:duration> (recommended, in seconds)
  3. Add optional metadata - Consider including:

    • <video:publication_date>
    • <video:tag>
    • <video:category>
    • <video:family_friendly>
  4. Submit the sitemap - Add the video sitemap URL to:

    • Google Search Console
    • Your main sitemap index file (if using one)
    • The Sitemap: directive in robots.txt
  5. Keep it updated - Ensure the sitemap is regenerated when new videos are added or old ones removed.

  6. Validate the format - Use Google Search Console’s sitemap testing tool to verify the sitemap is properly formatted.

What We Store

Storage Level

Site Level — This issue is evaluated at the site/domain level.


Database Table / Prisma Model

SiteCrawlBehaviourData


Stored Fields

FieldTypeDescription
sitemapUrlsJson?Array of sitemap URLs found during the crawl
videoSitemapEntriesJson?Array of video sitemap entries found during crawl

Detection Dependencies

  • The following data sources are required to evaluate this issue:
  • XML Sitemap — The crawler looks for video sitemaps (sitemap with video extensions)
  • Video Sitemap — Entries containing <video:video> tags are parsed
  • HTTP Response — The crawler fetches and parses video sitemap files

Examples

Example 1: Basic Video Sitemap

Problematic State (Fails): No video sitemap exists. Videos are only discoverable through crawling HTML pages.

Corrected State (Passes): Create a video sitemap at /video-sitemap.xml:

<?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/tutorial</loc> <video:video> <video:thumbnail_loc>https://example.com/thumbs/tutorial.jpg</video:thumbnail_loc> <video:title>SEO Tutorial for Beginners</video:title> <video:description>Learn SEO basics</video:description> <video:content_loc>https://example.com/videos/tutorial.mp4</video:content_loc> <video:duration>600</video:duration> </video:video> </url> </urlset>

Example 2: Missing Sitemap Declaration

Problematic State (Fails): A video sitemap exists at /video-sitemap.xml but is not declared in robots.txt.

Corrected State (Passes): Add the sitemap to robots.txt:

User-agent: * Disallow: /admin/ Sitemap: https://example.com/sitemap.xml Sitemap: https://example.com/video-sitemap.xml

Example 3: Videos Not Discoverable via HTML

Problematic State (Fails): Videos are loaded via JavaScript and not present in the initial HTML:

<div id="video-player"></div> <script> // Video loaded dynamically via JavaScript </script>

Corrected State (Passes): Create a video sitemap to ensure these videos are discovered:

<url> <loc>https://example.com/videos/tutorial</loc> <video:video> <video:content_loc>https://example.com/videos/tutorial.mp4</video:content_loc> <video:thumbnail_loc>https://example.com/thumbs/tutorial.jpg</video:thumbnail_loc> </video:video> </url>

References

Last updated on