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%
Indigetal Media Offload for Bunny.net
Keep using the WordPress Media Library. Serve media from Bunny.net. Indigetal Media Offload for Bunny.net connects your existing Media Library uploads to Bunny Storage (files and images) and Bunny Stream (video). Attachments stay WordPress attachments — with CDN URLs, optional local file cleanup, and remote delete when you remove media in WordPress. Why site owners use it Use less server disk space — Optionally remove local copies after successful offload. CDN delivery — Attachment URLs rewrite to your Storage and Stream Pull Zone hostnames. Video without a separate workflow — Upload video through the Media Library. Stream handles encoding and playback URLs. What you get Bunny Storage offload for supported non-video attachments Bunny Stream offload for common video formats WordPress allows by default (MP4/M4V, MKV, WebM, MOV/QT, AVI, FLV, WMV, MPEG/MPG/MPE) Thumbnail and dimension metadata for Stream videos when encoding completes Remote delete for linked Storage objects and Stream videos Per-user Stream collections where that workflow applies How it works Install and activate the plugin. Open Media → Indigetal Media Offload for Bunny.net → Settings and enter your Bunny.net Stream and/or Storage credentials and Pull Zone hostnames. Upload through the Media Library as usual — offload and URL rewriting run on supported attachments. Delivery scope (important) This Free plugin provides public/basic CDN URLs. It does not generate signed or token-authenticated URLs from PHP. If your Pull Zone requires token auth on every request, configure Bunny at the edge and/or use a compatible Pro companion or custom integration. See About & Privacy in plugin settings and the FAQ below. An optional Pro companion can add private signed delivery. Extension hooks are documented in the plugin. Privacy This plugin sends media and configuration-related data to Bunny.net only when you enable Stream and/or Storage and use the workflows above. Bunny.net terms and privacy policy: https://bunny.net/tos/ — https://bunny.net/privacy/ Stream (when enabled): Your server requests Bunny Stream API hosts such as video.bunnycdn.com. Playback URLs may use player.mediadelivery.net and your Stream Pull Zone hostname. Storage (when enabled): Your server requests the regional Bunny Storage API for your zone. Public file URLs use your Storage Pull Zone hostname. Credentials: API keys and related options are stored in the WordPress database (encrypted where this plugin applies encryption) and used only to contact Bunny on your behalf. Delivery scope (Free): This release does not generate HMAC-signed or token-authenticated CDN URLs from PHP. Access control depends on your Bunny Pull Zone, Storage, and Stream configuration. Deleting content: Removing a WordPress attachment can remove linked Bunny objects. Uninstall retention is summarized on About & Privacy and in the FAQ above.
Top keywords