OliveroDev Media Audit – Media Library Cleaner & Optimizer
Changelog
3.3.1
Fix: Fatal error on activation — oliverodev_media_audit_get_filesystem() called includes() which is not a valid PHP or WordPress function. Replaced with a direct filesize() call; WP_Filesystem is unnecessary for reading file sizes.
3.3.0
New: CSS background-image detection — now detects media files used in inline styles and custom CSS (parallax backgrounds, hero sections, etc). Fixes issue where background images were incorrectly marked as unused and deleted.
New: Private method check_css_background_usage() searches for url() patterns in post_content and postmeta.
Fix: RevSlider table check was using undefined $terms variable — changed to $search_terms.
3.2.9
Fix: “Where is it used?” now correctly finds Gutenberg block references. Previously returned “No specific location found” for images inserted via Gutenberg blocks because the search only used the full URL. Now also searches for wp-image-{id} CSS class and “id”:N JSON block patterns — matching all detection methods used by the scanner.
3.2.8
Improved: PRO upgrade banner completely redesigned with benefit-focused messaging, risk-oriented copy, and trial-first CTA (“Try PRO Free — 3 Days”). Dynamic unused file count shown in the banner copy.
3.2.7
New: “Where is it used?” button on every Used file — shows the exact posts, pages, or theme settings referencing each file.
New: Real-time scan counter — displays “Scanning X of Y files · Z remaining” during active scans.
New: Delete confirmation modal — shows file thumbnail, name, and size before permanent deletion instead of a plain browser dialog.
New: Export CSV — download a spreadsheet of all unused files directly from the Unused Files tab.
3.2.6
Fix: Removed false positive detections caused by overly broad serialized-integer patterns (i:N;, ,N,, ,N”) being matched in postmeta, usermeta, termmeta, and options tables.
Fix: Removed unreliable exact-integer postmeta match that incorrectly flagged files as used when unrelated meta keys (e.g. _edit_last, counters) happened to store the same number as a media ID.
Improvement: JSON and HTML id-based patterns (“id”:N, data-id=”N”, etc.) are now scoped exclusively to post_content where Gutenberg blocks live, eliminating false positives in meta tables.
3.2.5
Hide the “Get PRO” banner when PRO is already active via license integration.
3.2.4
Maintenance release for WordPress.org package compliance and metadata alignment.
3.2.3
Fixed PRO upgrade link to Freemius checkout.
3.2.2
Added animated PRO upgrade banner in dashboard.
Added link to upgrade to PRO version.
3.2.1
Improved WordPress.org submission compatibility and plugin metadata.
Added plugin text domain loading.
Refreshed compatibility metadata.
3.2.0
Refactored scanning architecture for improved performance.