Title: s404 Orphaned Attachment Scanner
Author: surviving404
Published: <strong>June 19, 2026</strong>
Last modified: June 19, 2026

---

Search plugins

![](https://ps.w.org/s404-orphaned-attachment-scanner/assets/banner-772x250.png?
rev=3578299)

![](https://ps.w.org/s404-orphaned-attachment-scanner/assets/icon-256x256.png?rev
=3578299)

# s404 Orphaned Attachment Scanner

 By [surviving404](https://profiles.wordpress.org/surviving404/)

[Download](https://downloads.wordpress.org/plugin/s404-orphaned-attachment-scanner.1.1.4.zip)

 * [Details](https://wordpress.org/plugins/s404-orphaned-attachment-scanner/#description)
 * [Reviews](https://wordpress.org/plugins/s404-orphaned-attachment-scanner/#reviews)
 *  [Installation](https://wordpress.org/plugins/s404-orphaned-attachment-scanner/#installation)
 * [Development](https://wordpress.org/plugins/s404-orphaned-attachment-scanner/#developers)

 [Support](https://wordpress.org/support/plugin/s404-orphaned-attachment-scanner/)

## Description

**s404 Orphaned Attachment Scanner** helps you find and remove media files that 
are sitting in your WordPress Media Library but are not used anywhere in your installation—
not in posts, pages, widgets, theme customizer, ACF fields, WooCommerce products,
page-builder data, or any active plugin’s settings.

#### Features

 * **Batched AJAX scan** — never times out on large libraries
 * **9 detection layers** — post content, post meta, featured images, widgets, theme
   customizer, ACF, WooCommerce, page builders (Elementor, Beaver Builder, Divi,
   Bricks…), ALL active plugin wp_options
 * **Filesystem scan** — checks theme files and optionally the entire WP installation
   for hard-coded references
 * **Format filtering** — scan only images, video, audio, documents, or specific
   formats (JPEG, PNG, WebP, SVG…)
 * **Age threshold** — only flag files older than N days, protecting freshly uploaded
   assets
 * **Trash & Permanent Delete** — move items to Trash for safety (requires `define('
   MEDIA_TRASH', true);` in your `wp-config.php` to enable the media bin)
 * **Deletion log** — every action is recorded with timestamp and username in your
   local history
 * **Bulk actions** — select, trash, delete, exclude, or export to CSV
 * **Exclusion list** — permanently hide specific IDs, MIME types, or path patterns
   from scan results
 * **Scheduled scans** — WP-Cron with daily/weekly/monthly frequency and optional
   email report
 * **Developer hooks** — `s404as_is_attachment_used` filter, `s404as_before_delete`/`
   s404as_after_delete` actions

#### Usage

 1. Go to **Tools  S404OrphanedAttachmentScanner**
 2. Optionally select format filters
 3. Click **Start Scan**
 4. Review results — preview thumbnails, file sizes, MIME types
 5. Select items and use bulk actions, or use per-row buttons
 6. Export a CSV for your records before deleting

## Screenshots

[⌊Dashboard — scan controls with format filters⌉⌊Dashboard — scan controls with 
format filters⌉[

Dashboard — scan controls with format filters

[⌊Results table — sorted by file size with bulk actions⌉⌊Results table — sorted 
by file size with bulk actions⌉[

Results table — sorted by file size with bulk actions

## Installation

 1. Upload the `s404-orphaned-attachment-scanner` folder to `/wp-content/plugins/`
 2. Activate through **Plugins  Installed Plugins**
 3. Navigate to **Tools  S404OrphanedAttachmentScanner**

## FAQ

### Will this delete anything automatically?

No. The plugin never deletes anything automatically. All destructive actions require
explicit user confirmation.

### What is the “Filesystem” detector?

It searches your active theme’s PHP/HTML/JS/CSS files for any hard-coded references
to an image’s filename or URL. You can also enable full-installation scanning (all
files under ABSPATH) in Settings.

### Can I protect specific images from being flagged?

Yes — add their attachment IDs to the Exclusions list in Settings, or click the “
Exclude” button on any result row.

### Does it work with WooCommerce / ACF / Elementor?

Yes. The relevant detectors activate automatically when those plugins are present.

### Why is the “Trash” button not working or missing in Media Library?

By default, WordPress disables the recycle bin for media files. To enable it and
make the “Move to Trash” button functional, add this line to your `wp-config.php`
file:
 define( ‘MEDIA_TRASH’, true );

### What PHP version is required?

PHP 7.4 or higher.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“s404 Orphaned Attachment Scanner” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ surviving404 ](https://profiles.wordpress.org/surviving404/)

[Translate “s404 Orphaned Attachment Scanner” into your language.](https://translate.wordpress.org/projects/wp-plugins/s404-orphaned-attachment-scanner)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/s404-orphaned-attachment-scanner/),
check out the [SVN repository](https://plugins.svn.wordpress.org/s404-orphaned-attachment-scanner/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/s404-orphaned-attachment-scanner/)
by [RSS](https://plugins.trac.wordpress.org/log/s404-orphaned-attachment-scanner/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.1.4**
 *  Last updated **2 weeks ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.2 or higher **
 * Tags
 * [attachment](https://wordpress.org/plugins/tags/attachment/)[cleaner](https://wordpress.org/plugins/tags/cleaner/)
   [images](https://wordpress.org/plugins/tags/images/)[media](https://wordpress.org/plugins/tags/media/)
   [orphaned](https://wordpress.org/plugins/tags/orphaned/)
 *  [Advanced View](https://wordpress.org/plugins/s404-orphaned-attachment-scanner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/s404-orphaned-attachment-scanner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/s404-orphaned-attachment-scanner/reviews/)

## Contributors

 *   [ surviving404 ](https://profiles.wordpress.org/surviving404/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/s404-orphaned-attachment-scanner/)