Rapid Media Reclaim

Rapid Media Reclaim

Details
View on WordPress

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.

Details

Plugin code:
rapid-media-reclaim
Plugin version:
1.0.0
Outdated:
No
WP version:
6.0 or higher
PHP version:
7.4 or higher
Test up to WP version:
7.1.4
Total installations:
0
Last updated:
2026-11-10
Rating:
Times rated:
0
cleanup
media-library
quarantine
unused-images
unused-media