What it does
An update policy puts a site's plugin, theme and core updates on a recurring schedule instead of you triggering them by hand. Every run follows the same verified pipeline: restore point → before-screenshots of the pages you chose → updates, one at a time → after-screenshots → a pixel diff against a threshold you set.
How to
- Go to Updates → Update policies and click Enable scheduled updates for a site.
- Choose approval mode (the batch waits for you to approve before it runs) or auto mode (it queues and runs on schedule without waiting).
- Pick the pages to screenshot for the diff — cover the pages that make you money, not just the homepage.
- Set the diff threshold — how much visual change is tolerated before a batch is held for review.
- In auto mode, optionally turn on Roll back automatically when the visual diff exceeds the threshold — see Automatic rollback below. The switch is disabled in approval mode, where you are already the one deciding.
- Approval-mode batches appear as an Action for you to approve; every batch's before/after screenshot pair is attached either way.
Automatic rollback
Off by default, per policy, and only meaningful in auto mode. When it is on and a batch's screenshot diff comes back over the threshold, WPClientHub restores the restore point taken right before that batch — the same one-click restore you would run yourself from the Backups tab, with the same safeguards: a safety copy of the site as it is now is taken first, the archive's checksums are verified, the database is loaded alongside the live one and the files unpacked to staging, and the switch-over is atomic. The restore runs as the system, not as a team member, and is listed on the site's Backups tab as Updates · automatic rollback.
The batch stays marked needs review throughout, with the before/after pair attached — a rollback puts the site back while you look, it does not decide for you whether the change was a real regression. In the Updates attention queue a rolled-back batch is shown distinctly ("Rolled back automatically · restore #N · 31% diff", with a link to the restore) rather than as something waiting for your approval. The updates it tried remain pending and will be proposed again on the next run.
What it will not do:
- Roll back twice for one batch, or roll back a batch whose diff could not be measured (a missing screenshot is a reason to look, not evidence).
- Restore a pre-update point that is missing, failed, or is no longer on the site with no verified offsite copy. The batch is held for review with the reason on it.
- Restore a point that is still being written. The pre-update backup runs alongside the updates, so on a slow site it can still be in progress when the diff comes back; the rollback waits up to 30 minutes for it, then gives up with the reason.
- Start beside another restore on the same site, or while another backup or update batch is running there — the same one-at-a-time rules as a manual restore.
Every rollback — completed, failed, or never started — is written to the activity log and sends the update rolled back alert (Settings → Notifications; on by default for owners, admins and techs, and available to Slack, webhook and external-email notification routes) with the site, the diff percentage, and links to the batch and the restore. If the restore itself fails, the batch stays in review with the site's reason surfaced, and the updates remain applied.
Limits & defaults
| Setting | Default |
|---|---|
| Schedule check | An hourly job finds policies due to run |
| Default diff threshold | 25% pixel change marks the batch "needs review" |
| Screenshot viewport | 1366×900, headless Chromium |
| Restore point | Always taken before the pipeline runs |
| Automatic rollback on a failed diff | Off. Turn on per policy (auto mode only) in the policy editor — restores the batch's own pre-update restore point; the batch stays "needs review" with the before/after pair attached |
| Rollback wait for the pre-update point | Up to 30 minutes for the pre-update backup to finish, re-checked every 30 seconds; then held for review with the reason |