Title: Ghostpix Broken Image Cleaner
Author: Harit Panchal
Published: <strong>September 28, 2026</strong>
Last modified: September 28, 2026

---

Search plugins

![](https://ps.w.org/ghostpix-broken-image-cleaner/assets/banner-772x250.png?rev
=3717098)

![](https://ps.w.org/ghostpix-broken-image-cleaner/assets/icon.svg?rev=3717098)

# Ghostpix Broken Image Cleaner

 By [Harit Panchal](https://profiles.wordpress.org/haritpanchal/)

[Download](https://downloads.wordpress.org/plugin/ghostpix-broken-image-cleaner.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/ghostpix-broken-image-cleaner/#description)
 * [Reviews](https://wordpress.org/plugins/ghostpix-broken-image-cleaner/#reviews)
 *  [Installation](https://wordpress.org/plugins/ghostpix-broken-image-cleaner/#installation)
 * [Development](https://wordpress.org/plugins/ghostpix-broken-image-cleaner/#developers)

 [Support](https://wordpress.org/support/plugin/ghostpix-broken-image-cleaner/)

## Description

Over the years, a WordPress site loses image files. Migrations drop them, media

libraries get purged, folders get reorganised. The `<img>` tags stay behind in your
post content, pointing at files that are no longer there. Visitors see a broken-
image icon, your server answers a 404, and the damage is spread across thousands
of old posts that nobody is going to open by hand.

Ghostpix Broken Image Cleaner finds those references and removes them from the content
itself.

**It edits your content, so it is built to be careful about it:**

 * **Nothing is changed without your say-so.** Scanning is read-only. It produces
   a
    list. You decide which entries to act on.
 * **Detection is based on the filesystem, not guesswork.** The plugin checks whether
   
   the file actually exists in your uploads folder. There are no network requests,
   so there is nothing to be confused by a slow server, a timeout, or hotlink protection.
 * **Every removal can be undone.** The post’s original content is saved before 
   the
    edit, and a single click puts it back.
 * **The rest of your post is left alone, byte for byte.** Only the broken image
   is
    touched. Your markup, shortcodes and formatting are not reformatted around
   it.

**It cleans up the leftovers, too.** Removing an `<img>` usually strands the markup

that wrapped it. The plugin also removes the container when nothing else is left
in it — the Classic Editor’s `[caption]` shortcode, a link that only wrapped the
image, and empty `<figure>`, `<figcaption>` and `<picture>` elements. No empty boxes
or orphaned captions left behind.

#### Built for Classic Editor content

This plugin targets content where images live as raw HTML in the post body, which
is
 how the Classic Editor stores them. That is exactly the older content most likely
to have accumulated broken images.

#### No external services

This plugin makes no outbound connections of any kind. It does not phone home, does

not send your content anywhere, and does not require an account. Everything happens
on your own server.

## Screenshots

[⌊The results table, showing each broken image with the post it appears in.⌉⌊The
results table, showing each broken image with the post it appears in.⌉[

The results table, showing each broken image with the post it appears in.

[⌊Reviewing a removal before applying it.⌉⌊Reviewing a removal before applying it
.⌉[

Reviewing a removal before applying it.

[⌊Plugin settings, including which post types to scan and how long to keep undo 
data.⌉⌊Plugin settings, including which post types to scan and how long to keep 
undo data.⌉[

Plugin settings, including which post types to scan and how long to keep undo data.

## Installation

 1. Upload the plugin to `/wp-content/plugins/ghostpix-broken-image-cleaner`, or install
    it through the Plugins screen.
 2. Activate the plugin.
 3. Go to **Tools  Broken Images** and start a scan.
 4. Review the results, select the entries you want to clean, and choose **Remove**.

Taking a database backup before your first bulk removal is always a good idea, even
though the plugin keeps its own undo data.

## FAQ

### Does this delete my image files?

No. It never deletes, moves or modifies any file, and it never deletes anything 
from
 your Media Library. It only edits the HTML in your post content, and only 
where the file is already missing.

### What counts as a broken image?

An image is reported when its file cannot be found in your uploads folder, or when

the file exists but is empty. Images hosted on other websites are not checked in
this version.

### An image shows up that I know is fine. Why?

The most common cause is a missing generated size — for example, `photo-150x150.
jpg`
 is gone but `photo.jpg` is still there. Those are reported separately and 
are _not_ included in the default selection, because the right fix is usually to
regenerate your thumbnails, not to delete the image.

### An image that displays perfectly well is in the list. Why?

Responsive images offer the browser several sizes through a `srcset` attribute.

If one of those sizes has gone missing the image still displays, because the browser
falls back to the one that works. Cleaning it edits only the `srcset` list — the
image itself is left exactly where it is.

### Can I undo a removal?

Yes. The post’s original content is stored before every edit, and the Undo button
in
 the results table restores it. Undo data is kept for 30 days by default, and
you can change that in the settings.

### Does it work with the Block Editor?

Detection works on any content stored as HTML, but this version is designed and

tested for Classic Editor content. Block editor support is planned.

### Will it slow down my site?

No. Scanning runs in the background in small batches and only in the admin. Nothing

runs on the front end at all.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Ghostpix Broken Image Cleaner” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Harit Panchal ](https://profiles.wordpress.org/haritpanchal/)

[Translate “Ghostpix Broken Image Cleaner” into your language.](https://translate.wordpress.org/projects/wp-plugins/ghostpix-broken-image-cleaner)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release.
 * Background scanning of post content for images missing from the uploads folder.
 * Review table with bulk remove, ignore and re-check.
 * Removal of stranded `[caption]` shortcodes and empty link, figure and picture
   wrappers.
 * Missing responsive sizes are dropped from `srcset`, leaving the image itself 
   in place.
 * Per-post undo with configurable retention.

## Meta

 *  Version **1.0.0**
 *  Last updated **20 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [broken images](https://wordpress.org/plugins/tags/broken-images/)[classic editor](https://wordpress.org/plugins/tags/classic-editor/)
   [content cleanup](https://wordpress.org/plugins/tags/content-cleanup/)[media cleanup](https://wordpress.org/plugins/tags/media-cleanup/)
   [missing images](https://wordpress.org/plugins/tags/missing-images/)
 *  [Advanced View](https://wordpress.org/plugins/ghostpix-broken-image-cleaner/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ghostpix-broken-image-cleaner/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ghostpix-broken-image-cleaner/reviews/)

## Contributors

 *   [ Harit Panchal ](https://profiles.wordpress.org/haritpanchal/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ghostpix-broken-image-cleaner/)