Plugevity Update Watch

Description

Updates are the most common way a working WordPress site breaks, and auto-updates make it happen while nobody is looking. WordPress rolls back a plugin auto-update only when it causes a fatal error right away. A broken checkout, a form that no longer loads or a fatal error on one template can go unnoticed until a customer complains.

Update Watch logs every core, plugin and theme update and, about a minute after each batch of updates, checks the pages you care about and your PHP error log. If something broke, you get an email (and, if you want, a Slack or webhook message) that says what was updated just before and how to roll it back.

Features

  • Update log: every WordPress, plugin and theme update with the old and new version, when, who (or “automatic”, “WP-CLI”), and a short changelog excerpt for WordPress.org plugins.
  • Changes made outside WordPress: version changes from FTP, Git deploys or host tools are found and logged as “detected”.
  • Smoke check after every update batch: up to five pages of your site (home, a form, cart, checkout), each with an optional text that must appear on the page. Also looks for PHP fatal errors written to the error log during the updates.
  • Alerts only when a check fails: by email, and optionally to a webhook (Slack incoming webhooks, Zapier, Make, n8n).
  • Manual rollback steps in every alert. Update Watch never rolls back, deactivates or changes anything by itself.
  • Site Health test that turns orange when the last check failed.
  • Abilities API (WordPress 6.9+): plugevity/get-update-log and plugevity/run-smoke-check, so AI agents and automations can ask what changed and whether the site still works.

Privacy

Update Watch sends no data to Plugevity.

  • The smoke check only requests pages of your own site.
  • After a WordPress.org plugin is updated, it asks the public WordPress.org API (api.wordpress.org) for that plugin’s changelog, sending only the plugin’s slug. WordPress itself contacts the same service to check for updates.
  • If you add a webhook URL, failed-check alerts are sent there: the site URL, the checked page URLs and their results, and the names and versions of recent updates. PHP error messages are never sent to the webhook.
  • Alert emails go from your own site to the address you choose and may include PHP error messages.
  • “Copy diagnostics” on the Update Watch screen builds an anonymous summary you can paste in a support topic. The plugin does not send it anywhere.

Built to last

Plugevity plugins follow a public continuity pledge: https://plugevity.com/pledge/

Screenshots

Installation

  1. Install the plugin from Plugins > Add New, or upload the ZIP.
  2. Activate it.
  3. Go to Dashboard > Update Watch. The settings suggest pages of your site to check (home page, latest post, shop and checkout when WooCommerce is active). Review them, click “Save Changes” and then “Run check now” once.

FAQ

Does it slow down my site?

No. Logging an update only reads version numbers from files. The checks run in WP-Cron, in the background, after updates.

Does it roll back a broken update?

No, on purpose. An automatic rollback can fail halfway or undo a security fix. The alert tells you what changed and gives the steps to roll back by hand.

The check says “Inconclusive” or “Unreachable”.

Your server could not request its own pages (“loopback request”). Some hosts block this; Tools > Site Health shows the same problem. Update Watch does not send alerts when a page is merely unreachable, unless it worked in the previous check.

Why was no fatal error found even though my site broke?

Update Watch reads the PHP error log WordPress writes to. Turn on WP_DEBUG_LOG (with WP_DEBUG_DISPLAY off on a live site), or ask your host where PHP errors are logged. Without a log, only the pages are checked.

My page cache shows the old page after an update.

Each check adds a plugevity-update-watch query argument to bypass page caches. If your cache ignores unknown query arguments, exclude that argument or the checked pages from the cache.

Will it tell me if an update takes my whole site down?

Usually, but not always. After a manual update (from the dashboard or WP-CLI), Update Watch checks your pages at the end of the same request, which still runs the old code, so it can report an update that breaks every page. In the dashboard this needs a server that can send the page first and keep working (PHP-FPM or LiteSpeed, which most hosts use); otherwise the check runs a minute later in WP-Cron, which cannot run while every page fails. For automatic updates WordPress itself usually catches a site-wide error and restores the previous version, and Update Watch logs the restore. Update Watch does not watch your site between updates: for outages with other causes, use an outside uptime monitor.

What does “Copy diagnostics” include?

Your WordPress and PHP versions, the plugin’s settings as yes/no values and counts, and the last 5 update batches: which WordPress.org plugins and core changed versions, the update source, the check result and the kind of failure (for example “http_5xx” or “fatal_in_window”). It never includes your site address, page URLs, the “must contain” text, the webhook URL, emails, user names, error messages, file paths, themes or plugins not hosted on WordPress.org. Click “Show what will be copied” to see it before copying. Nothing is sent by the plugin.

WP-Cron is disabled on my site.

Run WP-Cron from a system cron job, otherwise checks run only when you click “Run check now”.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Plugevity Update Watch” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.0

  • First release.