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

Lightweight Video Sitemap for WordPress

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

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/realtimeleadgen/lightweight-video-sitemap/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

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;
} );