WP Manifestindependent plugin directory
manifest / seo / lightweight-video-sitemap

Lightweight Video Sitemap for WordPress

Zero-bloat video sitemap generator for WordPress (/video-sitemap.xml).

by Justin Hess - Real Time Lead Gen · github.com/realtimeleadgen/lightweight-video-sitemap · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/realtimeleadgen/lightweight-video-sitemap/archive/refs/heads/main.zip

A zero-bloat plugin that generates a dedicated video sitemap at /video-sitemap.xml for posts and pages that contain embedded or self-hosted videos.

Works alongside your existing XML sitemap plugin. No settings pages, no tracking, no “powered by” links.

Features

  • Detects:
    • YouTube embeds (watch URLs, short links, iframe embeds)
    • Vimeo embeds
    • HTML5 <video> tags
    • Direct .mp4, .webm, .ogg URLs
  • Outputs a valid video sitemap at /video-sitemap.xml
  • Uses featured images as thumbnails when needed
  • Sanitizes titles/descriptions for XML (no broken entities)
  • Filter hooks for custom post types and custom video fields

Installation

  1. Download or clone this repository.
  2. Create a folder named lightweight-video-sitemap in wp-content/plugins/.
  3. Upload the files into that folder.
  4. In your WordPress admin, go to Plugins → Installed Plugins and activate Lightweight Video Sitemap for WordPress.
  5. Visit Settings → Permalinks and click Save Changes once to refresh rewrite rules.
  6. Open https://yourdomain.com/video-sitemap.xml to confirm the sitemap is generated.
  7. Submit that URL in Google Search Console → Sitemaps.

Usage

  • Keep your existing main XML sitemap plugin active.
  • This plugin adds an additional sitemap specifically for videos:
    • https://yourdomain.com/video-sitemap.xml

Customization

Include custom post types:


add_filter( 'lvs_post_types', function( $types ) {
    $types[] = 'my_custom_post_type';
    return $types;
} );