[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPv0A0JAABscfLuP639GTpLejJFjOH0JMLQwbKGCmSvM":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":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":127,"fingerprints":172},"tiedupedeleter-simple-duplicate-post-deleter","TIEdupedeleter Simple Duplicate Post Deleter","1.0.2","TIEro","https:\u002F\u002Fprofiles.wordpress.org\u002Ftiero\u002F","\u003Cp>\u003Cem>This plugin is now available as part of \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftietools-automatic-maintenance-kit\u002F\" title=\"TIEtools\" rel=\"ugc\">TIEtools\u003C\u002Fa>, which also includes post expiry and server log file removal.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>A simple duplicate post deletion plugin. Spots posts with the same title and removes all but one of each.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Checks in published, draft, pending and private posts on demand\u003C\u002Fli>\n\u003Cli>Includes or excludes user-defined list of categories\u003C\u002Fli>\n\u003Cli>Moves all duplicate posts to the Trash (leaving the oldest or newest original copy)\u003C\u002Fli>\n\u003Cli>Permanent post deletion is handled by WP’s built-in Trash removal\u003C\u002Fli>\n\u003Cli>Power button to switch everything on and off without messing with the plugins page\u003C\u002Fli>\n\u003C\u002Ful>\n","Simple duplicate post deleter. Trashes duplicate posts based on status and category. Keeps newest or oldest original copy.",10,3450,100,1,"2014-09-10T08:37:00.000Z","4.0.38","3.0.1","",[20,21,22,23,24],"duplicate-post","expiration","expire","expiry","post","http:\u002F\u002Fwww.setupmyvps.com\u002Ftiedupedeleter","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftiedupedeleter-simple-duplicate-post-deleter.1.0.2.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"tiero",5,70,30,84,"2026-04-05T16:10:41.705Z",[40,60,73,85,104],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":18,"tags":55,"homepage":18,"download_link":59,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"wp-post-expires","WP Post Expires","1.2.5","X-NicON","https:\u002F\u002Fprofiles.wordpress.org\u002Fx-nicon\u002F","\u003Cp>A simple plugin that allows to set the date for the posts, after which will be performed one of 3 actions: “Add prefix to title”, “Move to drafts”, “Move to trash”.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Set post expire date and time\u003C\u002Fli>\n\u003Cli>Support custom post type (post and pages by default)\u003C\u002Fli>\n\u003Cli>Action for expired posts: move to drafts, move to trash or add custom prefix for title\u003C\u002Fli>\n\u003Cli>Adds class “post-expired” to post that expired on the site and in admin interface (for custom styles in theme)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use in theme:\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>XNPostExpires::isExpired($post_id)\n\nXNPostExpires::dateExpiration($post_id, $date_format)\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Plugin adds post expires time after which will be performed actions: add prefix to title, move to drafts or trash.",2000,35993,66,14,"2020-11-02T17:13:00.000Z","5.5.18","5.0",[21,22,56,57,58],"expired-post","posts-expiring","wordpress-post-expiry","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-expires.zip",{"slug":61,"name":62,"version":63,"author":7,"author_profile":8,"description":64,"short_description":65,"active_installs":66,"downloaded":67,"rating":13,"num_ratings":14,"last_updated":68,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":69,"homepage":71,"download_link":72,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"tieexpire-automated-post-expiry","TIEexpire Automated Post Expiry","1.1","\u003Cp>\u003Cem>This plugin is now part of the free plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Ftietools-automatic-maintenance-kit\u002F\" title=\"TIEtools\" rel=\"ugc\">TIEtools\u003C\u002Fa>, which also includes duplicate post control and server log file removal.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Simple post expiration plugin. Expires posts based on a variety of criteria, including category and post status options.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Expires published, draft, pending and private posts on demand.\u003C\u002Fli>\n\u003Cli>Includes or excludes user-defined list of categories.\u003C\u002Fli>\n\u003Cli>Moves all expired posts to the Trash.\u003C\u002Fli>\n\u003Cli>Notifies post author, site admin and others of post expiry on demand.\u003C\u002Fli>\n\u003Cli>Permanent post deletion is handled by WP’s built-in Trash removal.\u003C\u002Fli>\n\u003Cli>Completely automated by wp-cron once options are set.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Currently, the plugin offers four cumulative expiration methods:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Expire posts based on their age (e.g. expire posts created more than 90 days ago).\u003C\u002Fli>\n\u003Cli>Retain a given number of posts and expire all others (e.g. keep the latest 1,500 posts).\u003C\u002Fli>\n\u003Cli>Detect the BAW Post Views Count plugin and expire posts based on a combination of post age and number of views (e.g. expire all posts over 45 days old which have fewer than 100 views).\u003C\u002Fli>\n\u003Cli>Detect the WTI Like Post plugin and expire posts based on a combination of post age and total number of likes (e.g. expire all posts over 90 days old which have fewer than 10 likes).\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Each expiration check is run separately and in the order listed above, so you can build quite complex expiration structures to catch a variety of criteria.\u003C\u002Fp>\n\u003Cp>Post status choices apply to all expiration methods. The user-defined category filters can be switched on or off for each method.\u003C\u002Fp>\n","Expires posts based on multiple criteria, with category and post status options. Sends notifications to users and admin on demand.",20,4306,"2014-09-10T08:41:00.000Z",[70,21,22,23,24],"automatic","http:\u002F\u002Fwww.setupmyvps.com\u002Ftieexpire\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftieexpire-automated-post-expiry.1.1.zip",{"slug":74,"name":75,"version":76,"author":7,"author_profile":8,"description":77,"short_description":78,"active_installs":11,"downloaded":79,"rating":13,"num_ratings":80,"last_updated":81,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":82,"homepage":83,"download_link":84,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"tietools-automatic-maintenance-kit","TIEtools Automatic Maintenance Kit","1.2.2","\u003Cp>Provides automated post maintenance. TIEtools is ideal for sites with a news feed or other automated posting setup that requires regular hands-off trimming (including autoblogging).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Post Expiry\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Expires published, draft, pending and private posts on demand, based on age, maximum post retention, post views and post likes.\u003C\u002Fli>\n\u003Cli>Integrates with BAW Post Views Count and WTI Like Post.\u003C\u002Fli>\n\u003Cli>Sends notification emails for expired posts, if required.\u003C\u002Fli>\n\u003Cli>Includes or excludes user-defined list of categories.\u003C\u002Fli>\n\u003Cli>Leaves unwanted posts in the Trash.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Image Expiry\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Can expire images based on post age, without removing the parent posts.\u003C\u002Fli>\n\u003Cli>Expires images from published, draft, pending and private posts on demand.\u003C\u002Fli>\n\u003Cli>Includes or excludes user-defined list of categories.\u003C\u002Fli>\n\u003Cli>Deletes old images or leaves them “unattached” in the Media Library for later handling.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Duplicate Post Deletion\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Finds and removes duplicate posts by title.\u003C\u002Fli>\n\u003Cli>Keeps the oldest or newest original copy, removing all others.\u003C\u002Fli>\n\u003Cli>Checks in published, draft, pending and private posts on demand. \u003C\u002Fli>\n\u003Cli>Includes or excludes user-defined list of categories. \u003C\u002Fli>\n\u003Cli>Sends notification emails for duplicate posts, if required.\u003C\u002Fli>\n\u003Cli>Leaves unwanted posts in the Trash.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Server Log Deletion\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Cleans up server error logs.\u003C\u002Fli>\n\u003Cli>Checks for user-defined log filename.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>All processes run automatically using wp-cron.\u003C\u002Fp>\n","Automatic post and image expiry, duplicate post detection and server log deletion to keep your site clean and efficient.",5094,3,"2014-09-10T08:44:00.000Z",[70,21,22,23,24],"http:\u002F\u002Fwww.setupmyvps.com\u002Ftietools\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftietools-automatic-maintenance-kit.1.2.2.zip",{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":28,"downloaded":93,"rating":13,"num_ratings":14,"last_updated":94,"tested_up_to":95,"requires_at_least":54,"requires_php":96,"tags":97,"homepage":18,"download_link":103,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"ait-easy-post-customization","AIT Easy Post Customization","2.0.1","kamranchannar","https:\u002F\u002Fprofiles.wordpress.org\u002Fkamranchannar\u002F","\u003Cp>AIT Easy Post Customization is a powerful yet easy-to-use plugin designed to give users control over the lifespan of their posts and custom post types by allowing you to set an expiry date. If you’re managing time-sensitive content, like event announcements, special promotions, or limited-time offers, this plugin automates the process of unpublishing or archiving content, making content management hassle-free.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What problem does this plugin solve?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Manually tracking and updating expired content can be tedious and prone to errors, especially if you have a large volume of posts. Without this plugin, expired content can remain live, leading to outdated or irrelevant information on your website. AIT Easy Post Customization solves this problem by allowing you to set expiry dates on posts, ensuring that content is automatically hidden or removed after the specified date. This keeps your site fresh and up-to-date without manual intervention.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How does it improve the user experience?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Automatic Expiry Handling\u003C\u002Fstrong>: Set an expiration date for any post or custom post type, and let the plugin automatically unpublish it when the time comes. This eliminates the need for manual updates and improves content accuracy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Post Type Support\u003C\u002Fstrong>: Whether you’re using standard WordPress posts or custom post types (like events, job listings, products, etc.), you can easily add expiry functionality to all of them.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>User-Friendly Interface\u003C\u002Fstrong>: The plugin integrates seamlessly with the WordPress editor, making it easy for users of all skill levels to manage expiry dates. The expiry date can be set directly from the post editing screen.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Fields Management\u003C\u002Fstrong>: Add custom fields (text, textarea, date) to posts for enhanced content customization.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Admin Interface\u003C\u002Fstrong>: A sleek, responsive admin panel with sticky tabs, form validation, and intuitive navigation.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Key Features\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Post Expiration\u003C\u002Fstrong>: Set expiration dates for posts and custom post types, automatically moving them to draft status when expired.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Fields\u003C\u002Fstrong>: Add and manage custom fields (text, textarea, date) for selected post types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Supports All Post Types\u003C\u002Fstrong>: Works with standard WordPress posts and custom post types, allowing flexible use across various content types.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Seamless Integration\u003C\u002Fstrong>: Integrated into the post editor with a modern, user-friendly interface.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Scheduled Content Management\u003C\u002Fstrong>: Perfect for managing content like event updates, limited-time offers, and seasonal announcements.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Localization Ready\u003C\u002Fstrong>: Fully translation-ready for multilingual websites.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Notable Features\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Custom Widgets\u003C\u002Fstrong>: Optionally display a widget that shows upcoming or recently expired content to site admins for better tracking (coming soon).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer-Friendly Hooks and Filters\u003C\u002Fstrong>: Developers can customize the plugin’s behavior using built-in hooks and filters.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Modern Design\u003C\u002Fstrong>: Features a responsive admin interface with sticky tabs, Dashicons, and gradient effects for a premium experience.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>With AIT Easy Post Customization, you’ll never have to worry about outdated or irrelevant content cluttering your site again. Keep your content fresh, current, and timely with minimal effort.\u003C\u002Fp>\n\u003Ch3>1. What is AIT Easy Post Customization?\u003C\u002Fh3>\n\u003Cp>AIT Easy Post Customization is a WordPress plugin that allows users to set expiry dates for posts and custom post types and manage custom fields, ensuring content remains relevant and up-to-date.\u003C\u002Fp>\n\u003Ch3>2. How do I install the plugin?\u003C\u002Fh3>\n\u003Cp>You can install the plugin by uploading the plugin files to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002Fait-easy-post-customization\u002F\u003C\u002Fcode> directory or by installing it directly through the WordPress plugins screen. After installation, activate the plugin through the ‘Plugins’ screen in WordPress.\u003C\u002Fp>\n\u003Ch3>3. Where can I configure the settings?\u003C\u002Fh3>\n\u003Cp>After activating the plugin, you can configure settings by navigating to the \u003Cstrong>Easy Post Customization\u003C\u002Fstrong> link in the WordPress sidebar. Here, you can manage expiry dates and custom fields for your posts and custom post types.\u003C\u002Fp>\n\u003Ch3>4. Can I set an expiry date for custom post types?\u003C\u002Fh3>\n\u003Cp>Yes! AIT Easy Post Customization allows you to set expiry dates for both standard posts and custom post types, giving you flexibility in managing your content.\u003C\u002Fp>\n\u003Ch3>5. What happens to a post when it expires?\u003C\u002Fh3>\n\u003Cp>Once a post expires, it will be automatically moved to draft status, hiding it from public view. Future updates may include options for other actions like deletion.\u003C\u002Fp>\n\u003Ch3>6. Is there any support available if I encounter issues?\u003C\u002Fh3>\n\u003Cp>Yes, for support and inquiries, you can contact me via email at \u003Ca href=\"mailto:kamran.channar99@gmail.com\" rel=\"nofollow ugc\">kamran.channar99@gmail.com\u003C\u002Fa> or connect with me on LinkedIn at \u003Ca href=\"https:\u002F\u002Flinkedin.com\u002Fin\u002Fmuhammad-kamran-64a33a166\" rel=\"nofollow ugc\">Muhammad Kamran\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>7. Is this plugin compatible with the latest version of WordPress?\u003C\u002Fh3>\n\u003Cp>Yes, AIT Easy Post Customization is tested up to WordPress version 6.6 and is designed to be compatible with the latest releases.\u003C\u002Fp>\n\u003Ch3>8. Is the plugin free to use?\u003C\u002Fh3>\n\u003Cp>Yes, AIT Easy Post Customization is completely free to use and is licensed under the GPLv2 or later.\u003C\u002Fp>\n\u003Ch3>License & Copyright\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later.\u003Cbr \u002F>\nYou can redistribute it and\u002For modify it under the terms of the GNU General Public License as published by the Free Software Foundation.\u003C\u002Fp>\n\u003Cp>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details: https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.html\u003C\u002Fp>\n\u003Ch3>Contact\u003C\u002Fh3>\n\u003Cp>For inquiries, project discussions, or collaboration opportunities, feel free to reach out to me:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Email: \u003Ca href=\"mailto:kamran.channar99@gmail.com\" rel=\"nofollow ugc\">kamran.channar99@gmail.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>LinkedIn: \u003Ca href=\"https:\u002F\u002Flinkedin.com\u002Fin\u002Fmuhammad-kamran-64a33a166\" rel=\"nofollow ugc\">Muhammad Kamran\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>I look forward to connecting with you!\u003C\u002Fp>\n","Easily set expiry dates for posts and custom post types, automatically unpublishing content when it becomes outdated.",395,"2025-10-19T23:08:00.000Z","6.8.5","7.4",[98,99,100,101,102],"auto-expire","expiry-date","post-expiration","post-expiry","schedule-post","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fait-easy-post-customization.2.0.1.zip",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":114,"num_ratings":115,"last_updated":116,"tested_up_to":117,"requires_at_least":118,"requires_php":18,"tags":119,"homepage":124,"download_link":125,"security_score":13,"vuln_count":14,"unpatched_count":28,"last_vuln_date":126,"fetched_at":30},"far-future-expiry-header","Far Future Expiry Header","1.6","mra13","https:\u002F\u002Fprofiles.wordpress.org\u002Fmra13\u002F","\u003Cp>This plugin offers a few lightweight features to speed up your WordPress site without much hassle.\u003C\u002Fp>\n\u003Ch4>Far Future Expiry\u003C\u002Fh4>\n\u003Cp>When the feature is enabled, this plugin will modify your .htaccess file by inserting code which will add expires headers for common static file types.\u003C\u002Fp>\n\u003Cp>Expiry header specifies a time far enough in the future so that browsers won’t try to re-fetch images, CSS, javascript etc files that haven’t changed (this reduces the number of HTTP requests) and hence the performance improvement on subsequent page views.\u003C\u002Fp>\n\u003Ch4>Gzip Compression\u003C\u002Fh4>\n\u003Cp>You can also enable Gzip compression on your site using this plugin. Gzip compression will speed up your WordPress site by compressing the page output and sending it to your visitors browser.\u003C\u002Fp>\n\u003Cp>When enabled, the plugin will do gzip compression if the visitor’s browser can handle it.\u003C\u002Fp>\n\u003Cp>This feature may conflict with a few other plugins. So disable this feature if you need to use a plugin which doesn’t work with gzip compression.\u003C\u002Fp>\n\u003Ch3>Usage\u003C\u002Fh3>\n\u003Cp>To use this plugin do the following:\u003C\u002Fp>\n\u003Cp>1) Ensure that the “mod_expires” module is enabled from your host’s main configuration file\u003C\u002Fp>\n\u003Cp>2) Check with your hosting provider or if you have access to the httpd.conf file the following line should be uncommented:\u003Cbr \u002F>\nLoadModule expires_module modules\u002Fmod_expires.so\u003C\u002Fp>\n\u003Cp>3) Enable the “Far Future Expiration” checkbox\u003C\u002Fp>\n\u003Cp>4) Set the number of days till expiry\u003C\u002Fp>\n\u003Cp>5) Select the file types you wish to enable the “far future expiration” feature for by using the checkboxes in the “File Types” section\u003C\u002Fp>\n\u003Cp>NOTE: When you use this plugin, the file selected file types are cached in the browser until they expire. Therefore you should not use this on files that change frequently.\u003C\u002Fp>\n\u003Cp>More details can be found on the \u003Ca href=\"https:\u002F\u002Fwww.tipsandtricks-hq.com\u002Fwordpress-far-future-expiration-plugin-5980\" rel=\"nofollow ugc\">plugin’s documentation page\u003C\u002Fa>\u003C\u002Fp>\n","This plugin will add a far future expiry header for various file types to improve page load speed of your site",7000,230392,64,31,"2025-12-02T03:13:00.000Z","6.9.4","5.5",[120,121,23,122,123],"cache","expires-header","expiry-header","far-future-expiration","https:\u002F\u002Fwww.tipsandtricks-hq.com\u002Fwordpress-far-future-expiration-plugin-5980","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffar-future-expiry-header.zip","2021-10-04 00:00:00",{"attackSurface":128,"codeSignals":146,"taintFlows":160,"riskAssessment":161,"analyzedAt":171},{"hooks":129,"ajaxHandlers":139,"restRoutes":140,"shortcodes":141,"cronEvents":142,"entryPointCount":28,"unprotectedCount":28},[130,136],{"type":131,"name":132,"callback":133,"file":134,"line":135},"action","my_expiry_job","do_TIEdupedeleter","TIEdupedeleter.php",19,{"type":131,"name":137,"callback":138,"file":134,"line":66},"admin_menu","TIEdupedeleter_settings_page",[],[],[],[143],{"hook":144,"callback":144,"file":134,"line":145},"TIEdupedeleter_job",25,{"dangerousFunctions":147,"sqlUsage":148,"outputEscaping":150,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":159},[],{"prepared":14,"raw":28,"locations":149},[],{"escaped":28,"rawEcho":80,"locations":151},[152,155,157],{"file":134,"line":153,"context":154},109,"raw output",{"file":134,"line":156,"context":154},113,{"file":134,"line":158,"context":154},114,[],[],{"summary":162,"deductions":163},"The \"tiedupedeleter-simple-duplicate-post-deleter\" plugin v1.0.2 exhibits a mixed security posture. On the positive side, the static analysis reveals no critical security vulnerabilities such as dangerous functions, raw SQL queries, or unsanitized taint flows. The absence of known CVEs in its history further strengthens this positive outlook, suggesting a generally well-maintained and secure codebase. However, a significant concern arises from the complete lack of output escaping, meaning all data output by the plugin is potentially vulnerable to cross-site scripting (XSS) attacks. Additionally, the absence of nonce and capability checks on its single cron event is a notable weakness, potentially allowing unauthorized execution or manipulation of its scheduled tasks. While the attack surface is small and protected, the lack of output escaping and protection on the cron event represent exploitable weaknesses that require immediate attention.",[164,167,169],{"reason":165,"points":166},"No output escaping detected",8,{"reason":168,"points":34},"Cron event lacks capability checks",{"reason":170,"points":34},"Cron event lacks nonce checks","2026-03-16T23:44:16.031Z",{"wat":173,"direct":180},{"assetPaths":174,"generatorPatterns":177,"scriptPaths":178,"versionParams":179},[175,176],"\u002Fwp-content\u002Fplugins\u002Ftiedupedeleter-simple-duplicate-post-deleter\u002Fdupe.png","\u002Fwp-content\u002Fplugins\u002Ftiedupedeleter-simple-duplicate-post-deleter\u002Fdonate.png",[],[],[],{"cssClasses":181,"htmlComments":182,"htmlAttributes":183,"restEndpoints":199,"jsGlobals":200,"shortcodeOutput":201},[],[],[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,190,191,192,193,196,198,194,184,187],"name=\"TIEdupedeleter_powerbutton\"","id=\"on\"","id=\"off\"","name=\"TIEdupedeleter_newoldradio\"","id=\"MIN\"","id=\"MAX\"","name=\"TIEdupedeleter_status_published\"","name=\"TIEdupedeleter_status_draft\"","name=\"TIEdupedeleter_status_pending\"","name=\"TIEdupedeleter_status_private\"","name=\"TIEdupedeleter_catsradio\"","id=\"include\"","name=\"TIEdupedeleter_catsin\"","id=\"exclude\"","name=\"TIEdupedeleter_catsout\"",[],[],[]]