WP Plugin Checkup

The plugins you forgot about are the ones that get you hacked.

A WordPress site collects plugins over the years, and the risky ones are rarely the ones you use daily. They are the abandoned helper you installed once, or the plugin quietly pulled from the directory for a security problem you never heard about. Paste your plugin list and check every one against WordPress.org in seconds.

Plugin names go to WordPress.org to look up their status. Nothing else is collected.

🚪 Why maintenance status deserves a review

An installed plugin can keep running long after its public listing or maintenance activity changes. This check helps find entries that need a closer look, without claiming to scan the plugin code or a vulnerability database.

  • No public listing. The slug may belong to a custom or commercial plugin, be mistyped, or refer to a directory plugin that was closed. The API does not provide enough information here to infer which case applies.
  • Long update gap. Two years without an update is a useful maintenance signal. It calls for checking support history, compatibility, and whether a maintained alternative is available.

🚦 What the verdicts mean

VerdictMeaning
GONENo matching public listing. When WordPress.org reports the plugin as closed, the row says so with the closure date and reason; otherwise confirm the slug and whether the plugin is custom, commercial, or renamed.
ABANDONEDNo update in roughly two years or more. Review its support history and alternatives.
CHECKAbout a year since the last update, tested only against WordPress two or more releases back, or missing metadata needed for a confident result.
HEALTHYRecent update metadata and a current tested-up-to value. This is a maintenance result, not a security guarantee.
RETRYWordPress.org could not be reached or did not answer usably for this plugin. Nothing is known either way; run the check again.

📋 Where to find your plugin list

Any of these formats works, mixed freely, one per line:

The most reliable command is wp plugin list --field=name. WP-CLI can also report directory status directly with wp plugin list --fields=name,wporg_status,wporg_last_updated. Over SFTP, paste folder paths from wp-content/plugins/. Display names copied from the dashboard are not always the same as directory slugs.

💬 Frequently asked questions

No. Commercial and custom plugins may never have had a public listing, and a typo also comes back with no match. When WordPress.org explicitly reports a closure, the row shows the closure date and the directory's stated reason; for every other GONE, confirm the slug, source, and support channel manually.

No. You paste a list of names; the tool looks each name up in the public WordPress.org plugin API from your browser. It never touches your site, needs no login, and sends nothing except the plugin slugs it has to look up.

This checks maintenance status: is the plugin alive, current, and tested. It is not a vulnerability database. A well-maintained plugin can still have had a bug; the difference is that a maintained plugin ships a fix and an abandoned one never does. For specific known vulnerabilities, a dedicated vulnerability feed is the right tool, and keeping everything updated is what turns most of them harmless.

Yes. docs/checkup.js is a dependency-free ES module: parseSlugs, apiUrl, pluginInfoFromApi, and verdict. MIT licensed.

🌱 Why I built this

A site I looked after ran fine for months while one of its plugins quietly vanished from the directory. Nothing warned us; the plugin's page just stopped existing. Checking a plugin list against the directory by hand takes an afternoon, so I made it take a paste.