{"id":398428,"date":"2026-11-06T01:44:31","date_gmt":"2026-11-06T01:44:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fadewatch-abandoned-closed-add-on-checker\/"},"modified":"2026-11-06T01:44:11","modified_gmt":"2026-11-06T01:44:11","slug":"fadewatch-abandoned-closed-plugin-checker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/fadewatch-abandoned-closed-plugin-checker\/","author":23412941,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1.4","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"FadeWatch \u2013 Abandoned & Closed Plugin Checker","header_author":"curiouswpdev","header_description":"Shows which installed plugins have been closed on WordPress.org (and why), which haven't been updated in years, and which can't be checked.","assets_banners_color":"2f3c50","last_updated":"2026-11-06 01:44:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/curiouswpdev\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":215,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"curiouswpdev","date":"2026-11-06 01:44:11","revision":3786965}},"upgrade_notice":{"1.0.3":"<p>The Plugins screen no longer has FadeWatch filter links or sorting, and the Maintenance column is now off by default (turn it on in the settings). Use Tools \u2192 Plugin Maintenance to see plugins by status.<\/p>","1.0.2":"<p>The permission dialog no longer opens by itself except once after activation.<\/p>","1.0.1":"<p>FadeWatch now asks for permission before contacting WordPress.org. Open Tools \u2192 Plugin Maintenance and click &quot;Allow checks and scan now&quot;.<\/p>","1.0.0":"<p>First release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3786971,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3786971,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3786971,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3786971,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3786971,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The optional Maintenance column on the Plugins screen.","2":"The report page with summary, \"Check now\" and CSV export.","3":"Site Health test for a plugin closed because of a security issue."}},"plugin_section":[],"plugin_tags":[271495,290981,2391,600,151481],"plugin_category":[54],"plugin_contributors":[289772],"plugin_business_model":[],"class_list":["post-398428","plugin","type-plugin","status-publish","hentry","plugin_tags-abandoned-plugins","plugin_tags-plugin-maintenance","plugin_tags-plugins","plugin_tags-security","plugin_tags-site-health","plugin_category-security-and-spam-protection","plugin_contributors-curiouswpdev","plugin_committers-curiouswpdev"],"banners":{"banner":"https:\/\/ps.w.org\/fadewatch-abandoned-closed-plugin-checker\/assets\/banner-772x250.png?rev=3786971","banner_2x":"https:\/\/ps.w.org\/fadewatch-abandoned-closed-plugin-checker\/assets\/banner-1544x500.png?rev=3786971","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/fadewatch-abandoned-closed-plugin-checker\/assets\/icon.svg?rev=3786971","icon":"https:\/\/ps.w.org\/fadewatch-abandoned-closed-plugin-checker\/assets\/icon.svg?rev=3786971","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Know which plugins are dead before they become a security problem.<\/strong><\/p>\n\n<p>FadeWatch shows the maintenance status of every installed plugin, right on the Plugins screen:<\/p>\n\n<ul>\n<li><strong>Closed<\/strong> on WordPress.org, with the <strong>date and reason<\/strong> (for example \"Closed on 27 Jul 2023: Security Issue\").<\/li>\n<li><strong>Possibly abandoned<\/strong>: no update in over 24 months (configurable).<\/li>\n<li><strong>Ageing<\/strong>: no update in 12\u201324 months (configurable).<\/li>\n<li><strong>Maintained<\/strong>: updated recently.<\/li>\n<li><strong>Not on WordPress.org<\/strong>: premium or custom plugins, and plugins that get their updates elsewhere (Update URI header).<\/li>\n<li><strong>Couldn't check<\/strong>: WordPress.org could not be reached. This is never reported as \"closed\" or \"not found\".<\/li>\n<\/ul>\n\n<h4>Built for accuracy<\/h4>\n\n<ul>\n<li>A failed request never overwrites an earlier good result.<\/li>\n<li>\"Closed\", \"not found\" and \"couldn't check\" are kept strictly apart.<\/li>\n<li>If a custom plugin happens to use the same folder name as an unrelated WordPress.org plugin, its data is marked \"Not verified\" instead of showing the wrong plugin's status.<\/li>\n<\/ul>\n\n<h4>Lightweight<\/h4>\n\n<p>All lookups run in the background (WP-Cron), in small batches. Opening the Plugins screen reads one stored option and makes no external requests. The plugin loads no code on the front end of your site.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Optional \"Maintenance\" column on the Plugins screen showing each plugin's status (off by default; turn it on in the settings).<\/li>\n<li>Report page (Tools \u2192 Plugin Maintenance) with a summary, \"Check now\" button, and CSV export for client reports.<\/li>\n<li>Two Site Health tests: closed plugins (critical when closed for a security issue) and plugins without updates for a long time.<\/li>\n<li>E-mail only when something changes. A plugin closed for a security issue triggers an immediate e-mail. Optional weekly summary.<\/li>\n<li>Closed plugins and failed checks are re-checked every 6 hours, so a reopened plugin is noticed quickly.<\/li>\n<li>Plugins are re-checked right after they are installed, updated or activated.<\/li>\n<li>Works when WP-Cron is disabled: \"Check now\" runs the batches from your browser.<\/li>\n<li>Multisite: one shared check for the whole network, in Network Admin \u2192 Plugins.<\/li>\n<li>Asks first: nothing is sent to WordPress.org until an administrator allows checks, and checks can be turned off at any time.<\/li>\n<li>No ads, no account, no tracking.<\/li>\n<\/ul>\n\n<h4>Not a vulnerability scanner<\/h4>\n\n<p>This plugin checks <strong>maintenance status<\/strong>, not known vulnerabilities. It can be used alongside any security plugin.<\/p>\n\n<h4>For developers<\/h4>\n\n<p>Filters:<\/p>\n\n<ul>\n<li><code>fadewatch_plugin_slug<\/code> \u2013 map a plugin file to a different WordPress.org slug.<\/li>\n<li><code>fadewatch_skip_plugin<\/code> \u2013 exclude a plugin from checks.<\/li>\n<li><code>fadewatch_thresholds<\/code> \u2013 change the \"ageing\" and \"possibly abandoned\" thresholds (in months).<\/li>\n<li><code>fadewatch_status<\/code> \u2013 override the computed status.<\/li>\n<li><code>fadewatch_email_recipients<\/code> \u2013 change notification recipients.<\/li>\n<\/ul>\n\n<p>Actions:<\/p>\n\n<ul>\n<li><code>fadewatch_status_changed( $plugin_file, $old_status, $new_status, $evaluation )<\/code><\/li>\n<li><code>fadewatch_scan_started( $source )<\/code><\/li>\n<li><code>fadewatch_scan_completed( $results )<\/code><\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>WordPress.org Plugins API<\/strong> (<code>https:\/\/api.wordpress.org\/plugins\/info\/1.2\/<\/code>) to look up the maintenance status of installed plugins: last update date, whether the plugin was closed and why, \"tested up to\" version, rating and active installs.<\/p>\n\n<ul>\n<li><strong>What is sent:<\/strong> only the slug (folder name) of each installed plugin, one request per plugin. The request's user agent is <code>FadeWatch\/&lt;version&gt;<\/code> and does not include your site address.<\/li>\n<li><strong>Only after consent:<\/strong> nothing is sent, and no background checks are scheduled, until an administrator ticks \"Allow FadeWatch to look up my installed plugins\" and clicks \"Save and scan now\" (or enables \"WordPress.org checks\" in the settings). Turning that setting off stops all requests and removes the scheduled checks.<\/li>\n<li><strong>When:<\/strong> after consent, once a day in the background, every 6 hours for closed plugins and failed checks, right after a plugin is installed, updated or activated, and when an administrator clicks \"Check now\".<\/li>\n<li>No personal data about your visitors or users is sent.<\/li>\n<\/ul>\n\n<p>This is the same service WordPress itself uses to check for plugin updates. It is provided by WordPress.org: <a href=\"https:\/\/wordpress.org\/about\/privacy\/\">Privacy Policy<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install the plugin from Plugins \u2192 Add New, or upload the folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it. On multisite, network-activate it.<\/li>\n<li>Go to Tools \u2192 Plugin Maintenance (Network Admin \u2192 Plugins \u2192 Plugin Maintenance on multisite), click \"Allow checks\", tick \"Allow FadeWatch to look up my installed plugins\" and click \"Save and scan now\".<\/li>\n<li>Results appear on the Plugin Maintenance page. To also see them on the Plugins screen, also tick \"Show a Maintenance column\" in the dialog, or turn it on later in the settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20does%20fadewatch%20ask%20for%20permission%20first%3F\"><h3>Why does FadeWatch ask for permission first?<\/h3><\/dt>\n<dd><p>Checking a plugin means sending its slug to api.wordpress.org. FadeWatch only does that after an administrator agrees. You can withdraw consent at any time under Settings \u2192 \"WordPress.org checks\"; FadeWatch then makes no external requests.<\/p><\/dd>\n<dt id=\"why%20does%20a%20plugin%20show%20%22not%20on%20wordpress.org%22%3F\"><h3>Why does a plugin show \"Not on WordPress.org\"?<\/h3><\/dt>\n<dd><p>The plugin was not found on WordPress.org. It is usually a premium plugin, a custom plugin, or a plugin whose Update URI header says it gets updates from somewhere else. Its maintenance status can't be checked.<\/p><\/dd>\n<dt id=\"what%20does%20%22not%20verified%22%20mean%3F\"><h3>What does \"Not verified\" mean?<\/h3><\/dt>\n<dd><p>A plugin on WordPress.org uses the same slug (folder name) as your installed plugin, but its name and author look different. To avoid a false alarm, its data is not used. Developers can map the plugin to the correct slug with the <code>fadewatch_plugin_slug<\/code> filter.<\/p><\/dd>\n<dt id=\"what%20does%20%22couldn%27t%20check%22%20mean%3F\"><h3>What does \"Couldn't check\" mean?<\/h3><\/dt>\n<dd><p>WordPress.org could not be reached, or returned an unexpected response. The check is retried automatically. If an earlier check succeeded, that result is still shown, marked as out of date once it is older than 7 days.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. Nothing runs on the front end. In the admin, the Plugins screen reads one stored option. All requests to WordPress.org happen in the background.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20when%20i%20delete%20fadewatch%3F\"><h3>What happens to my data when I delete FadeWatch?<\/h3><\/dt>\n<dd><p>Scheduled checks are always removed. If \"Delete all data of this plugin when it is deleted\" is ticked in the settings (the default), all of FadeWatch's settings and previous scan results are removed too. If you untick it, your settings and results are kept for a later reinstall.<\/p><\/dd>\n<dt id=\"will%20it%20delete%20or%20deactivate%20plugins%3F\"><h3>Will it delete or deactivate plugins?<\/h3><\/dt>\n<dd><p>No. It only reports. You decide what to do.<\/p><\/dd>\n<dt id=\"why%20did%20i%20not%20get%20an%20e-mail%20after%20the%20first%20check%3F\"><h3>Why did I not get an e-mail after the first check?<\/h3><\/dt>\n<dd><p>The first check sets the baseline: its results are shown in the report and in Site Health. E-mails are sent when something changes after that.<\/p><\/dd>\n<dt id=\"my%20site%20has%20wp-cron%20disabled.\"><h3>My site has WP-Cron disabled.<\/h3><\/dt>\n<dd><p>Automatic checks then depend on your server's real cron job calling <code>wp-cron.php<\/code>. You can always click \"Check now\" on the report page; it runs the check from your browser.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Removed: the filter links and sorting on the Plugins screen. The Maintenance column only shows information and never changes the plugin list.<\/li>\n<li>Changed: the Maintenance column is now optional and off by default. Turn it on in the permission dialog or under Plugin Maintenance \u2192 Settings \u2192 Display.<\/li>\n<li>Changed: background checks are scheduled only after an administrator allows checks, and removed when checks are turned off.<\/li>\n<li>Changed: the permission dialog mentions the e-mail notifications.<\/li>\n<li>Fixed: Site Health no longer reports \"All checked plugins have been updated recently\" before anything has been checked.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Changed: the permission dialog opens by itself only once, right after activation. After that it opens only when you click \"Allow checks\".<\/li>\n<li>New: while checks are off, the Plugin Maintenance page explains what the checks do, and the Maintenance column on the Plugins screen offers \"Allow checks\".<\/li>\n<li>New: the permission dialog says where checks can be turned off again.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>New: opt-in. FadeWatch asks an administrator before contacting WordPress.org, and checks can be turned off in the settings.<\/li>\n<li>New: right after activation, the permission prompt is shown once on the Plugins screen.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Find out which of your plugins are closed on WordPress.org (and why), which haven't been updated in years, and which can't be checked.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/398428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=398428"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/curiouswpdev"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=398428"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=398428"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=398428"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=398428"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=398428"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=398428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}