Title: Rapid Media Reclaim
Author: Nazim Husain
Published: <strong>November 10, 2026</strong>
Last modified: November 10, 2026

---

Search plugins

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

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

# Rapid Media Reclaim

 By [Nazim Husain](https://profiles.wordpress.org/nazim848/)

[Download](https://downloads.wordpress.org/plugin/rapid-media-reclaim.1.0.0.zip)

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

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

## Description

Rapid Media Reclaim helps you review potentially unused images, documents, video
and audio before reclaiming storage in your WordPress Media Library. See usage evidence,
move selected files to reversible quarantine, and restore them if they are still
needed.

The scanner checks posts, pages, page builder data, custom fields, settings and 
other supported sources. Results show where references were found and explain the
confidence of files that appear unused. Optional public-page crawling and request
watching provide additional evidence, subject to the coverage of your site and server.

No scanner can prove that a file is unused. Review the evidence and keep a current
backup before cleanup. Permanent deletion requires your action after the quarantine
period; quarantined media can be restored first.

Every feature is free. There is no Pro version, no account and no external service.

#### How it works

 1. **Scan.** Your posts, pages, templates, page builder data, custom fields, settings,
    widgets, menus and theme files are checked for every media file, including all 
    its sizes.
 2. **Review the evidence.** Open any file to see where it is used, or why it looks
    unused.
 3. **Quarantine.** Move unused files out of the public uploads folder. Pages keep 
    working if the scan was right; if a file was still needed, restore it with one 
    click.
 4. **Delete when you are sure.** After the quarantine period (14 days by default),
    delete quarantined files permanently.

#### Where it looks

 * Post content, excerpts and featured images, for every post type, including drafts
   and scheduled posts.
 * Gutenberg blocks (image, gallery, cover, media & text, file, video, audio and
   more), reusable blocks, templates and template parts.
 * Classic editor content, `wp-image-` classes and gallery, video, audio and playlist
   shortcodes.
 * Page builders: Elementor, Bricks, Beaver Builder, Divi, WPBakery and Oxygen.
 * Advanced Custom Fields image, file and gallery fields, including repeaters, even
   when ACF is inactive.
 * WooCommerce product galleries, variation images, category thumbnails and the 
   placeholder image.
 * Site icon, custom logo, header and background images, widgets and other settings.
 * Term and user meta, and files referenced directly in your theme’s code.
 * Every image size, scaled and rotated originals, edited copies, and WebP/AVIF 
   versions. Files served from a CDN or staging domain are recognised too.
 * Translations: media items that share one file (WPML, Polylang) count as used 
   when any of them is.

#### Confidence you can see

Every unused file has a confidence level:

 * **High:** no trace was found in the sources checked. This is not a guarantee 
   of disuse.
 * **Medium:** the file name appears somewhere without a full link, or the file 
   was uploaded in the last 24 hours.
 * **Low:** something that looks like this file’s ID or address was found in data
   that could not be fully understood. Review these before quarantining.

#### Reversible quarantine

 * Files are moved to a protected folder inside uploads, together with all their
   sizes. The media item and its details stay in your library.
 * Restore one file, a whole selection, or undo the last action straight from the
   notification.
 * Permanent deletion is only possible from the quarantine, and asks for confirmation.
 * Uninstall attempts restore first and preserves recovery data when any file is
   unresolved.

#### Also included

 * A “Used in” column in the Media Library list view.
 * A warning when you delete a media item that is still in use.
 * “Keep” marks for files you never want listed as unused.
 * Scans run in small batches, continue in the background if you close the page,
   and keep your previous results visible until a rescan finishes.

#### Watching, crawling and privacy

Both features are disabled by default. Enable them in Media > Rapid Media Reclaim
> Settings.

**Browser watching** reports up to 10 failed same-origin uploads per report, up 
to 60 reports per site and 10 per visitor per minute. Reports only count for media
on published, non-password-protected content. For each reported attachment, only
the time it was last reported is stored. No visitor IP, referrer, user agent, page
URL or response body is stored; to apply the per-visitor limit, a salted hash of
the visitor’s IP is kept for one minute. Public tokens stay valid for up to two 
days, so cached pages keep working. Tokens are public and replayable, so reports
are hints, not proof of human use. Reports never return media IDs, paths, quarantine
contents or restore outcomes.

**Automatic restore** is separately opt-in. When it is on, any visitor who requests
the address of a quarantined public file can bring that file back, so quarantine
is no longer permanent for public files. Unattached media is eligible, as is media
attached to published content without a password. Media attached to private, draft
or password-protected content is excluded.

Static requests handled by a web server or CDN never reach PHP. The observer covers
only opted-in anonymous public HTML visits with JavaScript, common image, video 
and source errors, and retries once. It cannot cover CSS backgrounds, offline clients,
cached pages without the script, all embeds, logged-in or private content, external
CDNs or requests outside the browser. No server configuration is changed.

**The optional crawler** fetches at most 100 public posts and pages by default (
configurable from 1 to 500), without credentials or JavaScript. Requests use same-
origin, published, non-password-protected permalinks, with no query strings, no 
redirects, five second timeouts and a 1 MiB response limit. It does not follow arbitrary
links, submit forms, crawl archives or custom post types, or fetch external URLs.
Failed, skipped, capped and pending pages are shown as coverage gaps. Loopback restrictions,
plain permalinks and redirects may prevent coverage. Review evidence and back up
before cleanup.

**Recovery records** remain until all files are restored or payload cleanup completes.
Interrupted moves and restores can be retried using the recorded SHA-256 identity.
Unsupported hard links fail closed. Uninstall retains recovery data and access guards
if any restore is unresolved; resolve it before uninstalling.

**Quarantine is not encrypted storage.** Its randomized directory includes Apache
and IIS deny files, which Nginx and other servers may ignore. Verify equivalent 
access denial on your host before quarantining sensitive media. This plugin does
not install or change server configuration.

## Installation

 1. Install and activate the plugin.
 2. Go to `Media > Rapid Media Reclaim` and click `Scan media library`.
 3. Review the Unused list, open a file to see the evidence, and move files to quarantine.

## FAQ

### Will this delete my images?

Not without you asking twice. Scanning changes nothing. Quarantining moves files
to a protected folder and can be undone. Only the “Delete permanently” action in
the quarantine removes files.

### What happens to a page that still uses a quarantined file?

It can show a missing image until restored. Opt-in browser watching can trigger 
automatic restore for recognized reports, but cannot cover all requests. Manual 
restore remains available.

### Do I still need a backup?

Keep a recent backup before cleanup. Quarantine and supplemental coverage reduce
risk but do not replace backups or review.

### Does it work with my page builder?

Elementor, Bricks, Beaver Builder, Divi, WPBakery and Oxygen are supported, and 
any data that stores media as links or IDs in post meta or settings is checked as
well. Unrecognized builder formats or inaccessible sources may be missed entirely;
review evidence and keep uncertain files.

### Is it slow on large sites?

The scan runs in time-limited batches and only reads each piece of content once,
so it works on sites with tens of thousands of files with bounded work. Network,
memory or hosting restrictions can still interrupt scans; failures remain visible.

### Can it find every unused image?

No tool can guarantee that. Media can be referenced from places a scanner cannot
read, such as other websites, emails and newsletters, CSS or code outside the active
theme, data stored in a format the scanner does not understand, or addresses built
by code at runtime. Rapid Media Reclaim reports what it checked, marks uncertain
results with a lower confidence, and keeps files recoverable in quarantine so a 
mistake can be undone.

### Does it work with WooCommerce, ACF, WPML and Polylang?

Yes. Product galleries, variation and category images, Advanced Custom Fields image,
file and gallery fields, and translated media items that share a file are all recognised.
Other plugins that store media as links or IDs in post meta, term meta, user meta
or options are checked as well.

### Does it send data anywhere?

No data is sent to external services. The optional public HTML crawl only requests
published pages on your own site. Optional browser watching sends failed media loads
from visitors’ browsers back to your own site; see “Watching, crawling and privacy”
in the description for exactly what is stored.

### Where are quarantined files kept?

In a randomized folder inside your uploads directory, protected with Apache and 
IIS deny rules. Nginx and some other servers ignore those rules, so check that the
folder is not publicly accessible on your host before quarantining sensitive files.

### Is there a Pro version?

No. Every feature is free.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

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

Contributors

 *   [ Nazim Husain ](https://profiles.wordpress.org/nazim848/)

[Translate “Rapid Media Reclaim” into your language.](https://translate.wordpress.org/projects/wp-plugins/rapid-media-reclaim)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release.
 * Usage evidence for every file: posts, pages, templates, blocks, page builders(
   Elementor, Bricks, Beaver Builder, Divi, WPBakery, Oxygen), ACF fields, WooCommerce,
   widgets, settings, menus and theme files.
 * Precise Elementor and ACF evidence with exact source paths, on top of the full
   database scan.
 * Confidence level for every unused file, with the reasoning shown.
 * Reversible quarantine with one-click restore and undo; permanent deletion only
   from quarantine.
 * Translation-aware: media copies that share one file (WPML, Polylang) are handled
   together.
 * Optional public-page crawl and browser error watching, both off by default.
 * “Used in” column and delete warning in the Media Library.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [cleanup](https://wordpress.org/plugins/tags/cleanup/)[media library](https://wordpress.org/plugins/tags/media-library/)
   [quarantine](https://wordpress.org/plugins/tags/quarantine/)[unused images](https://wordpress.org/plugins/tags/unused-images/)
   [unused media](https://wordpress.org/plugins/tags/unused-media/)
 *  [Advanced View](https://wordpress.org/plugins/rapid-media-reclaim/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Contributors

 *   [ Nazim Husain ](https://profiles.wordpress.org/nazim848/)

## Support

Got something to say? Need help?

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

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buymeacoffee.com/nazim848)