Old logos. Images from last year’s redesign. Uploads you tried once and forgot about. A WordPress media library keeps growing long after you have stopped using some of what is in it. Media Hygiene finds the files worth a second look. Scan your library, review what appears unused, and decide what sta
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.3 and PHP 8.0.
SourceWordPress plugins · Oct 25, 2026
01 / Source details
Aboutthistool.
Old logos. Images from last year’s redesign. Uploads you tried once and forgot about. A WordPress media library keeps growing long after you have stopped using some of what is in it.
Media Hygiene finds the files worth a second look. Scan your library, review what appears unused, and decide what stays. Clearing out what you no longer need reclaims storage and makes every future backup smaller.
It suits blogs, business sites and client work. Start small, or filter a large library down into groups you can actually work through. No coding needed.
How it works
01Scan your library. The plugin looks for references to your images, documents, audio and video across the content sources it supports.
02Review the results. You get names, URLs and sizes, so you can open a file or copy its address and check for yourself.
03Keep what matters. Add anything you want to protect to the whitelist and it stays out of every future scan.
04Finish when you are ready. Move files to Trash, restore them if you change your mind, or delete them permanently.
You stay in control throughout. Nothing is deleted unless you select it and confirm. An unused result means no reference was found in the places the plugin reads, which is why the review step matters. Keep a backup before you delete anything.
Some use cases for website owners
Unable to keep track of unused media files in the media library.
Uploading the same images in different sizes to figure out optimal size and forgetting which one was actually used.
Switching out an image in a post with another and can’t find it media library file.
Updating the logo with a new version and don’t want the old one to be indexed by Google.
Images included with purchased theme but never deleted after site was launched.
After a website was redesigned or rebranded, there may a number of old images or media files no longer in use.
Before migrating to a new hosting provider, cleaning up the media library may make it a smoother and faster migration process.
Getting a warning from your hosting provider that you are hitting the storage limit, make your backups smaller.
You have guest posts or contributors who may have left behind a number of images.
Changing your product listings or discontinuing products in e-commerce sites may mean images are left unused.
After trying out a theme, deactivation of theme may leave behind media files.
How is it Different?
Media Hygiene Pro scans the entire website using a number of different techniques. One way is to “visualize images/media in page source code” to confirm the existence of a media file even when builders/plugins/themes use specialized custom posts to display their widgets on-screen.
File Types:
Media Hygiene will recognize most if not all major file types stored in the WordPress media library. This includes but not limited to PDF, jpg, png, gif, mp4, mp3, csv, zip, rar, and txt files. We also cover alternative extension spelling such as jpeg.
Standard Features:
Dashboard – shows list of all unused media by occupied space and by type.
Notifications – a summary email when new files have been uploaded since your last scan. Monthly by default, and you can change it to daily, weekly, bi-weekly or quarterly, or switch it off, in Settings.
Site builder compatibility – detects media placed with Gutenberg, Elementor, Divi, Bricks, Visual Composer and OceanWP on pages and posts, plus sliders built with LayerSlider (see list below).
Whitelist – keep files safe from deletion. Perfect for files linked to from off-site sources.
Filtering – files by name, by year and month, and by category: images, video, audio, documents or others.
Page size – show between 1 and 200 results at a time. The default is 10.
Exclude file types – leave chosen extensions out of the scan in Settings. Font files and CSS are excluded already.
Backup – download unused media file individually or by page.
Delete – remove files individually or by page.
Scan – scanning process for all media files not linked to any page/post or other theme settings.
Support – only through WordPress repository.
Changelog
Full version history is at the bottom of this page, and also at mediahygiene.com/changelog .
Compatibility
Please check our website to see a complete list of compatible plugins/themes.
Detected by the free version, on pages and posts:
Gutenberg
Elementor (builder)
Bricks (builder)
Divi (builder)
Visual Composer (builder)
OceanWP (theme)
LayerSlider (slider plugin, bundled with the Enfold theme)
Pro adds the same builders in templates, theme options, headers, footers and custom post types, plus WP Bakery, Beaver Builder, Avada and Flatsome, and media stored by WooCommerce, ACF, Pods, Custom Field Suite, the SEO plugins and the slider plugins.
More to come…
What it reads, and what it does not
We would rather tell you this up front than have you find out after deleting something.
The free version finds media by reading your posts and pages, including the page builders listed above, your Site Editor templates, your widgets and your site logo.
Some plugins store images as an ID number rather than a link. Advanced Custom Fields, WooCommerce product galleries, Pods, Custom Field Suite, the SEO plugins and the slider plugins all work that way. The free version cannot follow those, so an image used only in one of those places can appear in your unused list while your site is still using it.
It tells you when that applies to your site. If one of those plugins is holding media, the dashboard says so, with a count and the plugin name, before you delete anything. A file can also be referenced by a shortcode or a dynamic tag that builds the link when the page loads, and those cannot be counted in advance.
So treat the results as a list to review rather than a verdict, and keep a backup before deleting. Pro reads all of the above.
Pro
Pro reads the places the free version cannot.
Media stored by plugins
Advanced Custom Fields, including image, gallery, file and repeater fields
WooCommerce product galleries, category images, downloadable files and custom tabs
Pods
Custom Field Suite
Jet Engine
Yoast SEO, All in One SEO and SEO Press
Slider Revolution, Meta Slider and Smart Slider
Wider coverage of the builders
The free version reads page builders on your pages and posts. Pro also reads saved templates, headers, footers, theme options and custom post types, so a template reused across the site is not mistaken for unused content.
Stronger matching
Pro matches resized copies, scaled, rotated and edited versions back to the original file, follows references inside JSON and serialized data, and works on sites where the uploads folder has been moved.
Tools
Folder Scan, which checks the uploads folder for files with no database record at all
Quarantine, which moves files aside first so you can restore them if something was in use
One shot download and one shot delete for the whole list rather than a page at a time
Filter by year and by file type
WP-CLI commands for large libraries, so a scan is not limited by browser timeouts
Direct support from the plugin
Coming to Pro
Meta Box
CPT UI
Remote server backup and restore
Scheduled scans, so a scan can run on a timer rather than being started by hand
WPML, Weglot and TranslatePress
See it in action
Screenshots & previews.
Scan and SeeIdentify Unused Media FilesRemove Media FilesSettingsBulk Delete and Bulk Restore
02 / Source details
Gettingstarted.
From Your WordPress Dashboard
01Go to Plugins > Add New
02Search for Media hygiene
03Click on Install Now Button
04Click on Activate Now After successfully installed in your site.
From WordPress.org
05Download Media hygiene
06Upload the media-hygiene folder to the /wp-content/plugins/ directory
07Activate Media hygiene plugin from your plugins page.
03 / Source details
Frequently asked questions.
How do I know which media files are unused?
The plugin scans the content sources it supports: posts and pages including drafts, Site Editor templates and template parts, synced patterns, the Customizer and site identity settings, widgets, and the builders listed in the compatibility table. A file is reported as unused when no reference to it was found in any of those places.
That is a statement about where we looked, not a guarantee about your whole site. A file can still be in use somewhere the free version does not read, for example a custom field defined in your theme’s code, or a reference built at page render time by a shortcode or a dynamic tag. The dashboard tells you when it detects a coverage gap like that, with the source and a count.
So treat the list as a shortlist to review, not a verdict. Keep a current backup, check anything you are unsure about, and whitelist the files you want to keep.
Could a file I am still using show up as unused?
It can, and it is worth knowing when. The plugin never deletes anything on its own: nothing is removed unless you select it and confirm. The question is whether the list you are choosing from is right.
If a file is referenced in a scanned source, a post, a page, a template, a widget, a site logo or a supported builder, it is detected and kept out of the unused list. What the free version cannot follow is media stored outside those sources: custom fields registered in theme or plugin code, and content assembled when the page is rendered rather than saved in the database.
Two things protect you. The dashboard reports a detected coverage gap with its source and count, so you know to look closer before deleting. And the whitelist locks any file you want kept, so it stays out of every future scan.
Does the plugin send any data off my site?
Two things, and you control both.
Usage statistics are opt-in. Nothing is sent unless you click “Yes, allow” on the notice inside the plugin. If you do, we send your site URL along with totals: how many media files you have, how much space they use, and how much of that is unused. We do not send filenames, file contents, post content, user details, or email addresses. You can turn it off at any time in Settings.
The summary email is sent from your own site to your own admin email address, using WordPress. It is not sent to us and we never see it. It is on by default, once a month, and only when files have actually been uploaded since your last scan. Set Frequency to “Off (no emails)” in Settings to stop it.
Which page builders does the free version support?
The free version detects media placed with Gutenberg, Elementor, Divi, Bricks, Visual Composer and OceanWP on your pages and posts. It also reads sliders built with LayerSlider, the slider plugin that ships with the Enfold theme.
Pro reads those same builders everywhere else as well: saved templates, theme options, headers and footers, and custom post types. Pro also reads media stored by plugins in their own custom fields and database tables, such as Advanced Custom Fields, WooCommerce, Pods, Custom Field Suite, the SEO plugins and the slider plugins. The free version cannot see media stored that way, which is why it warns you when one of those plugins is active.
How does the plugin identify and remove the unused media files?
The Media Hygiene uses a few scanning modes. The first mode compares the database entries of specific modules with the files. The second mode scans each folder in the wp-content/upload directory. It identifies files that are not listed in the database and considers them to be unused.
Will this plugin remove any media files from my backups?
The Media Hygiene plugin does not have the ability to look inside backups and/or remove any files from your backups.
Will removing unused media files affect the performance of my website?
While removing unused media files does not directly impact page loading times, removing unused media files can actually improve the performance of your server and indirectly improve loading times. Unused media files take up space on your server and can cause backups to take longer.
Is there any risk of data loss or corruption when using this plugin?
Like any software, there is a small risk of data loss or corruption when using the Media Hygiene plugin. However, the developer has taken steps to minimize this risk by thoroughly testing the plugin and including safety features on various hosting platforms (e.g. shared, VPS, and dedicated). Please note: websites hosted on shared platforms have a greater probability of failure due to limited allowable resources dictated by the hosting provider.
Additionally, it is always recommended to keep a backup of your website before using any plugin that modifies your directories, just in case something goes wrong.
How often should I run this plugin to keep my media library clean?
The frequency at which you run the Media Hygiene plugin depends on how frequently you add media files to your website. There is an email notification feature that allows informs you of the number of files uploaded but not scanned.
If your website receives a high volume of traffic and media files are frequently added, it’s recommended to set notifications more frequently, such as every week.
Does this plugin have any limitations or potential conflicts with other plugins or themes?
The Media Hygiene plugin is designed to work seamlessly with all the most popular WordPress themes and plugins. However, WordPress is a dynamic ecosystem where there are many changes occurring. The developers have tried to accommodate every possibility.
To our knowledge, the plugin does not have any known conflicts with other plugins or themes.
We strongly recommend backing up the website and/or running the plugin on a staging or development environment.
If you do encounter any issues or conflicts, you can contact the developer for support and guidance. The developer will work to resolve the issue as soon as possible and provide a solution.
Can I preview the media files that will be deleted before they are removed?
Yes, the Media Hygiene plugin allows you to preview the media files that will be deleted before they are removed. The plugin’s media scanner will provide a list of all the unused media files, including details such as the file name, image, location (URL), and size.
You can review the files and whitelist the file to prevent deletion.
Is there any customer support available if I have any issues with the plugin?
Yes, there is customer support available for the Media Hygiene plugin. The developer provides basic support through the WordPress repository, where you can find answers to frequently asked questions and troubleshoot common issues.
Pro users will have access to direct support inside the plugin. The support team will respond to inquiries as soon as possible, but response times may vary depending on the nature of the inquiry and the volume of support requests.
Can I exclude certain media files or folders from being deleted?
Yes, the Media Hygiene plugin allows you to exclude certain media files type from scan that do not display in unused files by adding files to a whitelist in the scan results list or It is for Folder Scan separate from Regular Media Scan.
Can I restore any media files that were accidentally deleted?
The Media Hygiene plugin does not have a built-in feature to restore deleted media files. You can restore accidentally deleted media files by using a backup of your website.
Is there a way to schedule the plugin to run automatically at regular intervals?
Scans are started by you, not on a timer, in both the free version and Pro. What you can schedule is the summary email. Under Settings you can have the plugin email you about new media daily, weekly, every two weeks, monthly or quarterly, or turn it off. The email tells you what has been added since your last scan, so you know when another scan is worth running.
Does this plugin work with multisite installation of WordPress?
This feature is not available yet but coming.
Can I see a log of all the media files that have been deleted by the plugin?
This feature is not available yet but coming.
Will this plugin remove any meta data associated with the media files?
No, Media Hygiene will remove the file in its entirety from the WordPress media library. It does not remove metadata only.
Is the plugin compatible with the latest version of WordPress?
The Media Hygiene plugin is designed to be compatible with the latest version of WordPress. The developer regularly updates the plugin to ensure that it continues to work seamlessly with the latest version of WordPress.
Website LLMs.txt and LLMs-Full.txt Generator is an LLMs.txt generator and llms-full.txt generator for WordPress. It helps site owners generate, manage, preview, validate, and serve AI discovery files from published public content. Use it to create structured /llms.txt and optional /llms-full.txt end
EngageDock AI is a customizable floating contact widget for WordPress websites that want more leads and faster visitor communication. It helps small businesses turn website traffic into calls, texts, emails, and callback requests from one clean contact panel. Key Features: Click-to-Call – One tap ca
Altify AI is an auto ALT text and AI ALT text plugin for WordPress images. It helps generate descriptive image ALT text for accessibility and image SEO. Use bulk image ALT text tools for your Media Library, generate featured image ALT text automatically, and scale WooCommerce image ALT updates with
The Accepted Payment Methods plugin is a straightforward, lightweight solution that enhances your website by displaying visually appealing icons of the payment methods you accept. This plugin is ideal for a variety of websites, including e-commerce platforms, service-oriented websites, and informati