FadeWatch – Abandoned & Closed Plugin Checker

Description

Know which plugins are dead before they become a security problem.

FadeWatch shows the maintenance status of every installed plugin, right on the Plugins screen:

  • Closed on WordPress.org, with the date and reason (for example “Closed on 27 Jul 2023: Security Issue”).
  • Possibly abandoned: no update in over 24 months (configurable).
  • Ageing: no update in 12–24 months (configurable).
  • Maintained: updated recently.
  • Not on WordPress.org: premium or custom plugins, and plugins that get their updates elsewhere (Update URI header).
  • Couldn’t check: WordPress.org could not be reached. This is never reported as “closed” or “not found”.

Built for accuracy

  • A failed request never overwrites an earlier good result.
  • “Closed”, “not found” and “couldn’t check” are kept strictly apart.
  • 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.

Lightweight

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.

Features

  • Optional “Maintenance” column on the Plugins screen showing each plugin’s status (off by default; turn it on in the settings).
  • Report page (Tools Plugin Maintenance) with a summary, “Check now” button, and CSV export for client reports.
  • Two Site Health tests: closed plugins (critical when closed for a security issue) and plugins without updates for a long time.
  • E-mail only when something changes. A plugin closed for a security issue triggers an immediate e-mail. Optional weekly summary.
  • Closed plugins and failed checks are re-checked every 6 hours, so a reopened plugin is noticed quickly.
  • Plugins are re-checked right after they are installed, updated or activated.
  • Works when WP-Cron is disabled: “Check now” runs the batches from your browser.
  • Multisite: one shared check for the whole network, in Network Admin Plugins.
  • Asks first: nothing is sent to WordPress.org until an administrator allows checks, and checks can be turned off at any time.
  • No ads, no account, no tracking.

Not a vulnerability scanner

This plugin checks maintenance status, not known vulnerabilities. It can be used alongside any security plugin.

For developers

Filters:

  • fadewatch_plugin_slug – map a plugin file to a different WordPress.org slug.
  • fadewatch_skip_plugin – exclude a plugin from checks.
  • fadewatch_thresholds – change the “ageing” and “possibly abandoned” thresholds (in months).
  • fadewatch_status – override the computed status.
  • fadewatch_email_recipients – change notification recipients.

Actions:

  • fadewatch_status_changed( $plugin_file, $old_status, $new_status, $evaluation )
  • fadewatch_scan_started( $source )
  • fadewatch_scan_completed( $results )

External services

This plugin connects to the WordPress.org Plugins API (https://api.wordpress.org/plugins/info/1.2/) 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.

  • What is sent: only the slug (folder name) of each installed plugin, one request per plugin. The request’s user agent is FadeWatch/<version> and does not include your site address.
  • Only after consent: 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.
  • When: 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”.
  • No personal data about your visitors or users is sent.

This is the same service WordPress itself uses to check for plugin updates. It is provided by WordPress.org: Privacy Policy.

Installation

  1. Install the plugin from Plugins Add New, or upload the folder to /wp-content/plugins/.
  2. Activate it. On multisite, network-activate it.
  3. Go to Tools Plugin Maintenance (Network Admin Plugins Plugin Maintenance on multisite), click “Allow checks”, tick “Allow FadeWatch to look up my installed plugins” and click “Save and scan now”.
  4. 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.

FAQ

Why does FadeWatch ask for permission first?

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 “WordPress.org checks”; FadeWatch then makes no external requests.

Why does a plugin show “Not on WordPress.org”?

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.

What does “Not verified” mean?

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 fadewatch_plugin_slug filter.

What does “Couldn’t check” mean?

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.

Does it slow down my site?

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.

What happens to my data when I delete FadeWatch?

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.

Will it delete or deactivate plugins?

No. It only reports. You decide what to do.

Why did I not get an e-mail after the first check?

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.

My site has WP-Cron disabled.

Automatic checks then depend on your server’s real cron job calling wp-cron.php. You can always click “Check now” on the report page; it runs the check from your browser.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“FadeWatch – Abandoned & Closed Plugin Checker” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.3

  • Removed: the filter links and sorting on the Plugins screen. The Maintenance column only shows information and never changes the plugin list.
  • Changed: the Maintenance column is now optional and off by default. Turn it on in the permission dialog or under Plugin Maintenance Settings Display.
  • Changed: background checks are scheduled only after an administrator allows checks, and removed when checks are turned off.
  • Changed: the permission dialog mentions the e-mail notifications.
  • Fixed: Site Health no longer reports “All checked plugins have been updated recently” before anything has been checked.

1.0.2

  • Changed: the permission dialog opens by itself only once, right after activation. After that it opens only when you click “Allow checks”.
  • 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”.
  • New: the permission dialog says where checks can be turned off again.

1.0.1

  • New: opt-in. FadeWatch asks an administrator before contacting WordPress.org, and checks can be turned off in the settings.
  • New: right after activation, the permission prompt is shown once on the Plugins screen.

1.0.0

  • First release.