HoatzinMedia
HoatzinMedia is a WordPress media cleaner and storage optimizer that helps you reclaim disk space and improve site performance by identifying unused attachments, oversized uploads, and storage pressure signals. It includes a clear dashboard, a reversible trash workflow, and batch-based scanning designed for large media libraries. Benefits: Reduce storage usage by finding unused and heavy media files Improve WordPress performance by keeping uploads lean and organized Delete with confidence using a safe trash table with restore support Scale to large sites with batch processing and scan locking Modules Dashboard What it does: Shows media health score, server/storage signals, and library breakdowns. REST endpoints: GET /wp-json/hoatzinmedia/v1/dashboard, GET /wp-json/hoatzinmedia/v1/dashboard/uploads-breakdown Hook points: Refreshes automatically after content changes via save_post cache bump; scan completion clears the dashboard transient. Smart Scan & Unused Media What it does: Batch-based scanning to detect unused attachments, then review and delete safely. REST endpoints: POST /wp-json/hoatzinmedia/v1/scan, GET /wp-json/hoatzinmedia/v1/unused-results, POST /wp-json/hoatzinmedia/v1/delete-unused, POST /wp-json/hoatzinmedia/v1/delete-unused-all Hook points: WP-Cron action hoatzinmedia_scheduled_scan runs a full scan when scheduling is enabled; the scanner uses posts_where during content search to reduce query overhead. Large Files Explorer What it does: Lists media files over a size threshold so you can quickly reclaim space. REST endpoints: GET /wp-json/hoatzinmedia/v1/large-files?size=1|3|5 (MB threshold) Duplicate Checker What it does: Finds likely duplicate attachments and helps you validate before removal. REST endpoints: GET /wp-json/hoatzinmedia/v1/duplicates, GET /wp-json/hoatzinmedia/v1/attachment-usage?attachment_id=123 Hook points: Adds Media Library UI enhancements via manage_upload_columns, manage_media_columns, and manage_media_custom_column. Convert to WebP / AVIF What it does: Converts images to modern formats (WebP/AVIF) and manages converted variants. REST endpoints: Settings: GET/POST /wp-json/hoatzinmedia/v1/converter-settings, GET /wp-json/hoatzinmedia/v1/converter-settings/scan Converter: /wp-json/hoatzinmedia/v1/image-formats/library, /image-formats/convert, /image-formats/background, /image-formats/background/status, /image-formats/background/log, /image-formats/background/cancel, /image-formats/background/pause, /image-formats/background/resume, /image-formats/delete Hook points: add_attachment can auto-convert new JPEG/PNG uploads based on settings; delete_attachment cleans up converted variants; background jobs run on the hoatzinmedia_convert_job_run action. Regenerate Thumbnails What it does: Rebuilds WordPress image sizes for selected attachments (useful after theme changes). REST endpoints: GET /wp-json/hoatzinmedia/v1/regenerate/library, GET /wp-json/hoatzinmedia/v1/regenerate/sizes, POST /wp-json/hoatzinmedia/v1/regenerate, plus background endpoints under /regenerate/background/* Hook points: Background jobs run on the hoatzinmedia_regenerate_job_run action. Modules & Settings What it does: Enables/disables features and stores global plugin settings. REST endpoints: GET/POST /wp-json/hoatzinmedia/v1/modules, GET/POST /wp-json/hoatzinmedia/v1/settings, GET /wp-json/hoatzinmedia/v1/status Hook points: admin_menu registers the HoatzinMedia admin pages; init ensures scan scheduling and updates WebP serving rules when enabled. SVG Upload Support (optional) What it does: Allows SVG uploads with sanitization safeguards (including Elementor compatibility). Hook points: upload_mimes, wp_check_filetype_and_ext, wp_handle_upload_prefilter, wp_handle_sideload_prefilter, elementor/files/allow_unfiltered_upload, elementor/files/allow-file-type/svg Core features: Dashboard with media health score and live metrics Unused media scanner with batch processing and locking Safe trash table for reversible deletions Large file explorer by size threshold Translation-ready UI and REST responses Usage Review the media health score and high-level stats on the dashboard. Run an unused media scan from the Unused media scanner panel. Inspect results and move files to the HoatzinMedia trash. Use the large file explorer to identify heavy attachments by size.
Top keywords
- hoatzinmedia24×4.03%
- hoatzinmedia v118×3.03%
- v118×3.03%
- wp-json18×3.03%
- wp-json hoatzinmedia18×3.03%
- wp-json hoatzinmedia v118×3.03%
- media14×2.35%
- background10×1.68%
- image-formats9×1.51%
- scan9×1.51%
- endpoints8×1.34%
- post8×1.34%
Media Hygiene
The Media Hygiene plugin removes unused media from the WordPress library to free up space, reduce clutter, and improve server performance. With features like bulk delete and deep folder scanning, it’s a must-have for finding and deleting unused images and media. Introducing Media Hygiene Introducing the Media Hygiene plugin – the ideal solution for optimizing your WordPress media library! With this powerful plugin, you can quickly and easily remove all unused images, reducing clutter, and freeing up valuable server space. This plugin is a must-have for anyone looking to delete unused images in WordPress or remove unused images from the media library. Media Hygiene is fully compatible with major WordPress builders, including plugins like WooCommerce, custom fields and posts plugin, sliders, SEO, and more – making it versatile and convenient for all types of WordPress users. Unique features like “One shot delete” and “One-shot download” allow you to bulk delete media and download all images from the WordPress media library make it easy to keep your media library organized and up-to-date. Making offsite backups? Reduce the time and cost of disk space with a smaller backup file size. Say goodbye to a cluttered and disorganized WordPress media library, and hello to a cleaner, more efficient WordPress site! Whether you’re an agency, blogger, photographer, or business owner, Media Hygiene is the perfect tool for keeping your media library in tip-top shape. Get it now and keep your WordPress site super clean! 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 – get email notifications when new files have been uploaded and not scanned on a specific schedule (daily, weekly, bi-weekly, monthly, quarterly) Site builder compatibility – works with all major site builders such as Elementor (see list below). Whitelist – keep files safe from deletion. Perfect for files linked to from off-site sources. Filtering – files by name and date. 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 Check latest here Compatibility Please check our website to see a completely list of compatible plugins/themes. Gutenberg – Standard Elementor Basic – Standard Bricks (builder) Divi (builder) WP Bakery Page Builder (builder) Beaver Builder (builder) Visual Composer (builder) Avada (theme) Enfold (theme) Flatsome (theme) More to come… Pro (available now) Customer Support – directly from the plugin – Pro Faster scanning through the use of WP-CLI (WordPress command line interface) Unique scanning process for multiple page builders with one click Advanced Filtering – Pro Media Filter by Year Media Filter by Type (jpg, png, gif, wmv, mp4, etc.) One Shot Download (all files) One Shot Removal (all files) Folder Scan (sub-folder scanning coming soon!) Woocommerce Custom Post Types SEO Plugins All in One Yoast SEO Press Custom Fields Plugins – Pro ACF Pods Custom Field Suite Custom Post Suits Sliders Meta Slider Slider Revolution Pro (coming soon) Custom Fields Plugins – Pro Jet Engine (coming soon) Meta Box (coming soon) CPT UI (coming soon) Remote server backup and restore – Pro (coming soon) Scheduled Scans – Pro (coming soon) Custom Email Notifications – Pro (coming soon) WPML / Weglot / TranslatePress (coming soon)