InTouch Media Cleaner

Opis

InTouch Media Cleaner finds attachments in your Media Library that nothing on the site references any longer, so you can reclaim the disk space they take up. It is built around one rule: it would rather miss an unused image than delete one that is still in use.

This plugin is built to fail safe: when its coverage of your site is incomplete — an unsupported page builder, an offloaded file, a custom field — it says so in plain language and holds back, instead of producing a confident list that could break a live page.

What it looks at

  • Post and page content — Gutenberg blocks (image, gallery, cover, media-text, video, file), classic shortcodes ([gallery], [playlist], [caption]), raw HTML (wp-image-N classes, src/href/srcset, inline CSS url()), including drafts, trashed posts and revisions.
  • Structural links — featured images (_thumbnail_id), attachment parents.
  • Theme — site icon, custom logo / header / background for every installed theme, Additional CSS.
  • Full Site Editing — global styles and block-theme backgrounds.
  • Widgets — image, gallery, custom HTML, block widgets.
  • Navigation menus — items pointing straight at an attachment or an uploads/ file.
  • Comments — uploads/ URLs mentioned in comment text.
  • WooCommerce — product and variation images, product galleries, category / brand images, the placeholder and e-mail header images, downloadable files.
  • Elementor — images, galleries and background images in Elementor data, page and global-kit backgrounds, popups and Theme Builder templates, and the media dynamic tag.
  • A deliberately noisy safety sweep — any value in the options table, or in post / term / user meta, that matches a real attachment ID or URL is treated as a reference. This never deletes anything; it only protects.

How it keeps you safe

  • Confidence, not a raw count. Every candidate gets a score. When site coverage is incomplete — an unsupported builder version, a builder with no integration, a plugin deactivated in the last 30 days, a scanner that failed — the score for every item is capped at 70%, below the default selection threshold of 95%.
  • The first scan is analysis only. No deletions are possible until a second scan confirms the picture.
  • Freshly uploaded media is untouchable. Anything added in the last 14 days is never proposed, regardless of score.
  • Scans expire. Results older than 7 days require a re-scan before any action.
  • Soft delete with a real undo. Deleting moves files to a plugin-managed trash with a cooling period; restore brings them back at the same attachment ID, so existing references keep working.
  • A shown-work coverage panel. The Scan tab lists what was checked, what was skipped or degraded and why, and the classes of reference no scan can ever see (images used only in transactional e-mails, generated PDFs, external JavaScript, a mobile app, hardcoded in custom PHP, or built by string concatenation).

Privacy

The plugin sends nothing off your server. Its only outbound message is a purge audit e-mail to your site's admin address after files are permanently deleted, so there is always a trace of what is gone. That e-mail is sent with WordPress’ own wp_mail(); it carries a manifest (file name, size, SHA-256, reason) as an attachment, or — if that is too large — saves the manifest to your site and links to it from the Logs tab. It can be turned off in the settings. No analytics, no telemetry, no external requests.

Free and paid

This is the free plugin, and every safety mechanism above is part of it — none of them are held back for a paid tier. Support for more page builders and field plugins (Divi, Bricks, Beaver Builder, ACF-aware resolution, a filesystem scan) is planned for a future paid version.

Slike ekrana

Instalacija

  1. Upload the plugin ZIP through Plugins Add New Upload Plugin, or extract it into wp-content/plugins/.
  2. Activate InTouch Media Cleaner.
  3. Open Media Cleaner in the admin menu and run a scan from the Scan tab.
  4. Run a second scan when the first finishes — the first scan is analysis only. Review the Results tab, check the Why? detail on a few rows, then select and delete.
  5. Deleted files sit in the plugin's trash with a cooling period; restore any of them from the Trash tab.

ČPP

Can it delete an image that is still being used?

That is the exact failure it is designed to avoid. Level-D protection (the noisy safety sweep) is on by default, the first scan cannot delete anything, freshly uploaded media is excluded, and whenever coverage of your site is incomplete every score is capped below the selection threshold. If it is not sure, it protects the image and tells you why.

Does uninstalling the plugin delete my media or my scan history?

No. “Purge on uninstall” is off by default — removing the plugin leaves your Media Library and the plugin's own tables untouched. You can opt in to full cleanup in the settings before uninstalling.

Does the plugin send my data anywhere?

No. The only message it sends is the purge audit e-mail to your own admin address, via WordPress’ wp_mail(), and only after files are permanently deleted. There are no analytics and no external requests.

Which page builders does it support?

WooCommerce and Elementor in this version, in addition to full core-WordPress coverage. Each builder adapter declares the versions it was tested against; if your installed version is outside that range the adapter does not run and the coverage panel marks the scan as degraded rather than guessing. More builders are planned for a future paid version.

Why does the Results tab say “70% confidence” or “coverage: degraded”?

Because something about your site is outside what this scan could fully cover — for example a builder with no integration, a builder version the adapter was not tested against, a plugin deactivated within the last 30 days, or a scanner that failed. The 70% cap applies to every item in that state, on purpose: it keeps items out of bulk selection until coverage is complete. The Scan tab's coverage panel names the specific reason.

Why can't I delete anything after the first scan?

The first scan is analysis only, by design. Run a second scan; once it confirms the results, selection and deletion unlock.

An image I know is unused is protected. Why?

The safety sweep found its ID or URL somewhere in your options or metadata — often a stale setting or a plugin's own record. That is deliberately conservative: it protects rather than risk a false positive. You can still protect or unprotect individual items by hand.

Recenzije

Nema recenzija za ovaj dodatak.

Saradnici i programeri

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

Doprinositelji

Zapis promijena

1.0.0

  • First public release.
  • Full core-WordPress coverage: post/page content (blocks, shortcodes, raw HTML, drafts, trash, revisions), featured images and attachment parents, theme mods and site identity, Full Site Editing global styles, widgets, navigation menus, comments, and a level-D safety sweep over options and post/term/user meta.
  • Page-builder coverage: WooCommerce (product and variation images, galleries, category/brand images, placeholder and e-mail header options, downloadable files) and Elementor (Elementor data, page and global-kit backgrounds, popups and Theme Builder templates, the media dynamic tag).
  • Versioned builder detection: an adapter whose target version is outside its tested range is not run; the scan is marked degraded and confidence is capped, never guessed.
  • Coverage panel in the Scan tab: what was checked, what degraded and why, and the declared classes of reference no scan can see.
  • Anti-false-positive design throughout: 70% confidence cap on incomplete coverage, analysis-only first scan, 14-day immunity for recent uploads, 7-day result expiry, soft delete with same-ID restore and a cooling period, and a purge audit e-mail to the site admin.