{"id":365276,"date":"2026-09-09T07:13:18","date_gmt":"2026-09-09T07:13:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/it-empower-safe-media-cleaner\/"},"modified":"2026-09-10T09:16:24","modified_gmt":"2026-09-10T09:16:24","slug":"it-empower-media-audit","status":"publish","type":"plugin","link":"https:\/\/mn.wordpress.org\/plugins\/it-empower-media-audit\/","author":23560751,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"IT Empower Media Audit","header_author":"IT Empower Solutions","header_description":"Find unused WordPress media, create a checksum-validated backup, then delete safely \u2014 with restore. By IT Empower Solutions \u2014 contact@it-empower.com","assets_banners_color":"f9fbff","last_updated":"2026-09-10 09:16:24","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.it-empower.com\/","header_plugin_uri":"","header_author_uri":"https:\/\/www.it-empower.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":72,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"itempowersolutions","date":"2026-09-09 07:13:04","revision":3687785},"1.1.0":{"tag":"1.1.0","author":"itempowersolutions","date":"2026-09-10 09:16:24","revision":3689617}},"upgrade_notice":{"1.1.0":"<p>Adds reclaimable-space KPIs and image preview on scan results.<\/p>","1.0.5":"<p>Review links now open the full reviews page.<\/p>","1.0.4":"<p>Renamed to IT Empower Media Audit. Existing scan data is migrated automatically.<\/p>","1.0.3":"<p>First public package. Always review unused candidates before cleanup.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3687785,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3687785,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500-fr_FR.png":{"filename":"banner-1544x500-fr_FR.png","revision":3687785,"resolution":"1544x500","location":"assets","locale":"fr_FR","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3687785,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-fr_FR.png":{"filename":"banner-772x250-fr_FR.png","revision":3687785,"resolution":"772x250","location":"assets","locale":"fr_FR","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3687785,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[151,3786,84,85,286],"plugin_category":[45,50,59],"plugin_contributors":[279868],"plugin_business_model":[],"class_list":["post-365276","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-cleanup","plugin_tags-media","plugin_tags-uploads","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-media","plugin_category-utilities-and-tools","plugin_contributors-itempowersolutions","plugin_committers-itempowersolutions"],"banners":{"banner":"https:\/\/ps.w.org\/it-empower-media-audit\/assets\/banner-772x250.png?rev=3687785","banner_2x":"https:\/\/ps.w.org\/it-empower-media-audit\/assets\/banner-1544x500.png?rev=3687785","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/it-empower-media-audit\/assets\/icon-128x128.png?rev=3687785","icon_2x":"https:\/\/ps.w.org\/it-empower-media-audit\/assets\/icon-256x256.png?rev=3687785","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>A common case: a WordPress site whose <strong>uploads folder<\/strong> (<code>wp-content\/uploads<\/code>) has grown for years. Old images, PDFs and unused attachments stay on disk even though they no longer appear on pages, posts or the shop. The Media Library looks full; the live site no longer uses those files.<\/p>\n\n<p><strong>IT Empower Media Audit<\/strong> finds that unused media, explains why each file was classified, creates a <strong>validated backup<\/strong>, then deletes safely \u2014 with restore.<\/p>\n\n<p>The plugin does not compete on how many files it can delete. It competes on making WordPress media cleanup <strong>safe, explainable and recoverable<\/strong>.<\/p>\n\n<h4>English<\/h4>\n\n<p>Typical situation: redesigns, old products, unused page-builder images and leftover files inflate <code>uploads<\/code> while the public site has moved on. Disk fills up; backups get slower; nobody knows which files are still referenced.<\/p>\n\n<p>Scan the Media Library, review unused vs used vs protected files, back up the exact selection, <strong>validate that backup<\/strong> (file count, size, SHA-256), then delete in batches. Restore stays available while the recovery point exists.<\/p>\n\n<p><strong>No validated backup = no deletion.<\/strong> That rule is enforced in the code, not only shown as a warning.<\/p>\n\n<p>What version 1.0 scans: posts, pages, custom post types, featured images, post meta, options, widgets, Customizer \/ theme mods, Gutenberg, Elementor, WooCommerce, JSON and PHP serialized values, HTTP\/HTTPS, relative and CDN upload URLs.<\/p>\n\n<p>The plugin never adds a \u201cpowered by\u201d credit on your public website.<\/p>\n\n<p><strong>Website:<\/strong> <a href=\"https:\/\/www.it-empower.com\/\">https:\/\/www.it-empower.com\/<\/a>\n<strong>Support:<\/strong> <a href=\"mailto:contact@it-empower.com\">contact@it-empower.com<\/a><\/p>\n\n<h4>Fran\u00e7ais<\/h4>\n\n<p>Cas fr\u00e9quent : un site WordPress dont le <strong>dossier uploads<\/strong> (<code>wp-content\/uploads<\/code>) a grossi pendant des ann\u00e9es. Anciennes images, PDF et pi\u00e8ces jointes restent sur le disque alors qu\u2019ils n\u2019apparaissent plus sur les pages, les articles ou la boutique. La m\u00e9diath\u00e8que est pleine ; le site public ne s\u2019en sert plus.<\/p>\n\n<p>Refontes, anciens produits, images de page builder et fichiers oubli\u00e9s gonflent <code>uploads<\/code> alors que le site a chang\u00e9. L\u2019espace disque part, les sauvegardes ralentissent, personne ne sait ce qui est encore r\u00e9ellement utilis\u00e9.<\/p>\n\n<p>Trouvez ces m\u00e9dias inutilis\u00e9s, lisez pourquoi chaque fichier a \u00e9t\u00e9 class\u00e9, cr\u00e9ez une sauvegarde de la s\u00e9lection exacte, <strong>validez cette sauvegarde<\/strong> (nombre de fichiers, taille, SHA-256), puis supprimez par lots. La restauration reste possible tant que le point de r\u00e9cup\u00e9ration existe.<\/p>\n\n<p><strong>Pas de sauvegarde valid\u00e9e = pas de suppression.<\/strong> Cette r\u00e8gle est appliqu\u00e9e dans le code, pas seulement affich\u00e9e.<\/p>\n\n<p>Scan 1.0 : articles, pages, CPT, images \u00e0 la une, postmeta, options, widgets, Customizer, Gutenberg, Elementor, WooCommerce, JSON et valeurs PHP s\u00e9rialis\u00e9es, URL HTTP\/HTTPS, relatives et CDN.<\/p>\n\n<p>Aucun lien \u00ab powered by \u00bb n\u2019est ajout\u00e9 sur le site public.<\/p>\n\n<p><strong>Site :<\/strong> <a href=\"https:\/\/www.it-empower.com\/\">https:\/\/www.it-empower.com\/<\/a>\n<strong>Support :<\/strong> <a href=\"mailto:contact@it-empower.com\">contact@it-empower.com<\/a><\/p>\n\n<h4>Cleanup workflow<\/h4>\n\n<ol>\n<li>Dry-run scan (no files are modified)<\/li>\n<li>Review unused \/ possibly used \/ protected candidates<\/li>\n<li>Select unused files only<\/li>\n<li>Pre-flight (permissions, disk space, backup directory)<\/li>\n<li>Backup of the exact selection<\/li>\n<li>Backup validation (count, size, checksums)<\/li>\n<li>Final reference re-check<\/li>\n<li>Batch deletion with verification<\/li>\n<li>Restore from the recovery point when needed<\/li>\n<\/ol>\n\n<h4>What this plugin will not do in 1.0<\/h4>\n\n<ul>\n<li>Automatically delete orphan files on the filesystem<\/li>\n<li>Scan every page builder (Divi, WPBakery, Bricks are planned)<\/li>\n<li>Put a credit link on your public website<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>it-empower-media-audit<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>IT Empower Media Audit<\/strong>.<\/li>\n<li>Open <strong>IT Empower Audit<\/strong> in the WordPress admin menu.<\/li>\n<li>Run a dry-run scan, review unused files, then create a backup before any deletion.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20plugin%20add%20a%20link%20on%20my%20public%20site%3F\"><h3>Will this plugin add a link on my public site?<\/h3><\/dt>\n<dd><p>No. Author links appear only on the plugin\u2019s admin screens, the plugin header and this readme.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20backup%3F\"><h3>Can I disable the backup?<\/h3><\/dt>\n<dd><p>No. A validated backup is mandatory before deletion.<\/p><\/dd>\n<dt id=\"what%20if%20the%20backup%20fails%3F\"><h3>What if the backup fails?<\/h3><\/dt>\n<dd><p>Deletion stays blocked. No files are removed.<\/p><\/dd>\n<dt id=\"my%20uploads%20folder%20is%20huge%20but%20those%20files%20are%20not%20on%20the%20site\"><h3>My uploads folder is huge but those files are not on the site<\/h3><\/dt>\n<dd><p>That is the usual case. After redesigns, removed products or unused builder images, old files stay in <code>wp-content\/uploads<\/code> even though pages no longer reference them. The plugin classifies unused vs used vs protected before any cleanup.<\/p><\/dd>\n<dt id=\"does%20%E2%80%9Cunused%E2%80%9D%20mean%20the%20file%20is%20safe%20to%20delete%3F\"><h3>Does \u201cunused\u201d mean the file is safe to delete?<\/h3><\/dt>\n<dd><p>Not automatically. Dynamic references in PHP, JavaScript or unsupported plugins cannot be fully proven. Protected and possibly used files cannot be selected.<\/p><\/dd>\n<dt id=\"how%20can%20i%20contact%20the%20author%3F\"><h3>How can I contact the author?<\/h3><\/dt>\n<dd><p>IT Empower Solutions \u2014 website <a href=\"https:\/\/www.it-empower.com\/\">https:\/\/www.it-empower.com\/<\/a> \u2014 email <a href=\"mailto:contact@it-empower.com\">contact@it-empower.com<\/a><\/p><\/dd>\n<dt id=\"comment%20contacter%20l%E2%80%99auteur%20%3F\"><h3>Comment contacter l\u2019auteur ?<\/h3><\/dt>\n<dd><p>IT Empower Solutions \u2014 site <a href=\"https:\/\/www.it-empower.com\/\">https:\/\/www.it-empower.com\/<\/a> \u2014 e-mail <a href=\"mailto:contact@it-empower.com\">contact@it-empower.com<\/a><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Scan recap with reclaimable disk space and file sizes by status.<\/li>\n<li>Image thumbnails and lightbox preview on the results screen.<\/li>\n<li>Clearer results table, filters and backup action bar.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Review links point to the full WordPress.org reviews page.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Distinct directory name: IT Empower Media Audit.<\/li>\n<li>Prefixed identifiers, uploads paths via wp_get_upload_dir(), translations via translate.wordpress.org.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Extension filter on unused files.<\/li>\n<li>French \/ English UI from the WordPress user language (English fallback).<\/li>\n<li>Clearer admin workflow. WordPress.org review links stay hidden until the plugin is published.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Safer delete re-check (numeric IDs in page content no longer block unused files).<\/li>\n<li>Delete leftover image sizes and hide removed files from the current scan.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Scan classification fixes (options and attachment meta false positives).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: scan, explainable results, mandatory validated backup, batch delete, restore and audit log.<\/li>\n<\/ul>","raw_excerpt":"WordPress site with a huge uploads folder of unused old files: find them, back them up, then delete safely.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/365276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=365276"}],"author":[{"embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itempowersolutions"}],"wp:attachment":[{"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=365276"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=365276"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=365276"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=365276"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=365276"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/mn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=365276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}