Title: Mediaspy &#8211; Detect &amp; Clean Unused Media
Author: Masum
Published: <strong>June 15, 2026</strong>
Last modified: June 15, 2026

---

Search plugins

![](https://ps.w.org/mediaspy/assets/banner-772x250.jpg?rev=3572849)

![](https://ps.w.org/mediaspy/assets/icon-256x256.gif?rev=3572849)

# Mediaspy – Detect & Clean Unused Media

 By [Masum](https://profiles.wordpress.org/masum52/)

[Download](https://downloads.wordpress.org/plugin/mediaspy.1.0.1.zip)

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

 [Support](https://wordpress.org/support/plugin/mediaspy/)

## Description

Mediaspy scans your entire WordPress site and shows you which media files are not
used anywhere. Review the results, then delete what you don’t need – one by one 
or all at once.

**Why Mediaspy?**

Most plugins check only post content. Mediaspy checks everything – page builders,
widgets, theme CSS, customizer settings, code snippets, and more – before calling
a file unused.

#### What gets scanned

 * Post and page content
 * Featured images
 * Page builder data (Elementor, Divi, WPBakery, Kadence, and more)
 * Theme CSS files
 * Widget and Customizer settings
 * Code snippet plugins (WPCode, Code Snippets, FluentSnippets)
 * Plugin options stored in the database

#### Features

 * **Scan your full media library** – every image, video, audio file, PDF, archive,
   and document
 * **See where each file is used** – click any file to see every page, post, or 
   setting referencing it
 * **Grid and List view** – browse results as cards or a full table
 * **Filter by file type** – Images, Videos, Audio, PDFs, Archives, Documents
 * **Search by filename** – find any file instantly
 * **Sort by size or date** – tackle the biggest space wasters first
 * **Bulk delete** – select multiple files and delete with one click
 * **Download ZIP** – back up unused files before deleting
 * **Import ZIP** – restore a previously exported archive back into your library
 * **Live sync** – uploads and deletions made elsewhere reflect instantly, no re-
   scan needed
 * **Zero performance impact** – only runs when you click Scan Now, nothing loads
   on the front end

#### Works with

Gutenberg, Elementor, Divi, WPBakery, Kadence Blocks, Beaver Builder, Brizy, Oxygen,
Bricks, ACF, WooCommerce, and any builder that stores data in post meta or options.

## Installation

 1. Go to **Plugins -> Add New** in your WordPress admin
 2. Search for **Mediaspy**
 3. Click **Install Now** then **Activate**
 4. Go to **Media -> Mediaspy** and click **Scan Now**

#### Manual install

 1. Download the ZIP file
 2. Go to **Plugins -> Add New -> Upload Plugin**
 3. Upload the ZIP and click **Install Now**
 4. Activate the plugin
 5. Go to **Media -> Mediaspy** and click **Scan Now**

## FAQ

### Is it safe to delete files?

Mediaspy checks every file against your full database before marking it unused. 
Even so, always take a site backup before bulk-deleting. Use the **Download ZIP**
button to save a copy of unused files before you delete them.

### What if a file shows unused but I can see it on my site?

Some plugins store data in custom database tables that Mediaspy does not scan (for
example, certain booking or events plugins). If you can see a file on your site,
do not delete it. Use the search bar to find and skip it.

### Does it work with Elementor, Divi, or other page builders?

Yes. Mediaspy reads the raw post meta where builders store their data, and also 
scans global plugin settings in the database.

### Does it detect images used in the Site Editor or as CSS backgrounds?

Yes. The scanner reads Global Styles and handles JSON-escaped URLs, so background
images set through the Site Editor are correctly detected.

### Will it slow down my site?

No. The plugin is admin-only. Nothing runs on public-facing pages. The scan only
starts when you click **Scan Now**.

### Can I get a deleted file back?

No – deletion is permanent. Use **Download ZIP** to save a backup before deleting
if you are unsure.

### Does it support Multisite?

Not in this version. Mediaspy is designed for single-site installations.

### How long does a scan take?

Under 5 seconds for most sites. Libraries with 5,000+ files may take up to 30 seconds.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Mediaspy – Detect & Clean Unused Media” is open source software. The following 
people have contributed to this plugin.

Contributors

 *   [ Masum ](https://profiles.wordpress.org/masum52/)

[Translate “Mediaspy – Detect & Clean Unused Media” into your language.](https://translate.wordpress.org/projects/wp-plugins/mediaspy)

### Interested in development?

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

## Changelog

#### 1.0.1

 * Refactor: rebuilt on a modular MVC structure with PSR-4 services and Composer
   autoloading
 * New admin interface built with Vue 3 and bundled with Vite
 * Scan, delete, usage details, export and import now run over the REST API (replacing
   admin-ajax)
 * Security: hardened the ZIP import – reject path-traversal entries (Zip-Slip),
   extract outside the web root, and cap archive size and file count against decompression
   bombs
 * Security: removed an over-eager import de-duplication step that could delete 
   unrelated media sharing the same filename
 * Added uninstall cleanup (removes the cached scan, transients and temporary export/
   import folders)
 * Refreshed the header branding with the Mediaspy logo
 * Source files normalised to ASCII (fixes garbled comment characters)
 * No change to detection accuracy or everyday workflow

#### 1.0.0

 * Initial release
 * Full media library scan with 6-layer usage detection
 * Grid and list view with search, filters, and sorting
 * Bulk delete, Download ZIP, and Import ZIP
 * View Details modal showing every usage location per file
 * Live two-way sync with the WordPress Media Library

## Meta

 *  Version **1.0.1**
 *  Last updated **53 minutes ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cleanup](https://wordpress.org/plugins/tags/cleanup/)[disk space](https://wordpress.org/plugins/tags/disk-space/)
   [media](https://wordpress.org/plugins/tags/media/)[media library](https://wordpress.org/plugins/tags/media-library/)
   [unused media](https://wordpress.org/plugins/tags/unused-media/)
 *  [Advanced View](https://wordpress.org/plugins/mediaspy/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/mediaspy/reviews/)

## Contributors

 *   [ Masum ](https://profiles.wordpress.org/masum52/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/mediaspy/)