WordPress plugin intelligence profile

Smart Media Replacement

Replace media files in place with revision history. Audit your library to find unused files and missing alt text.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.0
Current version1.3.0
WordPress coverageTested up to WordPress 7.0
Minimum stackWP 7.0 · PHP 8.0
Directory statusactive
Last directory update6 Aug 20262mo ago
Active installations20Adoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Smart Media Replacement version 1.3.0 as active, updated 2mo ago and tested up to WordPress 7.0.

Overview

About this plugin

Ever updated a PDF and realized half your site links to the old version? Or replaced a hero image and watched your carefully-tuned page layout collapse? Smart Media Replacement solves both problems — and adds a safety net you’ll wish you had earlier.

Replace the file, keep the URL. When you swap an attachment with this plugin, the file’s URL never changes. Every existing link, every email that points to it, every page that embeds it, every SEO ranking — all of it keeps working.

No 404s, no broken references, no scrambling to update old content.

Full revision history, one-click restore. Every replacement automatically snapshots the previous version. Made a mistake?

Roll back instantly. Want to see what the file looked like three months ago? Download it.

Each revision is timestamped, attributed to the user who made it, and can carry an optional note describing what changed.

Works where you work. Replace from the Media Library, or from inside any block’s Replace toolbar in the block editor — image, cover, video, audio, file, gallery, and more. The editor refreshes in place, no page reload, no lost work.

Safe by default. The plugin validates filenames, file types, and image dimensions to keep your URLs intact and your layouts unbroken. WordPress’s auto-scaled images are handled transparently.

Revisions land in a database table that’s self-healing on every admin load, and the plugin’s settings page gives you control over how many revisions to keep, how long to retain them, and which file types are tracked.

Know what’s actually being used. The Media Audit screen builds an index of every post, page and template that references each file in your library. See at a glance which files are used and where, which are unused and safe to delete, and which images are embedded without alt text.

Bulk-delete unused files with confidence — the delete controls only appear for files nothing references.

Use cases

  • Monthly reports and newsletters — Update PDFs linked from past emails without breaking any of those links.
  • Brand refreshes — Replace logos, headers, and brand imagery once; everywhere they’re used updates automatically.
  • Legal documents — Keep current versions of terms of service, privacy policy, and contracts live, with older versions preserved as revisions for compliance.
  • Image updates — Refresh product photos, blog hero images, and marketing assets without breaking responsive sizes or SEO.
  • Typo fixes in published assets — Fix errors in infographics, downloadable guides, or e-books without scrambling to update references across your site.
  • Versioned downloads — White papers, e-books, technical docs that need to stay at a stable URL while preserving older versions on demand.
  • Media library cleanup — Find the files nothing references and reclaim disk space, without guessing whether something is still in use.
  • Accessibility sweeps — Surface every image embedded in content without alt text, in one filterable list.

Features

Replacement and URL preservation

  • Replace any media file while keeping its URL, ID, and metadata intact
  • Existing internal and external links keep working — no 404s, no SEO impact
  • Automatic regeneration of image size variants (thumbnails, medium, large, etc.)
  • Transparent handling of WordPress’s -scaled large images

Revision history

  • Every replacement automatically snapshots the previous file
  • Major/minor version numbering (e.g. v1.0 → v1.1 → v2.0)
  • Optional replacement note per revision, attributed to the user
  • One-click restore of any past version
  • Download individual revisions, or download a ZIP archive of an attachment’s full history
  • Configurable: maximum revisions per file, age-based retention with daily cleanup, per-file-type opt-in

Block editor integration

  • “Update existing file” in every block’s Replace toolbar dropdown (image, cover, video, audio, file, gallery, media-text, post-featured-image)
  • In-place editor refresh after replacement — no page reload, no lost work
  • Accessibility-friendly notifications via WordPress’s native screen reader announcements

Validation safeguards

  • Filename matching to keep URLs stable
  • Image dimension matching to prevent layout breakage
  • MIME-type matching to prevent file corruption
  • Clear, actionable error messages when something doesn’t match

Built-in admin

  • Settings page at Settings → Smart Media Replacement
  • Storage stats: total revisions, total disk usage, database table status
  • Optional deactivation cleanup (files and/or database)

Multisite-ready

  • Network-activate only on multisite — one consistent configuration across every site
  • Settings live at Network Admin → Settings → Smart Media Replacement and apply network-wide
  • Revisions are stored per-site under each site’s uploads directory; metadata lives in a single shared network table
  • Daily retention cleanup runs across every site in the network
  • Automatic row and file cleanup when a site is deleted
  • Single-site installs work exactly as before — settings and storage stay per-site, no network behavior involved

WP-CLI

  • wp smr db check — verify the revisions table exists (non-zero exit code if missing, safe for CI pipelines)
  • wp smr db repair — recreate the table if missing; idempotent, safe to run when the table already exists
  • wp smr db status — revision counts and storage usage; --network for a per-site breakdown on multisite
  • wp smr db cleanup — delete expired revisions immediately, with --dry-run to preview and --network for all sites

Other

  • Self-healing database tables via configurable scheduled check (hourly, daily, weekly, or disabled); use wp smr db repair for on-demand recovery
  • Media Audit dashboard listing every file with its usage count, type, size, alt text and upload date
  • Filter by where a file is used (block, featured image, content, post meta), by media type, by used/unused, and by missing alt text
  • “Used In” popover listing the exact posts referencing a file, with edit links
  • Bulk delete restricted to unused files only
  • Index stays current as you edit — saving, trashing or deleting a post updates it without a rescan
  • Developer hooks throughout for custom integrations

Privacy

This plugin is fully self-contained and respects your privacy:

  • Does not collect or transmit any user data
  • Does not use cookies or third-party tracking
  • Only processes files locally on your server
  • Does not communicate with external services or APIs

Usage

From the Media Library

  • Navigate to the WordPress Media Library
  • Open the file you want to replace (click on it, or use the row actions in list view)
  • Click Replace File
  • Choose your new file — if revisions are enabled, you’ll be prompted for an optional note and version type (minor/major)
  • The replacement happens immediately, preserving the file’s URL

From the block editor

  • Click on any media block (image, cover, video, audio, file, gallery, etc.)
  • Open the Replace toolbar dropdown
  • Choose Update existing file
  • Pick your new file — the editor refreshes in place

Viewing and managing revisions

  • In the Media Library list view, the Revisions row action opens the full revision history for that file
  • On the attachment edit screen, the View Revisions button opens the same panel
  • From either, you can download any past version individually or as a ZIP, and restore any revision with one click

Auditing your media library

  • Go to Media → Media Audit
  • Click Scan Now and let the index build — progress is shown in place
  • Use the filter chips to narrow to unused files, a media type, a usage location, or images missing alt text
  • Click a usage count to see exactly which posts reference that file
  • Select unused files and delete them in bulk — the delete controls only appear for files nothing references

On multisite, run the scan on each site, or use wp smr audit scan --network to build every site’s index at once.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • media library
  • unused media
  • replace
  • revisions
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 7.0

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 7.0.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.0
Minimum requirementsWordPress 7.0 · PHP 8.0
Update activity6 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.