Title: Media Verdict
Author: Vanf
Published: <strong>October 10, 2026</strong>
Last modified: October 10, 2026

---

Search plugins

![](https://ps.w.org/media-verdict/assets/banner-772x250.png?rev=3738041)

![](https://ps.w.org/media-verdict/assets/icon-256x256.png?rev=3738041)

# Media Verdict

 By [Vanf](https://profiles.wordpress.org/guillermo-kafelnikov/)

[Download](https://downloads.wordpress.org/plugin/media-verdict.0.4.1.zip)

 * [Details](https://wordpress.org/plugins/media-verdict/#description)
 * [Reviews](https://wordpress.org/plugins/media-verdict/#reviews)
 *  [Installation](https://wordpress.org/plugins/media-verdict/#installation)
 * [Development](https://wordpress.org/plugins/media-verdict/#developers)

 [Support](https://wordpress.org/support/plugin/media-verdict/)

## Description

Media Verdict scans your whole site — post content (all post types, drafts and revisions),
post meta (featured images, WooCommerce galleries, Elementor data), term meta, user
meta, options (widgets, customizer, logo, site icon) and builder/slider sources (
Smart Slider 3, Revolution Slider, LayerSlider, Master Slider, Visual Composer, 
WPBakery, Cornerstone, Oxygen) — and tells you which media library items are in 
use and which have **no detected usage**.

Fail-safe by design:

 * When in doubt, an item is marked as **used**.
 * The UI says “no detected usage”, never “guaranteed unused” — no scanner can see
   dynamic references (hardcoded CSS, JS-built URLs, email templates).
 * Deletion **always** creates a ZIP snapshot first (original + all generated sizes,
   with md5 manifest).
 * Deletion **always** goes to the WordPress trash, never forced.
 * One-click restore from the snapshot, with integrity verification.

In the Media Library (grid and list modes) used items get a green frame and unused-
detected items a red frame with a badge; hovering or clicking shows the evidence(“
Used in: Post #123, Product #45”).

WP-CLI: `wp media-verdict scan|list|snapshot|trash|restore|report`.

## Screenshots

[⌊Media Library grid with green "in use" and red "no usage detected" frames.⌉⌊Media
Library grid with green "in use" and red "no usage detected" frames.⌉[

Media Library grid with green “in use” and red “no usage detected” frames.

[⌊Scan dashboard: counters, filters and per-file evidence table.⌉⌊Scan dashboard:
counters, filters and per-file evidence table.⌉[

Scan dashboard: counters, filters and per-file evidence table.

## Installation

 1. Upload the `media-verdict` folder to `wp-content/plugins/`.
 2. Activate it.
 3. Go to Media  Media Verdict and run a scan.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Media Verdict” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ Vanf ](https://profiles.wordpress.org/guillermo-kafelnikov/)

[Translate “Media Verdict” into your language.](https://translate.wordpress.org/projects/wp-plugins/media-verdict)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/media-verdict/), check
out the [SVN repository](https://plugins.svn.wordpress.org/media-verdict/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/media-verdict/) 
by [RSS](https://plugins.trac.wordpress.org/log/media-verdict/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.4.1

 * New: 12 more usage parsers — Elementor, Divi, ACF, Beaver Builder, Bricks, Breakdance,
   Fusion Builder (Avada), Meta Box, Toolset, Spectra, Kadence Blocks and SiteOrigin
   Page Builder. 20 parsers total, all fail-safe (they can only mark files as in
   use, never as unused).

#### 0.4.0

 * New: Filesystem scan — walks the uploads directory and flags files with no media
   library entry (orphans + orphaned derivatives such as thumbnails, retina and 
   WebP whose master is gone). Quarantine zips files into a snapshot first; nothing
   is deleted outright.
 * New: Duplicate detection — SHA-256 hashing during the filesystem scan, with a
   compare-and-resolve view to keep one file per group and snapshot the rest.
 * New: References ledger — every usage reference from the last scan in one searchable
   table, with one-click CSV export for audit trails.
 * Plugin header now ships `Plugin URI` and `Author URI` (linked author + plugin
   name in the plugins list).

#### 0.3.2

 * Internationalization: all user-facing strings are now English source strings 
   with full Spanish (es_ES) translation shipped in `languages/` (`media-verdict.
   pot` included for translators). The UI follows the site language automatically—
   no manual switch needed.
 * WordPress.org review compliance: renamed the internal AJAX action prefix from`
   mv_` to `media_verdict_` (plus nonces, script handles and related identifiers)
   to meet the directory prefixing guideline; readme Contributors now uses the WordPress.
   org username and the short description was shortened to 145 characters.

#### 0.3.1

 * Fixed: scans started from wp-admin lost all evidence between AJAX requests (the
   driver creates a new scanner per request) and marked everything as unused. Evidence
   is now persisted per batch in the `media_verdict_scan_evidence` option and merged
   back before finalizing, so admin scans produce the same verdicts as CLI scans.

#### 0.3.0

 * New builder parsers: Cornerstone (`_cornerstone_data` “ID:size” attachment references)
   and Oxygen (`ct_builder_json` numeric `attachment_id`s, with stripslashes for
   its escaped JSON). Both detected and verified against real test pages.
 * Builder coverage is now: Smart Slider 3, Revolution Slider, LayerSlider, Master
   Slider, Visual Composer, WPBakery, Cornerstone, Oxygen — plus Divi, Beaver Builder
   and Depicter via the generic content matcher.

#### 0.2.0

 * Builder/slider parsers: Smart Slider 3, Revolution Slider, LayerSlider, Master
   Slider, the new Visual Composer and classic WPBakery shortcodes — each with its
   own storage format (custom tables, escaped JSON, base64 blobs, template placeholders).
   Filterable registry (`media_verdict_parsers`).
 * Fixed: URL normalizer regex that silently broke every URL-based match.
 * Settings: new “Parsers activos” list showing which builders were detected on 
   the site.

#### 0.1.0

 * Initial release: detection engine, library overlays, snapshot/trash/restore flow,
   WP-CLI.

## Meta

 *  Version **0.4.1**
 *  Last updated **9 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [cleanup](https://wordpress.org/plugins/tags/cleanup/)[images](https://wordpress.org/plugins/tags/images/)
   [media](https://wordpress.org/plugins/tags/media/)[media library](https://wordpress.org/plugins/tags/media-library/)
   [unused images](https://wordpress.org/plugins/tags/unused-images/)
 *  [Advanced View](https://wordpress.org/plugins/media-verdict/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/media-verdict/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/media-verdict/reviews/)

## Contributors

 *   [ Vanf ](https://profiles.wordpress.org/guillermo-kafelnikov/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/media-verdict/)