DevDome Media Cleaner – Remove Unused Images & Orphan Images
DevDome Media Cleaner – Remove Unused Images & Orphan Images
Description
WordPress Media Cleaner & Image Cleaner
DevDome Safe Media Cleaner is a WordPress media cleaner and image cleaner for finding and safely removing unused images, orphan files, and missing media from your Media Library and uploads folder.
Find unused images, review orphan images and files, and clean your WordPress Media Library without permanently deleting files immediately.
Selected media moves to a protected Recycle Bin first, so you can check your site, restore cleaned files with one click, and permanently delete them only when you are ready.
Find & Remove Unused Images
Scan your WordPress Media Library for images that are no longer referenced by your website.
DevDome Safe Media Cleaner checks common WordPress content and settings before marking an image as unused, including posts, pages, custom post types, builders, widgets, menus, featured images, galleries, Gutenberg blocks, CSS backgrounds, responsive images, and WordPress options.
Use the review screen to inspect unused images before deleting or moving anything.
Find Orphan Images & Files
Find orphan files that exist inside your WordPress uploads folder but no longer have a matching Media Library record.
Orphan files can accumulate after migrations, deleted plugins, failed uploads, manual file transfers, or years of website changes.
Review orphan media individually or in bulk and move unwanted files safely to the Recycle Bin.
Clean Your WordPress Media Library Safely
Media cleanup should not mean permanently deleting files without a way back.
DevDome Safe Media Cleaner uses several safeguards:
- Recycle Bin first: cleaned files are moved instead of immediately deleted.
- Last-second re-check: every selected file is checked again immediately before it moves.
- Protected by default: recent uploads and uncertain files are not automatically selected.
- Clear review status: files are marked Safe to remove, Needs manual review, or Protected with the reason shown.
- ZIP backups: create, download, upload, and restore media backups before cleanup.
How Media Cleanup Works
- Scan: Scan the WordPress Media Library and uploads folder in resumable background batches.
- Review: Search, filter, sort, and inspect unused images, orphan files, and missing media.
- Clean: Move selected media to the protected Recycle Bin.
- Restore or delete: Restore files with one click or permanently delete them after checking your website.
Detailed Image & Media Review
Review scan results in a visual grid or list.
You can:
- Search by filename
- Filter by cleanup status
- Sort by file size, dimensions, or age
- Select individual files or clean media in bulk
- View thumbnails, dimensions, file size, upload date, and cleanup reason
- Export scan results to CSV
Sorting unused images and orphan files by size makes it easy to find the media consuming the most disk space.
Checks Common WordPress Image References
Before identifying media as unused, the scanner checks common WordPress image references including:
- Posts and pages
- Custom post types
- Revisions
- Reusable and synced blocks
- Featured images
- Galleries
- Gutenberg blocks
srcsetand responsive images- Lazy-loading attributes
- CSS backgrounds
- Widgets
- Navigation menus
- Site logo and site icon
- WordPress options
Page Builder, WooCommerce & Plugin Support
The scanner also checks data used by popular WordPress tools.
Page builders
Elementor, Divi, Beaver Builder, WPBakery, Bricks, Oxygen, Kadence, GenerateBlocks, Spectra, SeedProd, and Thrive.
WooCommerce
Product images, product galleries, variations, and category images.
Custom fields and SEO plugins
ACF, Meta Box, Yoast SEO, Rank Math, and AIOSEO.
Generated WordPress images
Thumbnail sizes, scaled images, and edited copies are matched to their original Media Library attachment.
Built for Large Media Libraries
Large WordPress media libraries can contain thousands of images.
Scans run in small, resumable background batches to reduce memory usage and timeout risk.
You can pause and resume a scan without starting over.
Free Media Cleaner Features
The following features are free and unlimited:
- Unused image scanning
- Orphan file detection
- Missing media detection
- Media review and reports
- Recycle Bin
- One-click restore
- ZIP media backups
- Scheduled scans
- CSV export
- WP-CLI commands
No DevDome account is required to scan, review, remove, restore, or delete unused media.
Optional DevDome Monitoring
You can optionally connect a free DevDome account and enable Monitoring.
After each scan, aggregate media statistics can be sent to DevDome so you can track media-library growth across connected WordPress sites and receive alerts when unused media exceeds a threshold you choose.
No media files, filenames, image URLs, or visitor data are sent.
External services
Plugin catalog (devdome.com). The DevDome Dashboard inside wp-admin fetches the list of DevDome plugins (names, descriptions, logos, links, WordPress.org slugs) from https://devdome.com/wp-plugins/catalog.json at most once every 12 hours, so the list stays current. Only the bundled core version is sent in the request; no site or visitor data. Service provider: DevDome. Terms: https://devdome.com/terms-of-service Privacy policy: https://devdome.com/privacy-policy
All scanning, classification, Recycle Bin, backup, and restore features run on your own server. The plugin connects to DevDome only after explicit opt-in.
- DevDome account connection (
devdome.com,api.devdome.comandanalytics.devdome.com) – optional.
Connecting an account is required only for optional DevDome Monitoring. When you start the connection, devdome.com opens in your browser. After approval, the plugin stores your public DevDome Account ID and a site token, then sends the site token to api.devdome.com to verify the connection; the connection handshake itself (start and claim) talks to analytics.devdome.com. The service returns the account email displayed in the plugin settings.
The Account ID, site domain, and site token are transmitted. If you disconnect, the site domain and site token are sent once to unlink the site.
No media files, filenames, private image URLs, or visitor data are sent.
Service provider: DevDome
Terms: https://devdome.com/terms-of-service
Privacy policy: https://devdome.com/privacy-policy
- DevDome Monitoring (
api.devdome.com) – optional and opt-in.
When Monitoring is enabled, the plugin sends aggregate scan statistics after each scan: site domain, site token, total media count and size, unused media count and size, orphaned file count, alert threshold, selected email frequency, and the link to this plugin’s wp-admin screen.
DevDome stores this history, displays it in the media-health dashboard, tracks changes across scans and connected sites, and sends alert emails when the chosen threshold is exceeded.
No media files, filenames, image URLs, or visitor data are sent.
Service provider: DevDome
Terms: https://devdome.com/terms-of-service
Privacy policy: https://devdome.com/privacy-policy
Dormant endpoints in the bundled DevDome core
The bundled shared library references these endpoints, but they are disabled and are not contacted by the WordPress.org build:
https://api.devdome.com/plugin-updates/– used by the self-hosted DevDome suite installer. Updates and installs for this build come only from WordPress.org.https://api.devdome.com/media-cleaner/metrics– used by the DevDome-distributed build for aggregate product metrics. It does not run in the WordPress.org build.
Beyond the plugin catalog fetch and the error reports described above, no outbound request is made unless you explicitly connect a DevDome account. Monitoring statistics are sent only after you also enable DevDome Monitoring.
- Error reports (
devdome.com) – only when you press Report this error. The button on an error message sends the error text, the plugin, WordPress and PHP versions, the screen you were on, your site address and your admin email (so support can reply) tohttps://devdome.com/api/plugin/error-report. Nothing is sent unless you press it. Terms: https://devdome.com/terms-of-service Privacy: https://devdome.com/privacy-policy
Privacy
- Media files stay local. Scanning, classification, cleanup, backup, and restore run on your server.
- Recycle Bin files stay local. They are stored in
/wp-content/uploads/devdome-safe-trash/, protected against public access by the bundled .htaccess (Apache) and web.config (IIS) rules; on nginx add a deny rule for that folder yourself. - No cookies are set by the plugin.
- No product metrics are sent by the WordPress.org build.
- Optional Monitoring sends only the aggregate statistics listed in the External services section after explicit opt-in.
AI and Agent Support
On WordPress 6.9 and newer, DevDome Safe Media Cleaner registers WordPress Abilities covering the whole plugin: media health summary, scan results with every filter, filter options, job progress and control, scans (Media Library, disk, preview), one-click cleanup, moving chosen files to the Recycle Bin, batches and their files, restore, permanent delete, protect and ignore, backups (list, create, restore, delete), every setting and the error log. Compatible AI agents and MCP clients, for example through the official WordPress MCP Adapter, run the same code as the plugin screens under the same capability checks; irreversible actions need an explicit confirmation.
Installation
- Install and activate the plugin from the WordPress Plugins screen.
- Open DevDome > Safe Media Cleaner and select Scan Media Library.
- Review the results and move selected files to the Recycle Bin.
- Check your site, then restore anything you need or confirm permanent deletion.
Screenshots

Overview: view Media Library and Disk Storage cleanup opportunities, storage totals, and scan actions.

Media Library review: inspect unused images with status labels, reasons, filters, and bulk selection.

Disk Storage review: find orphaned files in the uploads folder that have no Media Library record.

Recycle Bin: review cleanup batches and restore cleaned files with one click.

Backup and Restore: create, upload, download, and restore ZIP media backups.

Settings: configure scheduled scans, retention, protection rules, and optional DevDome Monitoring.
Faq
No scanner can guarantee detection of every custom or hard-coded reference. DevDome Safe Media Cleaner checks many common WordPress locations, page builders, WooCommerce data, custom fields, SEO settings, CSS, and responsive image references. It also re-checks each selected file immediately before moving it.
Uncertain files are marked Needs manual review and are not selected automatically. Selected files move to the Recycle Bin first so they can be restored.
Yes. The first cleanup action moves selected files to the Recycle Bin instead of permanently deleting them. Cleaned files can be restored to their original locations with one click.
Unused images have a Media Library record but no detected reference on the site. Orphaned files exist in the uploads folder without a matching Media Library record.
Not in this version. An identical copy is listed like any other unused or orphan file. A duplicate view that groups copies and suggests which one to keep is planned.
Run a scan, open Review, and sort by file size. Review the largest unused images and orphaned files first. The dashboard shows the amount of storage represented by the flagged files.
Yes. It checks data used by Elementor, Divi, Beaver Builder, WPBakery, Bricks, Oxygen, Kadence, GenerateBlocks, Spectra, SeedProd, Thrive, WooCommerce, ACF, Meta Box, Yoast SEO, Rank Math, and AIOSEO.
Scanning runs in small background batches to reduce memory use and timeout risk. Large scans can be paused and resumed.
No. Scanning, review, reports, backups, cleanup, the Recycle Bin, and restore work without an account. A free DevDome account is required only for optional DevDome Monitoring.
Yes. Each site keeps its own scans, Recycle Bin, backups, and settings.
It is a protected local folder used to hold cleaned files before permanent deletion. Each cleanup batch includes a manifest and checksums so files can be restored to their original locations.
No. Nothing is removed until you review the results and choose what to clean. The first step is always the Recycle Bin, so every cleanup can be undone.
Yes. The disk scan walks wp-content/uploads and lists orphaned files: images with no Media Library record, including thumbnails left behind by deleted images. Other file types are left alone.
Yes. Scans, cleanups, backups, and restores run on the server in background batches and continue after you close the tab. Reopen the plugin page to see the progress.
Restore or permanently delete every batch first. Uninstalling removes the plugin tables, so files still in the Recycle Bin folder can no longer be restored from the screen; the folder itself is left in place and the hidden attachments become visible again.
Reviews
Free and totally does it's job.
By gocciaspa on August 29, 2026
Had a ton of old media sitting around from past redesigns. The scan found a lot more unused files than I expected, and the recycle bin made it easy to clean up without worrying about deleting something important.
Solid tool for clean libraries
By monicp on August 26, 2026
User-friendly tool that gets the job done without risking data loss.
Changelog
1.1.0
- WordPress Abilities API: 22 abilities covering every feature (summary, scan results and filters, scans, cleanup, Recycle Bin batches, restore, permanent delete, protect, backups, settings, error log) for AI agents and MCP clients on WordPress 6.9 and newer.
- Updates now work when the plugin folder belongs to another system user (shared DevDome core 1.7.4): folders installed from a root shell or by an AI agent no longer fail to update through the hub, the Plugins screen, bulk updates, uploads or automatic updates.
1.0.10
- Connect fix (shared DevDome core 1.6.6): the connect claim now waits up to 30 seconds and keeps the handshake for 20 minutes so a refresh retries it, the DevDome hub shows why a connect failed with a Try again link, and the verify file is served through a query form for hosts that answer /.well-known/ before WordPress.
1.0.9
- First tab is now called Overview, in line with the other DevDome plugins. Old links to the Dashboard tab still open it.
- Settings: every option now shows a one line hint under the control, with the info icon holding the full explanation, the same layout as DevDome Malware Scanner.
- DevDome Dashboard: installing another DevDome plugin from the dashboard no longer activates it, you activate it yourself from its card. Output escaping tightened.
1.0.8
- DevDome Dashboard: plugin list, descriptions, logos and versions now come from devdome.com, one-click install of DevDome plugins from WordPress.org, Docs link and Fix buttons, Activate stays on the dashboard.
1.0.7
- Bundled DevDome core updated to 1.6.2: the DevDome Dashboard shows the new Affiliate Manager logo.