Media Deduper

Media Deduper

Save disk space and bring some order to the chaos of your media library by removing and preventing duplicate files.
Rating:
3.8
star-rating-1star-rating-2star-rating-3star-rating-4star-rating-5
Active Installations:
9000+
Last Updated:
Dec 03, 2024
WordPress Version:
4.3 or higher
Tested up to:
6.7.2

Eliminate Duplicate Images

Easily find and delete duplicate images and attachments from your WordPress media library with Media Deduper. Free up valuable storage space and optimize your media library effortlessly.

Manage Duplicates Efficiently

Media Deduper provides a "Manage Duplicates" option in your Media section, making it simple to identify and remove duplicate files. Delete one file and its twin will disappear from the list, streamlining the process.

Prevent Duplicate Uploads

Media Deduper scans media files as they're uploaded via the admin, preventing duplicates from being added to your Media Library. Say goodbye to redundant files and maintain a clutter-free library.

Smart Delete Feature

Media Deduper's "Smart Delete" option safeguards a post's Featured Image from deletion, even if it's a duplicate. The plugin re-assigns the image to an existing copy before removing the duplicate, ensuring your post's appearance remains unchanged.

1.5.9

  • Fixed PHP warnings that could appear on the Debug Info screen if other plugins altered the active_plugins option or the output of the get_plugins() function.
  • Fixed a deprecation from WP Core (“WP_Scripts::localize was called incorrectly”).

1.5.8

  • Fixed deprecation warnings (“Creation of dynamic property…”) that appeared under PHP 8.0+.
  • Fixed a deprecation from WP Core (“WP_List_Table::__set(): The property is_trash is not declared.”).

1.5.7

  • Enhancement: instead of warning about Smart Deletion each time a Smart Delete operation is performed, Media Deduper will now only warn before the first operation. Users can now Smart Delete multiple pages’ worth of items on the Manage Duplicates screen without repeatedly clicking through the Smart Delete warning.
  • Fixed a bug that caused multiple copies of the warning message to appear when smart deleting items on the Manage Duplicates screen, when running on WordPress 5.7 and up.
  • Fixed a bug that could, under rare circumstances, cause fatal errors on the Manage Duplicates screen.
  • The “Block Duplicate Uploads” feature has been removed for the time being due to incompatibilities with the Block Editor.

1.5.6

  • Addressed two issues with the warning message that appears when HTTP basic authentication is detected: the ‘Check Again’ link is no longer broken, and the message now goes away when WP Cron HTTP Auth is properly configured.

1.5.5

  • Addressed a rare fatal error with trying to handle a WP_Error as an array in mdd_basic_auth_check().

1.5.4

  • Enhancement: Now MDD tries to identify when a site is behind an http auth login that interfere’s with wp-cron and MDD’s ability to index media.
  • Enhancement: Now only loading MDD scripts and styles on admin pages where they’re required.

1.5.3

  • You can now search duplicate media from the Manage Duplicates screen using the “Search duplicate items” search box.
  • An issue that could cause PHP errors to appear on the Media Deduper plugin settings screen has been fixed. This issue did not affect other pages or admin screens.

1.5.2

  • Fix an issue that could cause a performance hit or MySQL bottleneck on sites with large numbers of posts during initial activation, or when upgrading from 1.4.2 or earlier to 1.5.0 or 1.5.1

1.5.1

  • Fix missing files in initial release of version 1.5.0, which could cause fatal errors

1.5.0

  • Media Deduper now indexes attachments asynchronously, meaning you don’t have to keep the browser open while it indexes your media library.

1.4.2

  • Media Deduper now fully supports the media trash feature (a.k.a. the MEDIA_TRASH constant; see this post for more information). As of Media Deduper 1.4.2, if the media trash feature is enabled:
    • The Manage Duplicates screen will list (and allow the user to delete or Smart Delete) both trashed and non-trashed attachment posts. Previously, only non-trashed attachments were listed on this screen, which caused confusing behavior if, for instance, a site’s media library contained two copies of an image, but one was in the Trash.
    • If a user attempts to upload a media file that already exists in the media library, but the existing copy of the file is in the Trash, the user will no longer be prevented from uploading the new copy.
  • Bugfix: The “Attach” or “Detach” links in the list table on the Manage Duplicates screen are now working again, after they stopped working in a previous version of the plugin.

1.4.1

  • Tweaks to messages about Pro: display on fewer pages, don’t display to users who don’t have permission to install new plugins, change wording slightly for clarity.

1.4.0

  • “Delete Preserving Featured” has been renamed to “Smart Delete”.
  • Smart Delete logic has been changed so it will never delete the last copy of a media item. Previously, Delete Preserving Featured would only save the last copy of a file if it or one of its duplicates was used as a featured image somewhere on the site.
  • By default, the list of duplicates is now sorted by size (largest first), and secondarily by date (newest first).
  • Media Deduper will now warn users before executing a Smart Delete operation, so you have a chance to cancel if you change your mind.
  • We’ve added information about the newly released Media Deduper Pro.
  • If your site is running PHP 5.2 or earlier, Media Deduper will now deactivate itself instead of causing errors.
  • Bugfix: The second bulk action menu, at the bottom of the list of duplicates, was not behaving correctly under some circumstances. This has been fixed.
  • Bugfix: Prior versions of Media Deduper could potentially have affected how other plugins’ screen options were saved. This issue would only have affected plugins that did unusual things (e.g. data validation logic) on the set-screen-option hook, and we haven’t run into this issue in the wild, but now it’s fixed anyway.

1.3.2

  • Bugfix: Fixing an issue that caused bulk actions (Delete Permanently, Delete Preserving Featured) to not work correctly on some versions of WordPress.
  • When a media file is changed (using the built-in WP image editor or the Enable Media Replace plugin, for instance), the plugin will now re-check whether the updated file is a duplicate of another file in the media library.
  • Minor code cleanup.

1.3.1

  • Bugfix: Fixing an issue that caused attachments to be listed as “duplicates” even after all identical attachments had been deleted.

1.3

  • Refactoring PHP to take advantage of WP 4.7’s new hooks for handling bulk actions.
  • Minor improvements to ‘success’ messages displayed after a bulk action has been performed on a set of duplicate attachments.
  • When uninstalled, the plugin will now delete the ‘mdd_size’ meta field that it adds to attachments. Previously it would only delete the ‘mdd_hash’ field.
  • Minor code cleanup.
  • Bugfix: Fixing an issue that caused the columns on the Manage Duplicates screen (File, Author, etc.) to not actually be sortable.
  • Bugfix: Ensuring that the ‘size’ column added to the main media library (in list view only) is styled properly & sortable.

1.2.2

  • Bugfix: The bugfix in 1.2.1 introduced a problem with performing smart deletions, so it’s been rewritten. Deduper and the normal Media Library should both work as expected now.

1.2.1

  • Bugfix: Eliminating behavior where bulk-deleting media from the media library would redirect user to Deduper admin page after performing deletion.

1.2.0

  • Adding sharing tools to help encourage spreading Media Deduper love!
  • Refactoring CSS into standalone CSS file.
  • Refactoring JS into standalone JS file.
  • Bugfix: Altering notification message shown when indexing is manually aborted to indicate that indexing is not yet complete.

1.1.1

  • Fixing a bug that would list all media as duplicates if all duplicates share a media file

1.1.0

  • Implemented a check to differentiate posts that are duplicates because they actually share a single media file, and updated the UI to allow for controlling the display of these posts.
  • Fixed a notice-level error for undefined $_GET variable

1.0.3

  • Fixed a bug with “Are you sure you want to do this?” appearing due to overly-aggressive referrer checking

1.0.2

  • Fixed a bug manifesting when bulk-deleting no items or running HHVM/PHP7

1.0.1

  • Fixed a bug where Media Deduper didn’t want to be uninstalled
  • Fixed a bug where bulk deletion didn’t always work
  • Fixed a minor notice-level PHP error

1.0.0

  • Implemented the ‘Delete Preserving Featured’ option to prevent inadvertently wiping out media assets in use as post thumbnails
  • Enhanced indexing to include the file size
  • Added a sortable ‘filesize’ column to the duplicates table that leverages the aforementioned size data
  • Refined screen option to control number of media posts shown per page
  • Included a new help tab to provide more information regarding the plugin, indexing, and deletion
  • Various bugfixes, including one that broke bulk deletion

0.9.3

  • Implementing Screen Options tab to control number of items displayed. This is a precursor to some other UI enhancements (hopefully).

0.9.2

  • Misc cleanup

0.9.1

  • Rewriting SQL query for finding duplicates to be massively more performant. Props to user gizmomol for the rewrite!

0.9

  • Initial public release.

Changed Opinion: Excellent Plugin

By gravnetic on February 12, 2025

I installed the plugin and was fairly confused by the plugin WP Settings which has only a checkbox for changing the index. I found the actual plugin features under Media. I was again a bit confused because indexing the media is the third tab, but there is no Index my media or whatever on the first tab. I decided that indexing my media is probably a good idea so I did that, but then the big choice: Manually delete duplicates, bulk delete duplicates, or smart delete duplicates. Oh the anxiety this brought on.

This one instruction made the plugin work flawless for me. I hope it helps others.
I finally got the nerve up to manually delete duplicates, but what I did not realize is you want to leave the image you intend to keep unchecked!

Features I'd like to see:
An option to turn off Bulk Delete Unused Image, since with many builders and advanced block libraries this is going to result in issues.

An option to remove post meta when File for attachment # could not be found.

An option to keep my most recent image.
Since this is what I usually want to keep. I find that when I take photos I will take several images and almost always I stop when I get the image I want, the last image. I have edited / managed photoshoots for years and this is almost always the case.

An explanation on how Smart Bulk Delete Duplicates works.

Did not work as expected

By nicole2292 on May 7, 2024

I downloaded this plugin to use it to remove duplicate media items that had been accidentally created by WP All Import. In our case there were 2 media items (attachments) which referred to a single file. I just wanted to remove the duplicate attachment post and leave the file and one attachment post.

Firstly the index did not find all instances of the issue.

Secondly when I used the smart delete on some instances it removed the files and left media items which were no longer pointing to any file on the server so returned a 404 for the missing media file.

This is certainly not the expected behaviour so I had to revert to my backup.

Gutes Plugin

By caw67 on February 12, 2024

Praktisch umd doppelte Medien zu vermeiden.

Arbetitet super

Great Customer Service

By axelfunding on January 25, 2024

They listen and resolve issues without any problems.

Very good and sufficient for our school website

By koehlersmichael on December 23, 2023

For us, the free version is completely sufficient for basic functions. It solved the problem really well that we were multiple admins and often accidentally uploaded content twice. Thanks!

underwhelming

By ngjarman on August 25, 2023

Ran on a site I know to have hundreds of duplicated images.

Indexed 33k images and didn't find a single one!

eun run fast away

By pgazzola on July 22, 2023

zero support and dev never reply to your help.free one decent paid stay far away

Love it but...

By CineWars (Max1138) on December 20, 2023

Currently using the free version. I have tried the Pro version (twice) but every time I tried to use the Pro version, it would freeze up. Free version works great but would love to upgrade but afraid to because if it doesn't work again I will have to ask for a refund (and I've already done that twice!) Anyway, Free version HIGHLY recommended and as they say, use the Smart Delete option (any other option is disastrous and NOT their fault)

NaN% appears in the Duplicate Media Index

By iacobustime on June 11, 2023

I can't do anything, when searching for duplicates NaN% appears and I can't continue. How can I fix this? Thanks

Simply didn't work

By digitalsmithy on May 22, 2023

It seemed to break everything, but after restoring the original the error persisted, so it was not the plugin. I'm amending my review to remove accordingly.

Try other plugins too!

WP Cron Pixie

A little dashboard widget to view the WordPress cron.

Try Demo More Details

Spice Box

Enhance Spicethemes WordPress Themes functionality.

Try Demo More Details

Media Library Assistant

Enhances the Media Library; powerful [mla_gallery] [mla_tag_cloud] [mla_term_list], taxonomy support, IPTC/EXIF/XMP/PDF processing, bulk/quick edit.

Try Demo More Details
Screenshots
Author Site Author Site

Try Media Deduper With InstaWP

Contact Sales

Reach out to us to explore how InstaWP can benefit your business.