[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1lZU1mk0LD_IFudaRZ7t2rDvqZYKK0rs9zeqbtjNtIM":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":29,"last_vuln_date":30,"fetched_at":31,"vulnerabilities":32,"developer":61,"crawl_stats":38,"alternatives":68,"analysis":170,"fingerprints":408},"trash-duplicate-and-301-redirect","Trash Duplicate and 301 Redirect","1.9.1","solwininfotech","https:\u002F\u002Fprofiles.wordpress.org\u002Fsolwininfotech\u002F","\u003Cp>Do your site have more content editor \u002F authors who upload contents? Do you site content managed by team of multiple person ? Do you run a site with user submitted content?\u003C\u002Fp>\n\u003Cp>Finally ended up with duplicate content on your website or blog? Duplicate content divide traffic and may be penalized by google for SEO ranking.\u003C\u002Fp>\n\u003Cp>So, You must remove duplicate content (posts, pages, etc.) and also you have to take care of removed content URL to redirect to main URL.\u003C\u002Fp>\n\u003Cp>Now, with help of this amazing plugin called \u003Cstrong>“Trash Duplicate and 301 Redirect”\u003C\u002Fstrong> you can find and remove duplicate content. Also permanently redirect ‘Removed Content’ URL to main URL to divert traffic to one URL and be safe from being penalized by Google for duplicate content.\u003C\u002Fp>\n\u003Ch4>Trash Duplicate and 301 Redirection Plugin Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>View all duplicate posts, pages, custom post type posts\u003C\u002Fli>\n\u003Cli>Post type wise searching available\u003C\u002Fli>\n\u003Cli>Trash duplicates and keep the newest or oldest\u003C\u002Fli>\n\u003Cli>Redirection to kept post will be done automatically\u003C\u002Fli>\n\u003Cli>Individual post can also be trashed\u003C\u002Fli>\n\u003Cli>You can add or delete redirections\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Trash Duplicate and 301 Redirection PRO Plugin Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Enable or Disable redirection\u003C\u002Fli>\n\u003Cli>Trash Duplicate without 301 Redirection\u003C\u002Fli>\n\u003Cli>301 Redirection of Duplicate without Trash\u003C\u002Fli>\n\u003Cli>Wildcard Redirection\u003C\u002Fli>\n\u003Cli>Delete Post Meta Permanently\u003C\u002Fli>\n\u003Cli>Import\u002FExport Redirection List\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Buy Trash Duplicate and 301 Redirect PRO :\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002F1.envato.market\u002FEjDE2\" rel=\"nofollow ugc\">https:\u002F\u002Fcodecanyon.net\u002Fitem\u002Ftrash-duplicate-and-301-redirect-pro-for-wordpress\u002F20885697\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>If you find any issue please ask questions on \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Ftrash-duplicate-and-301-redirect\" rel=\"ugc\">support forum\u003C\u002Fa> or \u003Ca href=\"http:\u002F\u002Fsupport.solwininfotech.com\" rel=\"nofollow ugc\">support.solwininfotech.com\u003C\u002Fa>. We’re active for any support issues and feature suggestions. We will try to resolve your issues asap. So hope you will love it.\u003C\u002Fp>\n\u003Ch4>Warning\u003C\u002Fh4>\n\u003Cp>The purpose of this plugin is to find and delete duplicate posts and redirect deleted posts to preserve you link. We have performed testing with various cases to make sure plugins works very well, but you should make sure you have a backup of your database, before installing plugin.\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cp>Currently I am not aware of any compatibility issues with any other WordPress plugins. (\u003Cstrong>NOTE:\u003C\u002Fstrong> Please have a back of your database before installing plugin)\u003C\u002Fp>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>This plugin is released under the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GPL licence\u003C\u002Fa>. I do not accept any responsibility for any damages or losses, direct or indirect, that may arise from using the plugin or these instructions. This software is provided as is, with absolutely no warranty. Please refer to the full version of the GPL license for more information.\u003C\u002Fp>\n","Find and delete duplicates posts, pages, custom post type posts and set 301 redirect to the new or old URL.",1000,108066,86,36,"2025-08-12T20:52:00.000Z","6.6.5","5.4","7.0",[20,21,22,23,24],"delete-duplicate","duplicates","find-duplicates","fix-duplicates","trash-duplicate","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftrash-duplicate-and-301-redirect\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftrash-duplicate-and-301-redirect.zip",73,2,1,"2025-12-31 00:00:00","2026-03-15T15:16:48.613Z",[33,47],{"id":34,"url_slug":35,"title":36,"description":37,"plugin_slug":4,"theme_slug":38,"affected_versions":39,"patched_in_version":38,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":30,"updated_date":44,"references":45,"days_to_patch":38},"CVE-2025-62122","trash-duplicate-and-301-redirect-missing-authorization","Trash Duplicate and 301 Redirect \u003C= 1.9.1 - Missing Authorization","The Trash Duplicate and 301 Redirect plugin for WordPress is vulnerable to unauthorized access due to a missing capability check on a function in versions up to, and including, 1.9.1. This makes it possible for unauthenticated attackers to perform an unauthorized action.",null,"\u003C=1.9.1","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Missing Authorization","2026-01-05 18:27:10",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9aff585b-b2ee-46ff-8558-ded4ece9a3eb?source=api-prod",{"id":48,"url_slug":49,"title":50,"description":51,"plugin_slug":4,"theme_slug":38,"affected_versions":52,"patched_in_version":6,"severity":53,"cvss_score":54,"cvss_vector":55,"vuln_type":43,"published_date":56,"updated_date":57,"references":58,"days_to_patch":60},"CVE-2024-13468","trash-duplicate-and-301-redirect-missing-authorization-to-unauthenticated-arbitrary-post-deletion","Trash Duplicate and 301 Redirect \u003C= 1.9 - Missing Authorization to Unauthenticated Arbitrary Post Deletion","The Trash Duplicate and 301 Redirect plugin for WordPress is vulnerable to unauthorized loss of data due to a missing capability check on the 'duplicates-action-top' action in all versions up to, and including, 1.9. This makes it possible for unauthenticated attackers to delete arbitrary posts\u002Fpages.","\u003C=1.9","high",7.5,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:H\u002FA:N","2025-02-18 19:29:59","2025-08-15 14:22:12",[59],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Febb6afd7-6bc4-4c8a-a645-04f64d5adff4?source=api-prod",178,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":62,"total_installs":63,"avg_security_score":64,"avg_patch_time_days":65,"trust_score":66,"computed_at":67},7,14180,82,642,66,"2026-04-04T05:41:15.539Z",[69,90,114,134,152],{"slug":23,"name":70,"version":71,"author":72,"author_profile":73,"description":74,"short_description":75,"active_installs":76,"downloaded":77,"rating":13,"num_ratings":78,"last_updated":79,"tested_up_to":80,"requires_at_least":81,"requires_php":82,"tags":83,"homepage":86,"download_link":87,"security_score":88,"vuln_count":89,"unpatched_count":89,"last_vuln_date":38,"fetched_at":31},"Fix Duplicates","1.0.4","Stephen Cronin","https:\u002F\u002Fprofiles.wordpress.org\u002Fstephencronin\u002F","\u003Cp>Do you run a site with user submitted content? Do users submit the same post again and again? Use the \u003Ca href=\"http:\u002F\u002Fscratch99.com\u002Fproducts\u002Ffix-duplicates\u002F\" rel=\"nofollow ugc\">Fix Duplicates plugin\u003C\u002Fa> to find and delete duplicate posts.\u003C\u002Fp>\n\u003Cp>There is also a paid \u003Ca href=\"http:\u002F\u002Fscratch99.com\u002Fproducts\u002Ffix-duplicates\u002Fredirection\u002F\" rel=\"nofollow ugc\">Redirection extension\u003C\u002Fa> that preserves the link equity of removed duplicates by 301 redirecting them to the kept item.\u003C\u002Fp>\n\u003Ch4>Warning\u003C\u002Fh4>\n\u003Cp>The purpose of this plugin is to delete duplicates. Extensive testing has been carried out, but you should make sure you have a backup of your database, just in case.\u003C\u002Fp>\n\u003Ch4>Extensions\u003C\u002Fh4>\n\u003Cp>We currently offer the following premium extensions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fscratch99.com\u002Fproducts\u002Ffix-duplicates\u002Fredirection\u002F\" rel=\"nofollow ugc\">Redirection\u003C\u002Fa>: Gives you the ability to 301 redirect any duplicates being deleted, to the one being kept. This helps preserve your link equity, so that PageRank is passed to a single post rather than just being lost. Or to put it simply: Helps with SEO!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin requires WordPress 3.5 or above.\u003C\u002Fli>\n\u003Cli>I am not currently aware of any compatibility issues with any other WordPress plugins.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>The free version of this plugin is officially not supported, but if you leave a comment on the plugin’s support forum, I’ll try to help if I can. A much higher level of support is available for customers who purchase one of the premium extensions.\u003C\u002Fp>\n\u003Ch4>Disclaimer\u003C\u002Fh4>\n\u003Cp>This plugin is released under the \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Fcopyleft\u002Fgpl.html\" rel=\"nofollow ugc\">GPL licence\u003C\u002Fa>. I do not accept any responsibility for any damages or losses, direct or indirect, that may arise from using the plugin or these instructions. This software is provided as is, with absolutely no warranty. Please refer to the full version of the GPL license for more information.\u003C\u002Fp>\n","Do you run a site with user submitted content? Do users submit the same post again and again? Use the Fix Duplicates plugin to find and delete duplica &hellip;",900,52189,12,"2017-11-28T16:59:00.000Z","4.6.30","3.5","",[84,21,22,23,85],"duplicate-posts","user-submitted-posts","http:\u002F\u002Fscratch99.com\u002Fproducts\u002Ffix-duplicates\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffix-duplicates.1.0.4.zip",85,0,{"slug":91,"name":92,"version":93,"author":94,"author_profile":95,"description":96,"short_description":97,"active_installs":98,"downloaded":99,"rating":100,"num_ratings":101,"last_updated":102,"tested_up_to":103,"requires_at_least":104,"requires_php":105,"tags":106,"homepage":110,"download_link":111,"security_score":112,"vuln_count":28,"unpatched_count":89,"last_vuln_date":113,"fetched_at":31},"delete-duplicate-posts","Delete Duplicate Posts","5.0.3","Lars Koudal","https:\u002F\u002Fprofiles.wordpress.org\u002Flkoudal\u002F","\u003Cp>\u003Cstrong>Delete Duplicate Posts\u003C\u002Fstrong> helps you declutter your WordPress site by removing duplicate posts along with their metadata. Whether you choose to run the cleanup process manually or set it to operate automatically on a schedule, our plugin ensures a thorough cleanup, improving your website’s loading speed and overall performance.\u003C\u002Fp>\n\u003Cp>Try it out on your \u003Cstrong>Free Test Site\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fapp.instawp.io\u002Flaunch?t=ddp-492-demo-template&d=v2\" rel=\"nofollow ugc\">Launch Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Why Choose Delete Duplicate Posts?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Comprehensive Cleanup\u003C\u002Fstrong>: Not just posts or pages, but also any Custom Post Type you have enabled, along with all related metadata.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Space Efficiency\u003C\u002Fstrong>: By eliminating unnecessary duplicates, it frees up space, facilitating better website performance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scalability\u003C\u002Fstrong>: Designed for websites of all sizes, it efficiently manages and optimizes large-scale websites without causing timeouts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Selective Deletion\u003C\u002Fstrong>: Choose specific posts for deletion or use the select all option.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deletion Modes\u003C\u002Fstrong>: Supports both manual and automatic deletion processes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Version Preference\u003C\u002Fstrong>: Options to keep either the oldest or the newest version of a post.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Deletion Notifications\u003C\u002Fstrong>: Receive status emails upon the deletion of posts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Activity Log\u003C\u002Fstrong>: An integrated log records all plugin activities for your review.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Experience its Efficiency\u003C\u002Fh3>\n\u003Cp>Our plugin’s unique approach to handling large datasets ensures that your website remains operational and improves progressively. By removing a few posts at a time, the plugin prevents site timeouts and enhances your website’s performance seamlessly.\u003C\u002Fp>\n\u003Cp>For a cleaner, smoother, and more efficient WordPress site, \u003Cstrong>Delete Duplicate Posts\u003C\u002Fstrong> is the solution you need.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fcleverplugins.com\u002Fdelete-duplicate-posts\u002F\" rel=\"nofollow ugc\">Learn more about the plugin and its features.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Eliminate duplicate posts, pages, and custom post types effortlessly with \u003Cstrong>Delete Duplicate Posts\u003C\u002Fstrong>, enhancing your website’s performance. Our WordPress plugin offers both manual and automatic cleanup options, ensuring a streamlined and efficient management of content duplicates.\u003C\u002Fp>\n\u003Ch4>How can I report security bugs?\u003C\u002Fh4>\n\u003Cp>You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. \u003Ca href=\"https:\u002F\u002Fpatchstack.com\u002Fdatabase\u002Fvdp\u002Fdelete-duplicate-posts\" rel=\"nofollow ugc\">Report a security vulnerability.\u003C\u002Fa>\u003C\u002Fp>\n","Get rid of duplicate posts and pages (any post type) on your blog with manual or automatic modes.",20000,873209,96,149,"2026-03-08T20:03:00.000Z","6.9.4","4.7","7.4",[107,91,21,108,109],"cleanup","optimization","performance","https:\u002F\u002Fcleverplugins.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdelete-duplicate-posts.5.0.3.zip",99,"2023-11-13 00:00:00",{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":76,"downloaded":122,"rating":123,"num_ratings":124,"last_updated":125,"tested_up_to":103,"requires_at_least":126,"requires_php":105,"tags":127,"homepage":82,"download_link":132,"security_score":133,"vuln_count":89,"unpatched_count":89,"last_vuln_date":38,"fetched_at":31},"delete-duplicate-products-for-woocommerce","Delete Duplicate Products for WooCommerce","1.4.0","Luis Peel","https:\u002F\u002Fprofiles.wordpress.org\u002Fcanpalte\u002F","\u003Cp>This plugin provides a comprehensive solution for managing duplicate products in WooCommerce. Designed to handle large catalogs with thousands of products efficiently.\u003C\u002Fp>\n\u003Ch3>Free Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Find Duplicates:\u003C\u002Fstrong> Accurately detect duplicate products by title or SKU using exact matching. All duplicate groups are visible.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filter by Status:\u003C\u002Fstrong> View products by status (Published, Draft, Trash, or All).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quick Selection:\u003C\u002Fstrong> “Select all — keep newest” and “Select all — keep oldest” page-level buttons to mark all duplicate groups at once with a single click.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk Actions (up to 10 duplicate groups per day — resets at midnight):\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Delete products permanently.\u003C\u002Fli>\n\u003Cli>Move products to trash.\u003C\u002Fli>\n\u003Cli>Change products to draft status.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Image Management (up to 10 duplicate groups per day — resets at midnight):\u003C\u002Fstrong>\n\u003Cul>\n\u003Cli>Remove featured images.\u003C\u002Fli>\n\u003Cli>Remove gallery images.\u003C\u002Fli>\n\u003Cli>Remove all product images.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Action Logging System:\u003C\u002Fstrong> Complete audit trail of all actions with user info and timestamps.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Pagination:\u003C\u002Fstrong> Efficient paginated display with configurable items per page (5, 10, 25, 50, 100).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Pro Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Unlimited Bulk Actions:\u003C\u002Fstrong> Remove duplicate groups without any limit — ideal for large catalogs with hundreds of duplicate groups.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced 301 Redirects:\u003C\u002Fstrong> Automatically create 301 redirects when deleting duplicate products, with multiple destination options (canonical product, category, or homepage). Protects your SEO rankings.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Filter by Category:\u003C\u002Fstrong> Narrow down duplicate detection to a specific WooCommerce product category.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keep Newest \u002F Keep Oldest:\u003C\u002Fstrong> Auto-select which duplicate to keep per group based on creation date — one click to mark all others for deletion.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Export to CSV:\u003C\u002Fstrong> Download the full list of duplicate products as a CSV file for external auditing or reporting.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Priority Support:\u003C\u002Fstrong> Get faster responses from the developer.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Ch3>Managing Duplicate Products\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Duplicate Products\u003C\u002Fstrong> in your WordPress admin menu.\u003C\u002Fli>\n\u003Cli>Select grouping type (Title or SKU).\u003C\u002Fli>\n\u003Cli>Filter by product status if needed.\u003C\u002Fli>\n\u003Cli>(Pro) Filter by product category.\u003C\u002Fli>\n\u003Cli>Select the products you want to manage. Use the page-level \u003Cstrong>Select all — keep newest\u003C\u002Fstrong> \u002F \u003Cstrong>Select all — keep oldest\u003C\u002Fstrong> buttons (free) to mark all groups at once, or use the per-group \u003Cstrong>Keep Newest \u002F Keep Oldest\u003C\u002Fstrong> buttons (Pro).\u003C\u002Fli>\n\u003Cli>Choose the desired action from the bulk actions dropdown.\u003C\u002Fli>\n\u003Cli>Click “Apply”.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Export to CSV (Pro)\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Apply your desired filters (status, group by, category).\u003C\u002Fli>\n\u003Cli>Click the \u003Cstrong>Export to CSV\u003C\u002Fstrong> button next to the results count.\u003C\u002Fli>\n\u003Cli>The file downloads immediately with all duplicate groups and product details.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Action Logs\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Duplicate Products > Action Logs\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Review the complete history of actions performed by users.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>301 Redirects\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Duplicate Products > 301 Redirects\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Enable or disable automatic redirects.\u003C\u002Fli>\n\u003Cli>Choose the redirect destination (Canonical Product, Product Category, or Homepage).\u003C\u002Fli>\n\u003Cli>View and manage existing redirects created by the plugin.\u003C\u002Fli>\n\u003C\u002Fol>\n","Quickly find and manage duplicate WooCommerce products. Bulk delete, image control, action logging, 301 redirects, and CSV export.",5269,80,4,"2026-03-06T08:46:00.000Z","5.8",[128,107,129,130,131],"301-redirects","delete-duplicate-products","duplicate-products","product-management","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdelete-duplicate-products-for-woocommerce.1.4.0.zip",100,{"slug":135,"name":136,"version":137,"author":138,"author_profile":139,"description":140,"short_description":141,"active_installs":142,"downloaded":143,"rating":123,"num_ratings":29,"last_updated":144,"tested_up_to":103,"requires_at_least":145,"requires_php":18,"tags":146,"homepage":82,"download_link":151,"security_score":133,"vuln_count":89,"unpatched_count":89,"last_vuln_date":38,"fetched_at":31},"gf-no-duplicates","GF No Duplicates","1.2","Samuel Aguilera","https:\u002F\u002Fprofiles.wordpress.org\u002Fsamuelaguilera\u002F","\u003Cp>Gravity Forms already has some built-in duplicate submission prevention techniques, including the No Duplicates setting for a field in your form, preventing the same field value from being used multiple times for the same form. Using this setting is a rock solid approach to avoid duplicate submissions, but it requires having a field in your form that you can consider as a source of unique data per submission.\u003C\u002Fp>\n\u003Cp>This add-on helps using the same idea, without requiring having a field to enable the No Duplicates setting, by dynamically adding a hidden input with a random token to the form, and checks the \u003Ca href=\"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FMethods\u002FPOST\" rel=\"nofollow ugc\">POST request\u003C\u002Fa> received for this token value to prevent duplicate submissions.\u003C\u002Fp>\n\u003Cp>This will \u003Cstrong>stop identical POST requests\u003C\u002Fstrong> from being accepted for entry creation, like the ones that some browsers will send when the browser back or refresh buttons are clicked or when browser tabs are restored in mobile devices.\u003C\u002Fp>\n\u003Ch4>Limitations\u003C\u002Fh4>\n\u003Col>\n\u003Cli>If for any reason the visitor manually fills the form with the same information, and submits it again, \u003Cstrong>blocking this visitor’s behavior is not within the scope of this plugin functionality\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>To put in another way, the add-on is intended to \u003Cstrong>block automated resend of the same POST request data, it doesn’t block submissions voluntarily initiated by the visitor\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Col>\n\u003Cli>If your site is still receiving repeated POST requests \u003Cstrong>created before enabling the add-on\u003C\u002Fstrong>, therefore not containing the token field, you would still receive duplicates for these entries. There’s no way for the add-on to be able stop duplicates for requests \u003Cstrong>created before enabling the add-on\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>How it works:\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\u003Cstrong>When the add-on is enabled\u003C\u002Fstrong> a hidden input with a random token as value is added to each form dynamically in the front-end.\u003C\u002Fli>\n\u003Cli>When a POST request is received and handled by Gravity Forms, GF No Duplicates checks if this POST request has the token and if its value was used already in an existing entry \u003Cstrong>for the form tied to the POST request\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>If the token parameter exists but is empty or there’s any form entry where the token value was used already, GF No Duplicates stops the submission.\u003C\u002Fli>\n\u003Cli>The form is replaced with an error message, which contains a link to the form page, suggesting the visitor to click the link to start a fresh new submission.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>PHP 7.0 or higher.\u003C\u002Fli>\n\u003Cli>WordPress 4.9 or higher.\u003C\u002Fli>\n\u003Cli>Gravity Forms 2.5 or higher.\u003C\u002Fli>\n\u003Cli>The page where the form is embedded must be \u003Cstrong>excluded from cache\u003C\u002Fstrong> (if you use any caching plugin or server cache, see note below).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Install and activate it as you do with any other plugin.\u003C\u002Fli>\n\u003Cli>Enjoy!\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Optionally, you can customize the duplicate submission message shown to users from the settings page or using a filter (see the FAQ).\u003C\u002Fp>\n\u003Ch4>Note about Caching\u003C\u002Fh4>\n\u003Cp>The add-on functionality relies on a \u003Cstrong>random\u003C\u002Fstrong> token generated \u003Cstrong>dynamically\u003C\u002Fstrong>, so for obvious reasons caching the page where your form is embedded would prevent the add-on from working as expected. This is not a limitation of the add-on but the expected if you’re serving a static version of your page, which is the only reason to cache a page, you shouldn’t never cache pages where you expect dynamic data.\u003C\u002Fp>\n\u003Cp>Most caching plugins provide you a way to exclude URLs from cache, this is for a reason, use it.\u003C\u002Fp>\n\u003Cp>There are some web hosting providers using cache at server level and not providing their customers with an interface to exclude URLs from cache (e.g. WP Engine, Kinsta, …), you can still ask your host support staff to add the exclusion for you.\u003C\u002Fp>\n\u003Cp>You can also use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ffresh-forms-for-gravity\u002F\" rel=\"ugc\">Fresh Forms\u003C\u002Fa> for automated cache exclusion if you use any of the embedding methods and caching plugins supported (see Fresh Forms description for more details).\u003C\u002Fp>\n","Prevents duplicate Gravity Forms submissions caused by the same POST request sent more than once.",700,6674,"2026-01-13T09:35:00.000Z","4.9",[147,148,21,149,150],"duplicated-entry","duplicated-submission","gravity-forms","gravityforms","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgf-no-duplicates.1.2.zip",{"slug":153,"name":154,"version":155,"author":156,"author_profile":157,"description":158,"short_description":159,"active_installs":160,"downloaded":161,"rating":133,"num_ratings":29,"last_updated":162,"tested_up_to":163,"requires_at_least":17,"requires_php":18,"tags":164,"homepage":168,"download_link":169,"security_score":133,"vuln_count":89,"unpatched_count":89,"last_vuln_date":38,"fetched_at":31},"duplicate-products-report","Duplicate Products Report for WooCommerce","1.0.2","KosTeams","https:\u002F\u002Fprofiles.wordpress.org\u002Fpro100kostia\u002F","\u003Cp>Duplicate Products Report for WooCommerce is a WordPress plugin that helps you identify duplicate products in your WooCommerce store. It generates a report based on product names and SKUs, making it easier for you to manage your inventory and ensure data accuracy.\u003C\u002Fp>\n\u003Cp>Key features:\u003Cbr \u002F>\n– Generate a report on duplicate products by name and article (SKU).\u003Cbr \u002F>\n– View duplicates by name or by SKU.\u003Cbr \u002F>\n– Easily navigate to edit product pages from the report.\u003Cbr \u002F>\n– Ensure data accuracy and manage your inventory effectively.\u003C\u002Fp>\n\u003Ch3>Tested with\u003C\u002Fh3>\n\u003Cp>This plugin has been tested with:\u003Cbr \u002F>\n* WordPress 6.4.3\u003Cbr \u002F>\n* PHP 8.1\u003C\u002Fp>\n","Generates a report on duplicate products by name and article in WooCommerce.",200,68513,"2025-05-27T02:52:00.000Z","6.8.5",[21,165,166,167],"products","report","woocommerce","https:\u002F\u002Fgithub.com\u002Fpro-ks\u002Fduplicate-products-report","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fduplicate-products-report.1.0.2.zip",{"attackSurface":171,"codeSignals":266,"taintFlows":303,"riskAssessment":397,"analyzedAt":407},{"hooks":172,"ajaxHandlers":257,"restRoutes":263,"shortcodes":264,"cronEvents":265,"entryPointCount":29,"unprotectedCount":89},[173,179,183,188,193,199,205,209,212,216,219,221,224,227,230,234,238,242,246,250,253],{"type":174,"name":175,"callback":176,"file":177,"line":178},"action","plugins_loaded","tdrd_load_plugin","includes\\promo_notice.php",8,{"type":174,"name":180,"callback":181,"file":177,"line":182},"admin_notices","tdrd_promo",23,{"type":174,"name":184,"callback":185,"file":186,"line":187},"admin_init","tdrd_delete_redirection_links","redirect_admin.php",271,{"type":174,"name":189,"callback":190,"priority":29,"file":191,"line":192},"init","tdrd_redirect_me","redirect_client.php",43,{"type":174,"name":194,"callback":195,"priority":196,"file":197,"line":198},"admin_menu","tdrd_menu",5,"trash-duplicates-admin.php",35,{"type":200,"name":201,"callback":202,"priority":203,"file":197,"line":204},"filter","plugin_action_links","tdrd_settings_link",10,104,{"type":174,"name":206,"callback":207,"file":197,"line":208},"admin_enqueue_scripts","tdrd_enqueue",135,{"type":174,"name":184,"callback":210,"file":197,"line":211},"tdrd_trash_pages",1330,{"type":174,"name":213,"callback":214,"file":197,"line":215},"admin_post_tdrd_bulk_action","tdrd_handle_bulk_action",1446,{"type":174,"name":189,"callback":217,"priority":89,"file":218,"line":196},"tdrd_maybe_start_session","trash-duplicates.php",{"type":174,"name":189,"callback":220,"priority":89,"file":218,"line":88},"tdrd_init",{"type":174,"name":175,"callback":222,"file":218,"line":223},"tdrd_load_text_domain",87,{"type":174,"name":206,"callback":225,"file":218,"line":226},"tdrd_admin_scripts",119,{"type":174,"name":175,"callback":228,"file":218,"line":229},"tdrd_latest_news_solwin_feed",120,{"type":174,"name":231,"callback":232,"file":218,"line":233},"current_screen","tdrd_footer",121,{"type":200,"name":235,"callback":236,"priority":203,"file":218,"line":237},"set-screen-option","tdrd_set_screen_option",122,{"type":174,"name":239,"callback":240,"file":218,"line":241},"wp_dashboard_setup","tdrd_solwin_latest_news_with_product_details",130,{"type":200,"name":243,"callback":244,"file":218,"line":245},"admin_footer_text","tdrd_remove_footer_admin",217,{"type":174,"name":247,"callback":248,"priority":203,"file":218,"line":249},"admin_head","tdrd_subscribe_mail",243,{"type":174,"name":247,"callback":251,"file":218,"line":252},"tdrd_upgrade_link_style",588,{"type":174,"name":254,"callback":255,"file":218,"line":256},"activated_plugin","tdrd_activated_plugin",590,[258],{"action":259,"nopriv":260,"callback":259,"hasNonce":261,"hasCapCheck":260,"file":218,"line":262},"tdrd_submit_optin",false,true,312,[],[],[],{"dangerousFunctions":267,"sqlUsage":274,"outputEscaping":277,"fileOperations":89,"externalRequests":300,"nonceChecks":301,"capabilityChecks":279,"bundledLibraries":302},[268,272],{"fn":269,"file":197,"line":270,"context":271},"unserialize",196,"$returned_object = unserialize( wp_remote_retrieve_body( $response ) );",{"fn":269,"file":197,"line":273,"context":271},245,{"prepared":275,"raw":89,"locations":276},21,[],{"escaped":278,"rawEcho":279,"locations":280},330,9,[281,284,286,288,290,292,294,296,298],{"file":177,"line":282,"context":283},39,"raw output",{"file":186,"line":285,"context":283},124,{"file":186,"line":287,"context":283},222,{"file":197,"line":289,"context":283},502,{"file":197,"line":291,"context":283},639,{"file":197,"line":293,"context":283},656,{"file":197,"line":295,"context":283},768,{"file":218,"line":297,"context":283},169,{"file":218,"line":299,"context":283},174,6,16,[],[304,326,361,375,383],{"entryPoint":305,"graph":306,"unsanitizedCount":29,"severity":40},"tdrd_trash_pages (trash-duplicates-admin.php:1335)",{"nodes":307,"edges":323},[308,313,317],{"id":309,"type":310,"label":311,"file":197,"line":312},"n0","source","$_REQUEST['trash-id']",1350,{"id":314,"type":315,"label":316,"file":197,"line":312},"n1","transform","→ tdrd_individual()",{"id":318,"type":319,"label":320,"file":197,"line":321,"wp_function":322},"n2","sink","echo() [XSS]",876,"echo",[324,325],{"from":309,"to":314,"sanitized":260},{"from":314,"to":318,"sanitized":260},{"entryPoint":327,"graph":328,"unsanitizedCount":29,"severity":40},"\u003Ctrash-duplicates-admin> (trash-duplicates-admin.php:0)",{"nodes":329,"edges":355},[330,333,337,338,343,346,349,351,353],{"id":309,"type":310,"label":331,"file":197,"line":332},"$_GET",284,{"id":314,"type":319,"label":334,"file":197,"line":335,"wp_function":336},"get_results() [SQLi]",362,"get_results",{"id":318,"type":310,"label":331,"file":197,"line":332},{"id":339,"type":319,"label":340,"file":197,"line":341,"wp_function":342},"n3","get_var() [SQLi]",368,"get_var",{"id":344,"type":310,"label":345,"file":197,"line":332},"n4","$_GET (x14)",{"id":347,"type":319,"label":320,"file":197,"line":348,"wp_function":322},"n5",398,{"id":350,"type":310,"label":311,"file":197,"line":312},"n6",{"id":352,"type":315,"label":316,"file":197,"line":312},"n7",{"id":354,"type":319,"label":320,"file":197,"line":321,"wp_function":322},"n8",[356,357,358,359,360],{"from":309,"to":314,"sanitized":261},{"from":318,"to":339,"sanitized":261},{"from":344,"to":347,"sanitized":261},{"from":350,"to":352,"sanitized":260},{"from":352,"to":354,"sanitized":260},{"entryPoint":362,"graph":363,"unsanitizedCount":89,"severity":374},"tdrd_delete_redirection_links (redirect_admin.php:276)",{"nodes":364,"edges":372},[365,368],{"id":309,"type":310,"label":366,"file":186,"line":367},"$_POST (x2)",314,{"id":314,"type":319,"label":369,"file":186,"line":370,"wp_function":371},"wp_redirect() [Open Redirect]",317,"wp_redirect",[373],{"from":309,"to":314,"sanitized":261},"low",{"entryPoint":376,"graph":377,"unsanitizedCount":89,"severity":374},"\u003Credirect_admin> (redirect_admin.php:0)",{"nodes":378,"edges":381},[379,380],{"id":309,"type":310,"label":366,"file":186,"line":367},{"id":314,"type":319,"label":369,"file":186,"line":370,"wp_function":371},[382],{"from":309,"to":314,"sanitized":261},{"entryPoint":384,"graph":385,"unsanitizedCount":89,"severity":374},"tdrd_admin_func (trash-duplicates-admin.php:272)",{"nodes":386,"edges":393},[387,388,389,390,391,392],{"id":309,"type":310,"label":331,"file":197,"line":332},{"id":314,"type":319,"label":334,"file":197,"line":335,"wp_function":336},{"id":318,"type":310,"label":331,"file":197,"line":332},{"id":339,"type":319,"label":340,"file":197,"line":341,"wp_function":342},{"id":344,"type":310,"label":345,"file":197,"line":332},{"id":347,"type":319,"label":320,"file":197,"line":348,"wp_function":322},[394,395,396],{"from":309,"to":314,"sanitized":261},{"from":318,"to":339,"sanitized":261},{"from":344,"to":347,"sanitized":261},{"summary":398,"deductions":399},"The plugin \"trash-duplicate-and-301-redirect\" v1.9.1 presents a mixed security posture.  On the positive side, the static analysis indicates a robust implementation of security best practices, with all identified entry points (AJAX handlers, REST API routes, shortcodes, cron events) appearing to have authorization checks. The plugin also demonstrates strong adherence to secure coding by using prepared statements for all SQL queries and having a very high percentage of properly escaped output. Nonce and capability checks are also present, further reinforcing its defensive measures.\n\nHowever, there are significant concerns arising from the vulnerability history and specific code signals. The presence of two known CVEs, with one currently unpatched and categorized as high severity, is a major red flag. The common vulnerability type being \"Missing Authorization\" in the past, despite current indications of checks, suggests a history of insecurity that warrants extreme caution. Additionally, the use of the `unserialize` function, while not directly flagged as a taint flow issue in this analysis, is inherently risky as it can lead to code execution if the serialized data originates from an untrusted source.\n\nIn conclusion, while the current version of the plugin appears to have implemented many security best practices, the historical vulnerability record, particularly the unpatched high-severity issue, overshadows these strengths. The `unserialize` function also introduces a potential latent risk. Users should prioritize patching the known vulnerabilities and remain vigilant for any further security advisories. The plugin's previous authorization issues necessitate a high level of scrutiny.",[400,403,405],{"reason":401,"points":402},"Unpatched high severity CVE",18,{"reason":404,"points":178},"Uses unserialize function",{"reason":406,"points":203},"History of missing authorization vulnerabilities","2026-03-16T18:54:55.597Z",{"wat":409,"direct":417},{"assetPaths":410,"generatorPatterns":412,"scriptPaths":413,"versionParams":415},[411],"\u002Fwp-content\u002Fplugins\u002Ftrash-duplicate-and-301-redirect\u002Fjs\u002Fadmin_script.js",[],[414],"wp-content\u002Fplugins\u002Ftrash-duplicate-and-301-redirect\u002Fjs\u002Fadmin_script.js",[416],"trash-duplicate-and-301-redirect\u002Fjs\u002Fadmin_script.js?ver=",{"cssClasses":418,"htmlComments":423,"htmlAttributes":424,"restEndpoints":437,"jsGlobals":438,"shortcodeOutput":439},[419,420,421,422],"solwin-news","display-product","product-detail","product-name",[],[425,426,427,428,429,430,431,432,433,434,435,436],"data-title","data-thumbnail","data-link","data-allproducttext","data-allproductlink","data-moretext","data-needsupporttext","data-needsupportlink","data-customservicetext","data-customservicelink","data-joinproductclubtext","data-joinproductclublink",[],[],[]]