[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fOgDfukqoFYGGXE2nITZLRs4s6q5JdHcHna-wtnTJiMk":3,"$fQ6lH-0ZDGOCQoaVurHr642SHp2pzQW-vcqOw_uK45vU":285,"$fPUlmqK_CqJ-25y2YIseKOblVfJP4iImJIWd4R49anVU":289},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":39,"analysis":135,"fingerprints":256},"itpathsolutions-media-cleaner-and-database-optimizer","Media Cleaner and Database Optimizer by ITPath","1.0.5","IT Path Solutions","https:\u002F\u002Fprofiles.wordpress.org\u002Fitpathsolutions\u002F","\u003Cp>Media Cleaner and Database Optimizer by ITPath helps you manage unused media files and clean unnecessary data from your WordPress database.\u003C\u002Fp>\n\u003Cp>The plugin allows you to identify media files that are not associated with posts or pages and remove them safely. It also provides tools to clean unused database data such as revisions, drafts, transients, and metadata.\u003C\u002Fp>\n\u003Cp>By keeping your media library and database organized, the plugin helps maintain a cleaner WordPress installation and supports smooth site operation.\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Media Cleaner\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View all media files utilized on your site.\u003C\u002Fli>\n\u003Cli>Easily clear unused media not associated with any posts or pages.\u003C\u002Fli>\n\u003Cli>Streamline media management by deleting unused files.\u003C\u002Fli>\n\u003Cli>Detect media usage across your website effortlessly.\u003C\u002Fli>\n\u003Cli>Save time by skipping the cleanup process for media files that are in use.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Database Cleaner\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Inactive & unused Plugins cleaner\u003C\u002Fli>\n\u003Cli>Inactive & unused Themes cleaner\u003C\u002Fli>\n\u003Cli>Revision clean up\u003C\u002Fli>\n\u003Cli>Draft clean up\u003C\u002Fli>\n\u003Cli>Auto draft clean up\u003C\u002Fli>\n\u003Cli>Post meta clean up\u003C\u002Fli>\n\u003Cli>Comment meta clean up\u003C\u002Fli>\n\u003Cli>All comments clean up\u003C\u002Fli>\n\u003Cli>User meta clean up\u003C\u002Fli>\n\u003Cli>Term meta clean up\u003C\u002Fli>\n\u003Cli>Trashed post &  product clean ip\u003C\u002Fli>\n\u003Cli>Trashed post \u002F product clean up\u003C\u002Fli>\n\u003Cli>Transients clean up\u003C\u002Fli>\n\u003Cli>Pingback & trackback clean up\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","The most powerful tool for clearing unused media from your website and optimizing your database to boost site performance",10,2916,0,"2026-01-08T10:20:00.000Z","6.9.4","6.2","7.4",[19,20,21,22,23],"cleanup","database","database-optimizer","media","media-cleaner","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.5.zip",100,null,"2026-04-06T09:54:40.288Z","no_bundle",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"itpathsolutions",13,10670,89,77,80,"2026-05-19T23:36:14.204Z",[40,59,74,90,114],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":13,"num_ratings":13,"last_updated":50,"tested_up_to":15,"requires_at_least":51,"requires_php":17,"tags":52,"homepage":56,"download_link":57,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"unattached-media-manager","Unattached Media Manager","1.0.6","sungraizfaryad","https:\u002F\u002Fprofiles.wordpress.org\u002Fsungraizfaryad\u002F","\u003Ch4>Why This Plugin Is Different\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Most media cleaner plugins help you delete unused images. This plugin fixes a fundamental WordPress problem first.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>WordPress has a built-in “Unattached” filter in the Media Library. The idea is simple: it shows you media files that aren’t connected to any post, so you can decide whether to keep or delete them.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The problem?\u003C\u002Fstrong> WordPress only marks media as “attached” if it was uploaded directly through the post editor. Any image added through ACF fields, Gutenberg blocks, page builders, widgets, theme options, or shortcodes shows as “Unattached” — even though it’s actively being used on your site.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>This makes WordPress’s native “Unattached” filter completely unreliable.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch4>How Unattached Media Manager Fixes This\u003C\u002Fh4>\n\u003Cp>This plugin scans your entire site, finds every place where media files are actually being used, and properly attaches them to their parent posts. Once attached:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WordPress’s “Unattached” filter actually works\u003C\u002Fstrong> — It now shows only truly unused media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You can use WordPress’s native tools\u003C\u002Fstrong> — No need to depend on third-party plugins to manage media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import\u002Fexport plugins work correctly\u003C\u002Fstrong> — Tools like WP All Import, WP Migrate, Duplicator, and others can now properly identify and migrate media with their associated posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>You can safely uninstall this plugin\u003C\u002Fstrong> — The attachments remain as part of WordPress’s native structure\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The Workflow\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Scan\u003C\u002Fstrong> — The plugin finds all media usage across your site (content, ACF, blocks, widgets, options, etc.)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Attach\u003C\u002Fstrong> — One-click to properly attach all “used but unattached” media to their parent posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> — Now WordPress’s “Unattached” filter shows only genuinely unused files\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean Up\u003C\u002Fstrong> — Use WordPress’s native tools OR this plugin’s safe deletion features\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Done\u003C\u002Fstrong> — Uninstall if you want; the fixes stay with WordPress\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Yes, It Also Deletes Unused Media\u003C\u002Fh4>\n\u003Cp>Like other media cleaners, this plugin also helps you safely delete unused media with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Trash support\u003C\u002Fstrong> — Move to trash first, restore if needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Permanent delete\u003C\u002Fstrong> — Remove forever when you’re sure\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change history\u003C\u002Fstrong> — Track all attachment changes with one-click revert\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>But the real value is \u003Cstrong>fixing WordPress’s attachment system\u003C\u002Fstrong> so you don’t need to depend on any plugin long-term.\u003C\u002Fp>\n\u003Ch4>Two Processing Modes\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Browser-Driven (Recommended)\u003C\u002Fstrong> — Fast and reliable with real-time progress. Keep the browser tab open until complete.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Background (WP-Cron)\u003C\u002Fstrong> — Processing continues even after closing your browser. Ideal for server cron setups.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Comprehensive Scanning\u003C\u002Fstrong> — Detects media usage in post content, featured images, Gutenberg blocks, ACF fields, Elementor, Meta Box, WooCommerce, SEO plugins, widgets, theme options, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fix Unattached Media\u003C\u002Fstrong> — One-click to properly attach all “used but unattached” media\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Library Integration\u003C\u002Fstrong> — See usage count directly in your Media Library list view\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Safe Deletion\u003C\u002Fstrong> — WordPress trash support with restore capability\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Change History\u003C\u002Fstrong> — Full audit trail with one-click revert for any attachment\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pause & Resume\u003C\u002Fstrong> — Stop any operation and continue later\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Resource Aware\u003C\u002Fstrong> — Three modes (Low\u002FAuto\u002FHigh) for shared hosting to dedicated servers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export Reports\u003C\u002Fstrong> — Download CSV reports of all media usage\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer Friendly\u003C\u002Fstrong> — Hooks, filters, REST API, and WP-CLI commands\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>The Problem It Solves\u003C\u002Fh4>\n\u003Cp>WordPress marks media as “Unattached” if it wasn’t uploaded directly to a post. But many media files ARE being used — they’re just embedded via:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The block editor (Gutenberg)\u003C\u002Fli>\n\u003Cli>Page builders like Elementor or Beaver Builder\u003C\u002Fli>\n\u003Cli>ACF image\u002Fgallery fields\u003C\u002Fli>\n\u003Cli>WooCommerce product galleries\u003C\u002Fli>\n\u003Cli>Theme customizer settings\u003C\u002Fli>\n\u003Cli>Widget areas\u003C\u002Fli>\n\u003Cli>Shortcodes\u003C\u002Fli>\n\u003Cli>Custom meta boxes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Unattached Media Manager finds ALL these references and properly attaches the media\u003C\u002Fstrong>, so WordPress correctly reflects which files are actually in use.\u003C\u002Fp>\n\u003Ch4>Server-Friendly Design\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>This plugin is designed to work on ALL servers, including shared hosting with limited resources:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Never blocks your site\u003C\u002Fstrong> – All heavy operations are processed in batches\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Adaptive resource usage\u003C\u002Fstrong> – Automatically detects server limits and adjusts accordingly\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Three resource modes:\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>\u003Cstrong>Low Resources\u003C\u002Fstrong> – 5 items\u002Fbatch, 2-minute intervals (for shared hosting)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto (Recommended)\u003C\u002Fstrong> – 15 items\u002Fbatch, 1-minute intervals (adjusts automatically)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>High Performance\u003C\u002Fstrong> – 50 items\u002Fbatch, 30-second intervals (for dedicated servers)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two processing strategies\u003C\u002Fstrong> – Choose browser-driven (fast) or background WP-Cron mode\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Supported Content Types\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>ALL features below are FREE – no Pro version required!\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post Content\u003C\u002Fstrong> – Classic editor, Gutenberg blocks, shortcodes, inline styles, data attributes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Featured Images\u003C\u002Fstrong> – Thumbnail assignments\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF Fields\u003C\u002Fstrong> – Image, gallery, file, repeater, flexible content, and group fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Blocks\u003C\u002Fstrong> – Core image, gallery, cover, media & text blocks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor\u003C\u002Fstrong> – All widgets, backgrounds, galleries, sliders, and responsive images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Meta Box\u003C\u002Fstrong> – All field types including groups and cloneable fields\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> – Product galleries, variation images, downloadable files, category thumbnails\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SEO Plugins\u003C\u002Fstrong> – Yoast SEO, Rank Math, All in One SEO, SEOPress (OpenGraph & Twitter images)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong> – Image widgets, text widgets with media, custom HTML\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme Options\u003C\u002Fstrong> – Customizer settings, theme mods, custom logos\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Options Table\u003C\u002Fstrong> – Plugin settings that store media IDs or URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Video & Audio\u003C\u002Fstrong> – HTML5 video\u002Faudio elements, poster images, source tags\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Images\u003C\u002Fstrong> – srcset attributes and lazy-loading data attributes\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For Developers\u003C\u002Fh4>\n\u003Cp>Unattached Media Manager is built with extensibility in mind:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Hooks & Filters\u003C\u002Fstrong> – Extend scanning with custom parsers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> – Query media usage programmatically\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP-CLI Commands\u003C\u002Fstrong> – Run scans from the command line (\u003Ccode>wp aioms scan\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Types\u003C\u002Fstrong> – Automatically scans all public post types\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>How to Use\u003C\u002Fh3>\n\u003Ch4>Step 1: Run Your First Scan\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Navigate to \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Media Solution\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Start Full Scan\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Choose your processing mode (Browser-Driven recommended for most users)\u003C\u002Fli>\n\u003Cli>Watch the real-time progress as your media library is scanned\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Step 2: Review the Dashboard\u003C\u002Fh4>\n\u003Cp>After scanning, you’ll see:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Total Media Files\u003C\u002Fstrong> – All attachments in your library\u003C\u002Fli>\n\u003Cli>\u003Cstrong>In Use\u003C\u002Fstrong> – Media files with detected references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Potentially Unused\u003C\u002Fstrong> – Media files with no detected references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Used but Unattached\u003C\u002Fstrong> – Media that’s used but marked as “Unattached” in WordPress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Total References\u003C\u002Fstrong> – Total number of places media is referenced\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Step 3: Fix Unattached Media\u003C\u002Fh4>\n\u003Cp>If you have “Used but Unattached” media:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Click the \u003Cstrong>Attach All Media Files\u003C\u002Fstrong> button\u003C\u002Fli>\n\u003Cli>The operation runs in the background\u003C\u002Fli>\n\u003Cli>Each attachment is tracked in Change History for easy reverting\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Step 4: Clean Up Unused Media\u003C\u002Fh4>\n\u003Cp>Go to the \u003Cstrong>Unused Media\u003C\u002Fstrong> tab to:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> – Check each file before taking action\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Move to Trash\u003C\u002Fstrong> – Safely move to WordPress trash (can be restored)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Restore\u003C\u002Fstrong> – Bring items back from trash if needed\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete Permanently\u003C\u002Fstrong> – Remove forever (cannot be undone)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Empty Trash\u003C\u002Fstrong> – Delete all trashed media at once\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Important:\u003C\u002Fstrong> All bulk operations run in the background. You’ll see a status bar showing progress.\u003C\u002Fp>\n\u003Ch4>Step 5: Review Change History\u003C\u002Fh4>\n\u003Cp>The \u003Cstrong>Change History\u003C\u002Fstrong> tab shows:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All attachments made by this plugin\u003C\u002Fli>\n\u003Cli>When each change occurred\u003C\u002Fli>\n\u003Cli>What post each media was attached to\u003C\u002Fli>\n\u003Cli>Option to \u003Cstrong>Revert\u003C\u002Fstrong> any change (detaches the media)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Important Precautions\u003C\u002Fh3>\n\u003Ch4>Before Deleting Any Media\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Always run a full scan first\u003C\u002Fstrong> – Make sure the index is up to date\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review files manually\u003C\u002Fstrong> – The scanner detects database references, but images might be:\n\u003Cul>\n\u003Cli>Hardcoded in theme PHP files\u003C\u002Fli>\n\u003Cli>Used by external websites linking to your images\u003C\u002Fli>\n\u003Cli>Referenced in custom code or third-party plugins not yet supported\u003C\u002Fli>\n\u003Cli>Used in email templates stored outside WordPress\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Use Trash first\u003C\u002Fstrong> – Move to trash instead of deleting permanently\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Wait before emptying trash\u003C\u002Fstrong> – Keep trashed items for a few days to catch any issues\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>About “Potentially Unused” Media\u003C\u002Fh4>\n\u003Cp>Files marked as “Potentially Unused” means:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>No references were found in the scanned content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>This doesn’t guarantee the file is unused\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>The file might be used in ways not detected:\n\u003Cul>\n\u003Cli>Theme template files (hardcoded)\u003C\u002Fli>\n\u003Cli>External sites linking to your images\u003C\u002Fli>\n\u003Cli>Custom plugins with non-standard storage\u003C\u002Fli>\n\u003Cli>CSS background images defined in stylesheets\u003C\u002Fli>\n\u003Cli>JavaScript-loaded images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Recommended Workflow\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>Scan\u003C\u002Fstrong> – Run a full scan with all content types enabled\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Review\u003C\u002Fstrong> – Look at the Unused Media tab\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Research\u003C\u002Fstrong> – For each file, consider where it might be used\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash\u003C\u002Fstrong> – Move questionable items to trash (not permanent delete)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Monitor\u003C\u002Fstrong> – Check your site for a few days for missing images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete\u003C\u002Fstrong> – Only permanently delete after confirming no issues\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Server Resources\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shared Hosting\u003C\u002Fstrong> – Use “Low Resources” mode in settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>If operations timeout\u003C\u002Fstrong> – Switch to Low Resources mode\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Large media libraries\u003C\u002Fstrong> – The scan may take longer but will complete\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WP Cron must work\u003C\u002Fstrong> – Ensure WordPress cron is running (check with your host)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy Policy\u003C\u002Fh3>\n\u003Cp>Unattached Media Manager does not:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Collect any personal data\u003C\u002Fli>\n\u003Cli>Send any data to external servers\u003C\u002Fli>\n\u003Cli>Use any third-party services\u003C\u002Fli>\n\u003Cli>Track users or usage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All data is stored locally in your WordPress database in custom tables that are removed when you uninstall the plugin.\u003C\u002Fp>\n\u003Ch3>Uninstallation\u003C\u002Fh3>\n\u003Cp>When you uninstall (delete) the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>All custom database tables are removed\u003C\u002Fli>\n\u003Cli>All plugin options are deleted\u003C\u002Fli>\n\u003Cli>All plugin transients are cleared\u003C\u002Fli>\n\u003Cli>All scheduled cron events are removed\u003C\u002Fli>\n\u003Cli>Post meta created by the plugin is deleted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Note:\u003C\u002Fstrong> Attachment relationships (post_parent) that were set by this plugin are NOT removed, as these are now part of WordPress’s native media library structure. If you need to revert these, use the Change History tab before uninstalling.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Built with love for the WordPress community\u003C\u002Fli>\n\u003Cli>Icons from WordPress Dashicons\u003C\u002Fli>\n\u003Cli>Inspired by the need to keep media libraries clean and organized\u003C\u002Fli>\n\u003C\u002Ful>\n","Fix the WordPress Unattached media filter. Automatically attach used media files to their posts so you can safely clean up your library.",30,439,"2026-03-10T16:29:00.000Z","5.8",[53,19,23,54,55],"attachments","media-library","unused-media","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Funattached-media-manager\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Funattached-media-manager.1.0.6.zip","2026-04-16T10:56:18.058Z",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":11,"downloaded":67,"rating":13,"num_ratings":13,"last_updated":68,"tested_up_to":15,"requires_at_least":51,"requires_php":17,"tags":69,"homepage":72,"download_link":73,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"oli-media-cleaner","Oli Media Cleaner","1.5.0","Olivier Bigras","https:\u002F\u002Fprofiles.wordpress.org\u002Fbigrat95\u002F","\u003Cp>\u003Cstrong>Oli Media Cleaner\u003C\u002Fstrong> scans your entire WordPress site to find media files that are no longer in use. It performs a deep analysis across multiple sources to accurately determine which files are safe to remove.\u003C\u002Fp>\n\u003Ch4>What Gets Scanned\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Post & page content\u003C\u002Fstrong> — all post types, Gutenberg blocks, classic editor\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Featured images\u003C\u002Fstrong> — all post types including WooCommerce product variations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom fields (post meta)\u003C\u002Fstrong> — any plugin or theme that stores attachment IDs or URLs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ACF (Advanced Custom Fields)\u003C\u002Fstrong> — image, file, gallery, repeater, flexible content, group, clone fields, and Options pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> — product galleries, variation images\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Elementor\u003C\u002Fstrong> — page builder widget data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme files\u003C\u002Fstrong> — PHP, CSS, JS templates scanned for hardcoded image references\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CSS background images\u003C\u002Fstrong> — inline styles in post content\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong> — image, gallery, text, custom HTML widgets\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site identity\u003C\u002Fstrong> — site logo, site icon, theme mods\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Serialized data\u003C\u002Fstrong> — deep scan of complex plugin data structures\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Batch scanning\u003C\u002Fstrong> — processes 50 attachments per batch to avoid timeouts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whitelist\u003C\u002Fstrong> — protect files you want to keep even if unused\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk actions\u003C\u002Fstrong> — trash, whitelist, restore, or permanently delete multiple files at once\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash All\u003C\u002Fstrong> — one-click batch trash of all unused images with progress bar (handles thousands)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduled auto-cleanup\u003C\u002Fstrong> — enable daily, twice daily, or weekly automatic scan and trash via WP-Cron\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Progress bar\u003C\u002Fstrong> — real-time scanning progress\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No external dependencies\u003C\u002Fstrong> — uses native WordPress admin styles, no Bootstrap or jQuery UI\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Zero custom database tables\u003C\u002Fstrong> — stores data in WordPress options\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Clean uninstall\u003C\u002Fstrong> — removes all plugin data on deletion\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Oli Media Cleaner\u003C\u002Fstrong> under \u003Cstrong>Media\u003C\u002Fstrong> in the WordPress admin sidebar\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Scan for Unused Media\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Review the results in the \u003Cstrong>Unused\u003C\u002Fstrong> tab\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Whitelist\u003C\u002Fstrong> any files you want to keep\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Trash\u003C\u002Fstrong> files you don’t need\u003C\u002Fli>\n\u003Cli>Go to the \u003Cstrong>Trash\u003C\u002Fstrong> tab to permanently delete or restore files\u003C\u002Fli>\n\u003C\u002Fol>\n","Scan and remove unused media files from your WordPress site to free up disk space.",99,"2026-03-30T16:01:00.000Z",[19,70,22,23,71],"disk-space","unused-images","https:\u002F\u002Fgithub.com\u002Fbigrat95\u002Foli-media-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foli-media-cleaner.1.5.0.zip",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":13,"downloaded":82,"rating":13,"num_ratings":13,"last_updated":83,"tested_up_to":84,"requires_at_least":51,"requires_php":17,"tags":85,"homepage":88,"download_link":89,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"media-gallery-cleaner","Media Gallery Cleaner","1.0.0","Muhammad Umer Shahzad","https:\u002F\u002Fprofiles.wordpress.org\u002Fumii020\u002F","\u003Cp>Media Gallery Cleaner scans your WordPress media library and database to identify unused images and other media files. It helps you clean up your site and free up server space.\u003C\u002Fp>\n","Scans your website and identifies unused media files for cleanup.",256,"2025-08-02T17:57:00.000Z","6.8.5",[86,23,87,55],"image-cleanup","media-optimization","https:\u002F\u002Fgithub.com\u002FUmii010\u002Fmedia-gallery-cleaner","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-gallery-cleaner.1.0.0.zip",{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":98,"downloaded":99,"rating":100,"num_ratings":101,"last_updated":102,"tested_up_to":84,"requires_at_least":103,"requires_php":104,"tags":105,"homepage":110,"download_link":111,"security_score":67,"vuln_count":112,"unpatched_count":13,"last_vuln_date":113,"fetched_at":58},"rvg-optimize-database","Optimize Database after Deleting Revisions","5.3.0","NerdPress","https:\u002F\u002Fprofiles.wordpress.org\u002Fnerdpressteam\u002F","\u003Cp>NerdPress has adopted Optimize Database After Deleting Revisions! \u003Ca href=\"https:\u002F\u002Fwww.nerdpress.net\u002Fannouncing-optimize-database\u002F\" rel=\"nofollow ugc\">Read the announcement here.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin is a ‘One Click’ WordPress database cleaner & optimizer, with precise revision cleanup and flexible scheduling.\u003C\u002Fp>\n\u003Ch4>Main Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Deletes revisions of posts, pages and \u002F or custom post types (you optionally can keep an ‘x’-amount of the most recent revisions and you can choose to delete revisions older than…)\u003C\u002Fli>\n\u003Cli>Deletes trashed posts, pages and comments (optional)\u003C\u002Fli>\n\u003Cli>Deletes spammed comments (optional)\u003C\u002Fli>\n\u003Cli>Deletes unused tags (optional)\u003C\u002Fli>\n\u003Cli>Deletes ‘expired or all transients’ (optional)\u003C\u002Fli>\n\u003Cli>Deletes ‘pingbacks’ and ‘trackbacks’ (optional)\u003C\u002Fli>\n\u003Cli>Clears the ‘OEMBED cache’ (optional)\u003C\u002Fli>\n\u003Cli>Deletes ‘orphan postmeta items’\u003C\u002Fli>\n\u003Cli>Optimizes the database tables (optionally you can exclude certain tables, or even specific posts\u002Fpages, from optimization)\u003C\u002Fli>\n\u003Cli>Creates a log of the optimizations (optional)\u003C\u002Fli>\n\u003Cli>Optimization can be scheduled to automatically run once hourly, twice daily, once daily or once weekly at a specific time (optional)\u003C\u002Fli>\n\u003Cli>‘Optimize DB (1 click)’ link in the admin bar (optional)\u003C\u002Fli>\n\u003Cli>‘Optimize Database’ Icon in the admin menu (optional)\u003C\u002Fli>\n\u003Cli>MULTISITE compatible: optimizes all sites in the network with one click\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Settings\u003C\u002Fh4>\n\u003Cp>You can find the settings page in the WP Admin Panel &raquo; Optimize Database -or- via the WP Admin Panel &raquo; Optimize Database icon (depends on settings)\u003C\u002Fp>\n\u003Ch4>Excluding specific posts\u002Fpages from deleting revisions\u003C\u002Fh4>\n\u003Cp>If you want to keep revisions for a specific post\u002Fpage (no matter what the other settings are), create a custom field named ‘keep_revisions’ for that post\u002Fpage and give it the value ‘Y’\u003C\u002Fp>\n\u003Ch4>Starting the Analysis \u002F Optimization\u003C\u002Fh4>\n\u003Cp>You can start the Optimization in the WP Admin Panel &raquo; Optimize Database.\u003Cbr \u002F>\nNote: if you use the Scheduler the Optimization will run automatically!\u003Cbr \u002F>\nNote: you also can click the ‘Optimize DB (1 click)’ link in the admin bar (if enabled)\u003Cbr \u002F>\nYou can click one of the following buttons:\u003Cbr \u002F>\n‘Analyze (summary): analyzes the database and gives the count of what will be cleaned\u003Cbr \u002F>\n‘Analyze (detail): analyzes the database and gives a detailed report of what will be deleted\u003Cbr \u002F>\n‘Optimize (summary): actually deletes the items and gives the count of what has been deleted\u003Cbr \u002F>\n‘Optimize (detail): actually deletes the items and gives a detailed report of what has been deleted\u003C\u002Fp>\n\u003Ch4>Multisite Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Install the plugin as Network Administrator (Network Admin &raquo; Plugins)\u003C\u002Fli>\n\u003Cli>‘Network Activate’ the plugin\u003C\u002Fli>\n\u003Cli>You only can configure and run the plugin on the main network site, but it will optimize ALL the sub-sites too!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Running the plug in from a Unix crontab\u003C\u002Fh4>\n\u003Cp>In case you cannot use WPCron, but you can edit the Unix crontab:\u003C\u002Fp>\n\u003Cp>Create a .php file, in the root directory of your site, with:\u003Cbr \u002F>\n\u003C?php\u003Cbr \u002F>\ndefine(‘RUN_OPTIMIZE_DATABASE’, true);\u003Cbr \u002F>\nrequire_once(‘wp-load.php’);\u003Cbr \u002F>\n?>\u003C\u002Fp>\n\u003Cp>Then, start the .php file from your crontab!\u003C\u002Fp>\n\u003Ch4>Supported languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Belarus [be_BY] – translated by Natasha – https:\u002F\u002Fwww.ustarcash.com\u002F – keyword UStarCash\u003C\u002Fli>\n\u003Cli>Danish [da_DK] – translated by Alexander Leo-Hansen – http:\u002F\u002Falexanderleohansen.dk\u003C\u002Fli>\n\u003Cli>Dutch [nl_NL] – translated by Rolf van Gelder, CAGE Web Design – http:\u002F\u002Fcagewebdev.com\u003C\u002Fli>\n\u003Cli>English [en_US] – translated by Rolf van Gelder, CAGE Web Design – http:\u002F\u002Fcagewebdev.com\u003C\u002Fli>\n\u003Cli>French [fr_FR] – translated by Guillaume Blet – http:\u002F\u002Fwww.mycinetheque.fr\u003C\u002Fli>\n\u003Cli>German [de_DE] – translated by Kolja Spyra\u003C\u002Fli>\n\u003Cli>Indonesian [id_ID] – translated by ChameleonJohn.com\u003C\u002Fli>\n\u003Cli>Italian [it_IT] – translated by Fabio Marzocca\u003C\u002Fli>\n\u003Cli>Persian [fa_IR] – translated by Milad Mordi, http:\u002F\u002Fseodaramal.ir\u003C\u002Fli>\n\u003Cli>Portuguese [po_BR] – translated by Rede Sul Mineira de Comunicações\u003C\u002Fli>\n\u003Cli>Russian [ru_RU] – translated by Vadim Sokhin, PluginZone – http:\u002F\u002Fpluginzone.ru\u003C\u002Fli>\n\u003Cli>Serbian [sr_RS] – translated by Ogi Djuraskovic, FirstSiteGuide  – http:\u002F\u002Ffirstsiteguide.com\u003C\u002Fli>\n\u003Cli>Swedish [sv_SE] – translated by P.E.\u003C\u002Fli>\n\u003Cli>Turkish [tr_TR] – translated by Keremcan Buyuktaskin\u003C\u002Fli>\n\u003Cli>Ukranian [uk_UA] – translated by Anna Goriacha, Coupofy – http:\u002F\u002Fcoupofy.com\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>NO WARRANTY, USE IT AT YOUR OWN RISK! MAKE BACKUPS FIRST!\u003C\u002Fp>\n","One-click database optimization with precise revision cleanup and flexible scheduling. Speeding up sites since 2011!",60000,3978915,94,181,"2025-07-21T23:39:00.000Z","2.8","5.6",[20,106,107,108,109],"database-cleanup","database-size","delete-revisions","optimize-database","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frvg-optimize-database.5.3.0.zip",3,"2023-10-03 00:00:00",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":125,"last_updated":126,"tested_up_to":15,"requires_at_least":127,"requires_php":128,"tags":129,"homepage":133,"download_link":134,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":58},"search-replace-wpcode","Search & Replace Everything by WPCode – Find and Replace Media, Text, Links, and More","1.0.9","WPCode","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpcodeteam\u002F","\u003Ch4>Powerful Search & Replace for WordPress\u003C\u002Fh4>\n\u003Cp>Search & Replace Everything by WPCode enables you to efficiently manage your website’s content directly from the WordPress admin. This tool is essential for site migrations, content updates, or any situation where batch find and replace text and image replacements are needed.\u003C\u002Fp>\n\u003Cp>With an intuitive interface, you can perform detailed find and replace operations across your entire database. Select specific tables, toggle case sensitivity, and preview changes before committing. Serialized data is fully supported. Designed to handle large websites, this plugin operates smoothly without the need for external tools.\u003C\u002Fp>\n\u003Ch4>Features Include\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Text Replacement\u003C\u002Fstrong> – Find and replace text across multiple database tables with support for serialized data and options for case-sensitive search.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Replace Image\u003C\u002Fstrong> – Directly replace images from the media library, automatically regenerating thumbnails to ensure visual consistency.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Replace Media\u003C\u002Fstrong> – Manage and replace media files of various formats across your entire site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preview Changes\u003C\u002Fstrong> – Always see a “dry-run” preview of the changes to ensure accuracy before applying them.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Large Sites Supported\u003C\u002Fstrong> – Optimized for performance, capable of handling large databases efficiently.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Table Selection\u003C\u002Fstrong> – Choose specific tables to search and replace text, ensuring that only the necessary data is affected.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Introducing Search & Replace Everything Pro\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>While Search & Replace Everything offers many powerful features for free, we have also created a Pro version that includes advanced features to further improve your workflows like the ability to \u003Cstrong>undo\u003C\u002Fstrong> Search & Replace operations and replacing images directly from the Gutenberg editor. \u003Ca href=\"https:\u002F\u002Flibrary.wpcode.com\u002Fsr-pricing?utm_source=wprepo&utm_medium=link&utm_campaign=srliteplugin\" rel=\"nofollow ugc\">Click here to purchase Search & Replace Everything Pro now!\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Site Migrations\u003C\u002Fstrong> – Quickly update URLs or any site data when moving your site.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Content Updates\u003C\u002Fstrong> – Easily replace outdated information or bulk update content across posts, pages, and custom post types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Management\u003C\u002Fstrong> – Replace outdated images and avoid duplicate uploads.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Media Updates\u003C\u002Fstrong> – Replace media files in any format across your site.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Tips for Using Search & Replace\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Backup Your Database\u003C\u002Fstrong> – While the plugin is safe to use, it’s always a good idea to make a backup before making changes.\u003C\u002Fp>\n\u003Cp>Common mistakes to avoid when replacing text:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Partial Matches – Ensure that you’re not replacing partial matches that could affect unintended content. For example, replacing “cat” could affect “category” or “concatenate”.\u003C\u002Fli>\n\u003Cli>Case Sensitivity – Be mindful of case sensitivity when replacing text. If you’re looking to replace “Cat” with “Dog”, ensure that you’re not affecting “cat” or “CAT”.\u003C\u002Fli>\n\u003Cli>URL Replacements – Always use the same format for both the search and replace values. For example if your search term has a trailing slash, ensure that the replacement term also has a trailing slash. E.g., “example.com\u002F” to “example.net\u002F” instead of “example.com\u002F” to “example.net”.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Getting Started\u003C\u002Fh4>\n\u003Cp>After installing Search & Replace Everything by WPCode, look for the new menu item under \u003Ccode>WP Admin > Tools > WP Search & Replace\u003C\u002Fcode>. From there, you can start managing your content and perform find and replace operations for text or images across your entire website.\u003C\u002Fp>\n","Search and Replace everything in WordPress. Easily find and replace media, images, text, links and more with a single click using a simple user interf &hellip;",20000,108274,78,7,"2025-12-10T13:16:00.000Z","5.5","7.0",[20,22,130,131,132],"replace","search","search-replace","https:\u002F\u002Fwpcode.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsearch-replace-wpcode.1.0.9.zip",{"attackSurface":136,"codeSignals":194,"taintFlows":219,"riskAssessment":246,"analyzedAt":255},{"hooks":137,"ajaxHandlers":166,"restRoutes":183,"shortcodes":191,"cronEvents":192,"entryPointCount":193,"unprotectedCount":193},[138,144,149,152,154,157,161,164],{"type":139,"name":140,"callback":141,"file":142,"line":143},"action","rest_api_init","closure","aiowc.php",88,{"type":139,"name":145,"callback":146,"file":147,"line":148},"plugins_loaded","anonymous","includes\\class-aiowc.php",146,{"type":139,"name":150,"callback":146,"file":147,"line":151},"admin_enqueue_scripts",161,{"type":139,"name":150,"callback":146,"file":147,"line":153},162,{"type":139,"name":155,"callback":146,"file":147,"line":156},"admin_menu",164,{"type":158,"name":159,"callback":146,"file":147,"line":160},"filter","plugin_action_links",170,{"type":139,"name":162,"callback":146,"file":147,"line":163},"wp_enqueue_scripts",184,{"type":139,"name":162,"callback":146,"file":147,"line":165},185,[167,171,174,177,180],{"action":168,"nopriv":169,"callback":146,"hasNonce":169,"hasCapCheck":169,"file":147,"line":170},"aiowc_revision_cleaner",false,165,{"action":172,"nopriv":169,"callback":146,"hasNonce":169,"hasCapCheck":169,"file":147,"line":173},"aiowc_delete_selected_plugin",166,{"action":175,"nopriv":169,"callback":146,"hasNonce":169,"hasCapCheck":169,"file":147,"line":176},"aiowc_delete_selected_theme",167,{"action":178,"nopriv":169,"callback":146,"hasNonce":169,"hasCapCheck":169,"file":147,"line":179},"single_attachment_delete",168,{"action":181,"nopriv":169,"callback":146,"hasNonce":169,"hasCapCheck":169,"file":147,"line":182},"multiple_attachment_delete",169,[184],{"namespace":185,"route":186,"methods":187,"callback":189,"permissionCallback":190,"file":142,"line":35},"wp-site-health\u002Fv1","\u002Fdirectory-sizes",[188],"GET","aiowc_get_directory_sizes","__return_true",[],[],6,{"dangerousFunctions":195,"sqlUsage":196,"outputEscaping":204,"fileOperations":13,"externalRequests":13,"nonceChecks":214,"capabilityChecks":13,"bundledLibraries":215},[],{"prepared":197,"raw":198,"locations":199},21,1,[200],{"file":201,"line":202,"context":203},"admin\\class-aiowc-admin.php",679,"$wpdb->query() with variable interpolation",{"escaped":205,"rawEcho":112,"locations":206},92,[207,210,212],{"file":201,"line":208,"context":209},622,"raw output",{"file":201,"line":211,"context":209},819,{"file":201,"line":213,"context":209},852,5,[216],{"name":217,"version":27,"knownCves":218},"DataTables",[],[220,238],{"entryPoint":221,"graph":222,"unsanitizedCount":13,"severity":237},"aiowc_revision_cleaner (admin\\class-aiowc-admin.php:605)",{"nodes":223,"edges":234},[224,229],{"id":225,"type":226,"label":227,"file":201,"line":228},"n0","source","$_POST",608,{"id":230,"type":231,"label":232,"file":201,"line":208,"wp_function":233},"n1","sink","echo() [XSS]","echo",[235],{"from":225,"to":230,"sanitized":236},true,"low",{"entryPoint":239,"graph":240,"unsanitizedCount":13,"severity":237},"\u003Cclass-aiowc-admin> (admin\\class-aiowc-admin.php:0)",{"nodes":241,"edges":244},[242,243],{"id":225,"type":226,"label":227,"file":201,"line":228},{"id":230,"type":231,"label":232,"file":201,"line":208,"wp_function":233},[245],{"from":225,"to":230,"sanitized":236},{"summary":247,"deductions":248},"The \"itpathsolutions-media-cleaner-and-database-optimizer\" v1.0.5 plugin exhibits a concerning security posture primarily due to its unprotected entry points. While the code shows good practices in utilizing prepared statements for SQL queries and proper output escaping, the absence of authorization checks on all identified AJAX handlers and REST API routes presents a significant risk.  This means that any unauthenticated user could potentially interact with these functionalities, leading to unauthorized actions or data exposure if the operations themselves are sensitive.\n\nThe static analysis reveals no critical or high-severity taint flows, and there is no known vulnerability history (CVEs), which are positive indicators.  The plugin also demonstrates a good approach to handling SQL queries and output, mitigating common web application vulnerabilities. However, the large number of unprotected entry points (6 out of 6 total) heavily outweighs these strengths, creating a substantial attack surface that requires immediate attention. The presence of nonce checks on these handlers is a mitigating factor, but it does not substitute for proper capability checks.",[249,251,253],{"reason":250,"points":11},"Unprotected AJAX handlers",{"reason":252,"points":11},"Unprotected REST API routes",{"reason":254,"points":214},"Large attack surface without auth","2026-03-16T22:59:01.081Z",{"wat":257,"direct":270},{"assetPaths":258,"generatorPatterns":263,"scriptPaths":264,"versionParams":265},[259,260,261,262],"\u002Fwp-content\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Fadmin\u002Fcss\u002Fitpathsolutions-media-cleaner-and-database-optimizer-admin.css","\u002Fwp-content\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Fadmin\u002Fjs\u002Fitpathsolutions-media-cleaner-and-database-optimizer-admin.js","\u002Fwp-content\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Fpublic\u002Fcss\u002Fitpathsolutions-media-cleaner-and-database-optimizer-public.css","\u002Fwp-content\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Fpublic\u002Fjs\u002Fitpathsolutions-media-cleaner-and-database-optimizer-public.js",[],[],[266,267,268,269],"itpathsolutions-media-cleaner-and-database-optimizer\u002Fadmin\u002Fcss\u002Fitpathsolutions-media-cleaner-and-database-optimizer-admin.css?ver=","itpathsolutions-media-cleaner-and-database-optimizer\u002Fadmin\u002Fjs\u002Fitpathsolutions-media-cleaner-and-database-optimizer-admin.js?ver=","itpathsolutions-media-cleaner-and-database-optimizer\u002Fpublic\u002Fcss\u002Fitpathsolutions-media-cleaner-and-database-optimizer-public.css?ver=","itpathsolutions-media-cleaner-and-database-optimizer\u002Fpublic\u002Fjs\u002Fitpathsolutions-media-cleaner-and-database-optimizer-public.js?ver=",{"cssClasses":271,"htmlComments":276,"htmlAttributes":279,"restEndpoints":280,"jsGlobals":282,"shortcodeOutput":284},[272,273,274,275],"aiowc-directory-sizes-wrap","aiowc-directory-size-item","aiowc-raw-size","aiowc-formatted-size",[277,278],"\u003C!-- wp-site-health\u002Fv1\u002Fdirectory-sizes -->","\u003C!-- Media Cleaner and Database Optimizer by ITPath -->",[],[281],"\u002Fwp-json\u002Fwp-site-health\u002Fv1\u002Fdirectory-sizes",[283],"aiowc_directory_sizes",[],{"error":236,"url":286,"statusCode":287,"statusMessage":288,"message":288},"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":193,"versions":290},[291,296,303,310,317,324],{"version":6,"download_url":25,"svn_tag_url":292,"released_at":27,"has_diff":169,"diff_files_changed":293,"diff_lines":27,"trac_diff_url":294,"vulnerabilities":295,"is_current":236},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.4&new_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.5",[],{"version":297,"download_url":298,"svn_tag_url":299,"released_at":27,"has_diff":169,"diff_files_changed":300,"diff_lines":27,"trac_diff_url":301,"vulnerabilities":302,"is_current":169},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.3&new_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.4",[],{"version":304,"download_url":305,"svn_tag_url":306,"released_at":27,"has_diff":169,"diff_files_changed":307,"diff_lines":27,"trac_diff_url":308,"vulnerabilities":309,"is_current":169},"1.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.2&new_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.3",[],{"version":311,"download_url":312,"svn_tag_url":313,"released_at":27,"has_diff":169,"diff_files_changed":314,"diff_lines":27,"trac_diff_url":315,"vulnerabilities":316,"is_current":169},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.1&new_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.2",[],{"version":318,"download_url":319,"svn_tag_url":320,"released_at":27,"has_diff":169,"diff_files_changed":321,"diff_lines":27,"trac_diff_url":322,"vulnerabilities":323,"is_current":169},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.0&new_path=%2Fitpathsolutions-media-cleaner-and-database-optimizer%2Ftags%2F1.0.1",[],{"version":77,"download_url":325,"svn_tag_url":326,"released_at":27,"has_diff":169,"diff_files_changed":327,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":328,"is_current":169},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fitpathsolutions-media-cleaner-and-database-optimizer.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fitpathsolutions-media-cleaner-and-database-optimizer\u002Ftags\u002F1.0.0\u002F",[],[]]