{"id":348510,"date":"2026-08-04T20:24:18","date_gmt":"2026-08-04T20:24:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mediasleuth\/"},"modified":"2026-08-04T20:23:58","modified_gmt":"2026-08-04T20:23:58","slug":"mediasleuth","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/mediasleuth\/","author":23185253,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"MediaSleuth","header_author":"Smit Dudhat","header_description":"Scan your website to identify unused media files and safely manage storage with a trash-and-restore system.","assets_banners_color":"377885","last_updated":"2026-08-04 20:23:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/smit-dudhat.myshopify.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"smitdudhat","date":"2026-08-04 20:23:58"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3634594,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3634594,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3634594,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3634594,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3634594,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[3786,84,6464,2216,248482],"plugin_category":[50],"plugin_contributors":[274468],"plugin_business_model":[],"class_list":["post-348510","plugin","type-plugin","status-publish","hentry","plugin_tags-cleanup","plugin_tags-media","plugin_tags-scanner","plugin_tags-storage","plugin_tags-unused-files","plugin_category-media","plugin_contributors-smitdudhat","plugin_committers-smitdudhat"],"banners":{"banner":"https:\/\/ps.w.org\/mediasleuth\/assets\/banner-772x250.png?rev=3634594","banner_2x":"https:\/\/ps.w.org\/mediasleuth\/assets\/banner-1544x500.png?rev=3634594","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/mediasleuth\/assets\/icon.svg?rev=3634594","icon":"https:\/\/ps.w.org\/mediasleuth\/assets\/icon.svg?rev=3634594","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>MediaSleuth helps administrators identify media files that are not being used anywhere on the website. It works with any installed plugin by scanning all posts, custom post types, post meta, term meta, user meta, comments, widgets, theme options, wp_options, menus, and serialized\/JSON data from page builders and third-party plugins.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Comprehensive media usage detection<\/li>\n<li>Safe delete with 30-day trash retention<\/li>\n<li>Batch processing for large sites (10,000+ media files)<\/li>\n<li>Real-time scan progress<\/li>\n<li>Storage analytics<\/li>\n<li>CSV export<\/li>\n<li>Scheduled scans with email reports<\/li>\n<li>Bulk actions (delete, restore, rescan)<\/li>\n<\/ul>\n\n<p><strong>Safety First:<\/strong><\/p>\n\n<p>Files are never permanently deleted immediately. When deleted, files are moved to a plugin trash folder and can be restored within the retention period. Files that cannot be confirmed as unused are marked as \"Possibly Used\" instead of \"Unused\".<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>mediasleuth<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Media Scanner in the admin menu<\/li>\n<li>Click \"Start New Scan\" to analyze your media library<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20delete%20my%20files%20permanently%3F\"><h3>Will this delete my files permanently?<\/h3><\/dt>\n<dd><p>No. Deleted files are moved to a plugin trash folder and kept for the configured retention period (default 30 days) before permanent deletion. You can restore files at any time during this period.<\/p><\/dd>\n<dt id=\"what%20does%20%22possibly%20used%22%20mean%3F\"><h3>What does \"Possibly Used\" mean?<\/h3><\/dt>\n<dd><p>When the scanner cannot guarantee a file is unused (e.g., complex serialized data or third-party plugin references), it marks the file as \"Possibly Used\" rather than \"Unused\" to prevent accidental deletion.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20all%20plugins%3F\"><h3>Does it work with all plugins?<\/h3><\/dt>\n<dd><p>Yes. The scanner uses universal detection across post meta, options, JSON, and serialized data. It automatically recognizes data from Elementor, Divi, Beaver Builder, WPBakery, Bricks, ACF, WooCommerce, and many other plugins. Developers can extend detection using WordPress filters: media_sleuth_infer_plugin_label, media_sleuth_is_excluded_option, and media_sleuth_rescan_detectors.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Scan your WordPress media library to find unused files and safely manage storage with a trash-and-restore system.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348510"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/smitdudhat"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348510"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348510"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348510"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348510"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348510"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}