{"id":344545,"date":"2026-09-13T16:12:48","date_gmt":"2026-09-13T16:12:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/skip-duplicate-media-upload\/"},"modified":"2026-09-13T16:12:17","modified_gmt":"2026-09-13T16:12:17","slug":"webfydev-duplicate-media-guard","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/webfydev-duplicate-media-guard\/","author":21115769,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.2","requires_php":"7.2","requires_plugins":null,"header_name":"Webfydev Duplicate Media Guard","header_author":"Webfydev","header_description":"Prevents duplicate media uploads by skipping files that already exist based on their filename and extension.","assets_banners_color":"9dcbc8","last_updated":"2026-09-13 16:12:17","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/webfydev.com","header_plugin_uri":"https:\/\/webfydev.com\/products\/plugins\/webfydev-duplicate-media-guard","header_author_uri":"https:\/\/webfydev.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"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":"jsrasheduzzaman","date":"2026-09-13 16:12:17","revision":3693909}},"upgrade_notice":{"1.0.0":"<p>Initial release of Webfydev Duplicate Media Guard.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3693906,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3693906,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3693906,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3693906,"resolution":"1","location":"assets","locale":"","width":1411,"height":736},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3693906,"resolution":"2","location":"assets","locale":"","width":1499,"height":733}},"screenshots":{"1":"Plugin settings page showing duplicate detection options.","2":"Example showing a duplicate media upload being detected and skipped."}},"plugin_section":[],"plugin_tags":[268759,280495,5887,233,3191],"plugin_category":[],"plugin_contributors":[224273,241269],"plugin_business_model":[],"class_list":["post-344545","plugin","type-plugin","status-publish","hentry","plugin_tags-duplicate-media","plugin_tags-duplicate-upload","plugin_tags-file-upload","plugin_tags-media-library","plugin_tags-media-upload","plugin_contributors-jsrasheduzzaman","plugin_contributors-webfydev","plugin_committers-jsrasheduzzaman"],"banners":{"banner":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/banner-772x250.png?rev=3693906","banner_2x":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/banner-1544x500.png?rev=3693906","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/icon-256x256.png?rev=3693906","icon_2x":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/icon-256x256.png?rev=3693906","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/screenshot-1.png?rev=3693906","caption":"Plugin settings page showing duplicate detection options."},{"src":"https:\/\/ps.w.org\/webfydev-duplicate-media-guard\/assets\/screenshot-2.png?rev=3693906","caption":"Example showing a duplicate media upload being detected and skipped."}],"raw_content":"<!--section=description-->\n<p><strong>Webfydev Duplicate Media Guard<\/strong> helps keep your WordPress Media Library clean by preventing duplicate file uploads.<\/p>\n\n<p>The plugin checks whether a file already exists before it is uploaded. You can choose to compare files using their complete filename (including extension) or compare only the filename while ignoring the extension.<\/p>\n\n<p>For example:<\/p>\n\n<ul>\n<li><code>logo.png<\/code> and <code>logo.png<\/code> \u2192 Duplicate<\/li>\n<li><code>logo.png<\/code> and <code>logo.jpg<\/code> \u2192 Duplicate (when extension check is disabled)<\/li>\n<li><code>banner.webp<\/code> and <code>banner.webp<\/code> \u2192 Duplicate<\/li>\n<\/ul>\n\n<p>This helps eliminate unnecessary duplicate files, reduces media library clutter, and saves server storage.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Prevent duplicate media uploads automatically.<\/li>\n<li>Compare filenames with extension.<\/li>\n<li>Compare filenames without extension.<\/li>\n<li>Simple settings page.<\/li>\n<li>Lightweight and easy to use.<\/li>\n<li>Works with the default WordPress Media Uploader.<\/li>\n<li>No impact on existing media files.<\/li>\n<li>No configuration required after activation (default settings available).<\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>Upload a file through the WordPress Media Library.<\/li>\n<li>The plugin checks if a matching filename already exists.<\/li>\n<li>If a duplicate is found, the upload is skipped.<\/li>\n<li>A notice is displayed informing you that the file already exists.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<h3>Modern Installation<\/h3>\n\n<ol>\n<li>Go to <strong>WordPress Dashboard \u2192 Plugins \u2192 Add New Plugin<\/strong>.<\/li>\n<li>Search for <strong>Webfydev Duplicate Media Guard<\/strong>.<\/li>\n<li>Click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<\/ol>\n\n<h3>Manual Installation<\/h3>\n\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Go to <strong>Plugins<\/strong> in your WordPress dashboard.<\/li>\n<li>Activate <strong>Webfydev Duplicate Media Guard<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20considered%20a%20duplicate%3F\"><h3>What is considered a duplicate?<\/h3><\/dt>\n<dd><p>A duplicate is a file whose name matches an existing media file according to your selected comparison method.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20duplicate%20is%20detected%3F\"><h3>What happens if a duplicate is detected?<\/h3><\/dt>\n<dd><p>The upload is skipped, preventing another copy from being added to the Media Library.<\/p><\/dd>\n<dt id=\"can%20i%20compare%20filenames%20without%20extensions%3F\"><h3>Can I compare filenames without extensions?<\/h3><\/dt>\n<dd><p>Yes. If enabled, files like <code>photo.jpg<\/code>, <code>photo.png<\/code>, and <code>photo.webp<\/code> are considered duplicates because they share the same filename.<\/p><\/dd>\n<dt id=\"does%20this%20affect%20existing%20media%20files%3F\"><h3>Does this affect existing media files?<\/h3><\/dt>\n<dd><p>No. The plugin only checks files during upload. Existing media files remain unchanged.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20all%20media%20types%3F\"><h3>Does this work with all media types?<\/h3><\/dt>\n<dd><p>Yes. The plugin works with all media types supported by WordPress.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20lightweight%3F\"><h3>Is the plugin lightweight?<\/h3><\/dt>\n<dd><p>Yes. It performs a simple duplicate check during upload and does not add unnecessary overhead.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Prevent duplicate media uploads.<\/li>\n<li>Option to compare filenames with file extensions.<\/li>\n<li>Option to compare filenames without file extensions.<\/li>\n<li>Added admin settings page.<\/li>\n<li>Added duplicate upload detection notice.<\/li>\n<li>Lightweight and optimized for WordPress Media Library.<\/li>\n<\/ul>","raw_excerpt":"Prevent duplicate media uploads in WordPress by checking existing files with or without file extensions before adding them to the Media Library.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344545"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jsrasheduzzaman"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344545"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344545"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344545"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344545"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344545"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}