Title: Tidy Media
Author: Wp Core Tools
Published: <strong>29 avril 2026</strong>
Last modified: 29 avril 2026

---

Recherche d’extensions

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

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

# Tidy Media

 Par [Wp Core Tools](https://profiles.wordpress.org/wpcoretools/)

[Télécharger](https://downloads.wordpress.org/plugin/tidy-media.1.0.10.zip)

 * [Détails](https://fr-ca.wordpress.org/plugins/tidy-media/#description)
 * [Avis](https://fr-ca.wordpress.org/plugins/tidy-media/#reviews)
 *  [Installation](https://fr-ca.wordpress.org/plugins/tidy-media/#installation)
 * [Développement](https://fr-ca.wordpress.org/plugins/tidy-media/#developers)

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

## Description

Tidy Media finds and removes unused images, videos, and other media files cluttering
your WordPress Media Library. Files are moved to a quarantine folder before deletion,
so you can restore anything that turns out to still be in use.

Page builder support, WooCommerce detection, and custom field scanning are all included
with no feature gating.

#### Quarantine

Files are not deleted directly. They are moved to a quarantine folder where they
remain for a configurable retention period (default 30 days). One-click restore 
brings the file back to its original location with all thumbnails intact. After 
the retention period files are automatically deleted, or you can clear the quarantine
manually at any time.

#### Scanning

The scanner runs in two phases. First it collects every media reference it can find:
post content, featured images, page builder data, WooCommerce products, custom fields,
widgets, site options, and theme files. Then it compares every file in the Media
Library against that list. Anything not found in any source is flagged as unused.

Scans run in batches with resource monitoring and can pause and resume, so they 
will not crash your site.

#### Page Builders

Elementor, Divi, Beaver Builder, WPBakery, and Bricks. Detects images used in widgets,
modules, backgrounds, templates, and saved layouts. Builders that are not installed
appear greyed out in the scan sources list.

#### WooCommerce

Product featured images, gallery images, variation images, category and tag thumbnails,
and downloadable files.

#### Custom Fields

ACF, Meta Box, Pods, JetEngine, and Toolset Types. Image, file, gallery, and media
fields in post meta, term meta, user meta, and option pages. Repeaters, groups, 
and flexible content layouts are walked.

#### Other

Filter by file type, size, or upload date. Bulk actions for cleanup. CSV export 
of unused file lists. Detection of unregistered files (files in uploads/ without
a Media Library entry, often left behind by backup or image optimization plugins).

#### 100% Free

No pro version, no upsells. Every feature is included.

## Captures d’écran

 * [[
 * Scanner tab with sources, options, and live progress
 * [[
 * Scan results with reference counts, filters, and bulk actions
 * [[
 * Quarantine tab with restore and delete options
 * [[
 * Settings page with retention, batch size, and scan options
 * [[
 * How It Works documentation built into the plugin

## Installation

 1. Upload the `tidy-media` folder to `/wp-content/plugins/`
 2. Activate the plugin through the Plugins menu in WordPress
 3. Go to Media > Tidy Media to start scanning
 4. Review the results and move unused files to quarantine
 5. Files in quarantine are automatically deleted after 30 days (configurable)

## FAQ

### Is it safe to delete unused media?

Yes. Tidy Media never deletes files directly from scan results. Files are first 
moved to a quarantine folder where they remain for 30 days (configurable). During
this time, if you notice any missing images on your site, you can restore them with
one click. Only after the retention period expires are files automatically deleted,
or you can delete them manually from the Quarantine tab. All permanent delete actions
require explicit confirmation.

### How does the scanner decide what is « unused »?

The scanner works in two phases. First, it collects every media reference it can
find across your site: post content, featured images, page builder data, WooCommerce
products, custom fields, widgets, site options, and theme files. Then it compares
every file in your Media Library against that list. If a file was not found in any
scanned location, it is flagged as unused. See the « How It Works » tab in the plugin
for full details.

### Will this work with my page builder?

Tidy Media supports all major page builders: Elementor, Divi, Beaver Builder, WPBakery,
and Bricks. The scanner detects images used in widgets, modules, backgrounds, templates,
and saved layouts. Page builders that are not installed appear greyed out in the
scan sources list so you can see what is supported.

### Does it work with WooCommerce?

Yes. Tidy Media detects images used in WooCommerce product galleries, variation 
images, category thumbnails, downloadable product files, attribute images, brand
images, and placeholder images.

### Does it detect images in custom fields (ACF, Meta Box, Pods)?

Yes. Tidy Media supports five custom field plugins: ACF (Advanced Custom Fields),
Meta Box, Pods, JetEngine, and Toolset Types. It scans image, file, gallery, and
media fields in post meta, term meta, user meta, and ACF option pages. It also handles
repeaters, groups, and flexible content layouts.

### What if I accidentally delete an important image?

As long as the file is still in quarantine (within the retention period), you can
restore it with one click. The file and all its thumbnails are moved back to their
original location. If the WordPress attachment post was deleted while the file was
in quarantine, a new one is automatically created with the original metadata.

### What are « unregistered files »?

Unregistered files are files that exist in your wp-content/uploads/ directory but
have no corresponding entry in the WordPress Media Library database. They are invisible
to WordPress. Common sources include backup plugins (UpdraftPlus, BackWPup), image
optimization backups (ShortPixel, Smush), cache files, and files left behind by 
uninstalled plugins. You can enable the « Scan for unregistered files » option to
find and clean these up.

### How long does scanning take?

It depends on the size of your Media Library and the number of posts on your site.
A site with 1,000 media files typically takes 1-3 minutes. Large sites with 10,000
+ files may take 10-30 minutes. The scan runs in batches and monitors server resources,
so it will not crash your site. You can pause and resume at any time.

### Does it handle WordPress-generated thumbnails?

When you upload an image, WordPress generates multiple sizes (thumbnail, medium,
large, etc.). Tidy Media tracks the original file — if the original is used, all
its thumbnails are automatically considered used too. When a file is quarantined
or restored, all thumbnails are moved together. You can enable « Skip WordPress-
generated thumbnails » in Settings to exclude auto-generated sizes from the results.

### What happens if I deactivate the plugin?

Quarantined files remain safely on disk in wp-content/uploads/tidy-media-quarantine/.
They are not deleted when the plugin is deactivated. If you uninstall (delete) the
plugin and have « Delete all data » enabled in Settings, quarantined files and all
plugin data will be permanently removed.

### Will scanning affect my site performance?

No. The scan runs in small batches and monitors server resources (memory and execution
time). It automatically pauses if resources are low and resumes after a brief cooldown.
Your site remains fully operational during scanning.

### Are there any limitations?

The scanner cannot detect images referenced only in custom plugin code (only theme
files are scanned), external CSS/JS files, images loaded via custom PHP or AJAX,
media used only in email templates, or images used as Open Graph images by SEO plugins.
This is why quarantine exists — always quarantine first and verify your site before
permanently deleting.

### Does it work on multisite?

The plugin scans the current site only. On multisite installations, activate it 
per-site and run scans on each site individually.

## Avis

Il n’y a aucun avis sur cette extension.

## Contributeurs & développeurs

« Tidy Media » est un logiciel libre. Les personnes suivantes ont contribué à cette
extension.

Contributeurs

 *   [ Wp Core Tools ](https://profiles.wordpress.org/wpcoretools/)

[Traduisez « Tidy Media » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/tidy-media)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/tidy-media/), consulter
le [SVN dépôt](https://plugins.svn.wordpress.org/tidy-media/), ou s’inscrire au 
[journal de développement](https://plugins.trac.wordpress.org/log/tidy-media/) par
[RSS](https://plugins.trac.wordpress.org/log/tidy-media/?limit=100&mode=stop_on_copy&format=rss).

## Historique des changements

#### 1.0.10 – 2026-04-29

 * Removed: WP-Cron background scanning (use the in-page scanner with pause/resume)
 * Cleanup: Simplified readme and in-plugin « How It Works » copy

#### 1.0.9 – 2026-04-27

 * Security: Hardened SQL preparation across the scanner, quarantine, and bulk actions
 * Stopped overriding the PHP time limit during scans so host settings are respected

#### 1.0.8 – 2026-04-23

 * Compliance: Renamed internal prefix from `tm_` / `TM_` to `tidymedia_` / `TIDYMEDIA_`
   to satisfy the WordPress.org Plugin Review Team’s 4-character minimum. All AJAX
   actions, nonces, CSS classes, and HTML IDs updated accordingly. No user-facing
   behavior changes.

#### 1.0.7 – 2026-04-17

 * Enhancement: Progress modal for Quarantine/Restore/Delete Selected — client-side
   batching with per-chunk progress instead of a silent spinner
 * Enhancement: Media Library Breakdown now shows size per file type in addition
   to count
 * Enhancement: Quarantine image preview is served with cleaned output buffers and
   explicit inline disposition so hosts with gzip handlers no longer return a broken-
   image icon
 * Performance: Stats refresh walks attachments in keyset-paginated batches of 2,000,
   keeping memory flat on 50k+ media libraries
 * Security: Hardened clipboard-copy fallback against XSS from unusual filenames
 * Security: Attachment metadata deserialization now blocks object instantiation(
   allowed_classes => false)

#### 1.0.6 – 2026-04-16

 * Enhancement: Show image thumbnails in the Quarantine list instead of a generic
   icon (served through a protected preview endpoint)
 * Enhancement: Clear (×) button on all search inputs for quick reset

#### 1.0.5 – 2026-04-16

 * Enhancement: Show original file location (wp-content/uploads/…) for each item
   in the Quarantine tab
 * Fix: Search by filename in the Quarantine tab now works (dead handler was suppressing
   the server-side search)

#### 1.0.0 – 2025-04-11

 * Initial release
 * Two-phase scanner (collect references, then compare against Media Library)
 * Quarantine system with configurable retention (1-365 days, default 30)
 * One-click restore from quarantine with full metadata preservation
 * Page builder support: Elementor, Divi, Beaver Builder, WPBakery, Bricks
 * WooCommerce support: galleries, variations, categories, downloadable files
 * Custom field support: ACF, Meta Box, Pods, JetEngine, Toolset Types
 * Theme file scanning for hardcoded image URLs
 * Unregistered file detection with origin tagging
 * Deep scan mode for serialized data in post meta and options
 * Pause and resume support during scans
 * Resource monitoring with auto-pause to prevent server crashes
 * Server-side pagination, filtering, sorting, and search
 * Disk space check before quarantine operations
 * Minimum file size filter
 * CSV export of unused files
 * Visual dashboard with storage statistics

## Méta

 *  Version **1.0.10**
 *  Last updated **il y a 1 semaine**
 *  Active installations **Moins de 10**
 *  WordPress version ** 6.0 ou plus **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 ou plus **
 *  Language
 * [English (US)](https://wordpress.org/plugins/tidy-media/)
 * Tags
 * [cleanup](https://fr-ca.wordpress.org/plugins/tags/cleanup/)[media library](https://fr-ca.wordpress.org/plugins/tags/media-library/)
   [optimization](https://fr-ca.wordpress.org/plugins/tags/optimization/)[storage](https://fr-ca.wordpress.org/plugins/tags/storage/)
   [unused images](https://fr-ca.wordpress.org/plugins/tags/unused-images/)
 *  [Vue avancée](https://fr-ca.wordpress.org/plugins/tidy-media/advanced/)

## Notes

No reviews have been submitted yet.

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

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

## Contributeurs

 *   [ Wp Core Tools ](https://profiles.wordpress.org/wpcoretools/)

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/tidy-media/)