Virtual Media Folders — Media Cleanup
Add-on for Virtual Media Folders that helps you find and manage unused, duplicate, and oversized media in your WordPress library.
Features
Section titled “Features”- Unused media detection — deep content scanning across Gutenberg, classic editor, featured images, widgets, and custom meta keys.
- Duplicate detection — SHA-256 file hashing with primary/copy management and one-click trash of non-primary copies.
- Oversized file detection — configurable per-type thresholds (images, video, audio, documents).
- Non-destructive actions — archive to a virtual folder, trash (with restore), or flag for review.
- Background scanning — powered by Action Scheduler for large media libraries.
- Admin dashboard — React-based UI with tabs for Scan, Unused, Duplicates, Oversized, Flagged, Trash, and Settings.
- WP-CLI support — scan, list, archive, trash, flag, and manage duplicates from the command line.
- Internationalization — fully translatable; ships with Norwegian Bokmål (nb_NO).
Requirements
Section titled “Requirements”| Requirement | Version |
|---|---|
| WordPress | 6.8+ |
| PHP | 8.3+ |
| Virtual Media Folders | active |
Installation
Section titled “Installation”- Download
vmfa-media-cleanup.zip - Upload via
Plugins → Add New → Upload Plugin - Activate via
WordPress Admin → Plugins
Plugin updates are handled automatically via GitHub. No need to manually download and install updates.
Admin Dashboard
Section titled “Admin Dashboard”Navigate to Media → Virtual Folders → Media Cleanup. The dashboard has seven tabs:
| Tab | Purpose |
|---|---|
| Scan | Start/monitor scans, view progress |
| Unused | Media not referenced in any post content or featured image |
| Duplicates | Groups of files sharing the same hash — set primary, trash copies |
| Oversized | Files exceeding your configured size thresholds |
| Flagged | Items you’ve manually flagged for later review |
| Trash | Trashed items with restore/permanent-delete options |
| Settings | Thresholds, scan depth, batch size, auto-scan, archive folder |
WP-CLI
Section titled “WP-CLI”wp vmfa-cleanup scan # Run a full scanwp vmfa-cleanup scan --async # Run scan in backgroundwp vmfa-cleanup list --type=unusedwp vmfa-cleanup list --type=duplicate --format=csvwp vmfa-cleanup stats # Show scan statisticswp vmfa-cleanup archive --type=unused --yeswp vmfa-cleanup trash --type=unused --yeswp vmfa-cleanup flag 42 56 78wp vmfa-cleanup unflag 42 56wp vmfa-cleanup duplicates # List duplicate groupswp vmfa-cleanup rehash # Recompute file hashesDeveloper Documentation
Section titled “Developer Documentation”REST API reference, hooks/filters, project structure, and build instructions are in docs/DEVELOPER.md.
License
Section titled “License”GPL-2.0-or-later
📦 Source: soderlind/vmfa-media-cleanup · Edit on GitHub