A portfolio update should end with working client sites, not merely a dashboard showing no updates available. Use a small, observable rollout so that a problem on one site does not immediately spread across every client.
This is an operational checklist for separate WordPress installations. It is not a report of tests across 50 sites. A WordPress Multisite network shares plugin code and needs a separate network-level change plan.
Group sites by the plugin being changed and the features it supports. Keep a brochure site separate from a store or membership service even when both use the same plugin. Name one operator and one person who can authorize recovery. Avoid simultaneous manual and automated update jobs on the same site.
WordPress’s plugin-management documentation explains update controls and recommends a current backup before updating. A backup entry is not proof that recovery will work; your operational record should also identify where it is stored and who can restore it.
If staging is available, use a recent copy with the relevant theme, plugin dependencies and PHP environment. Prevent the copy from sending real customer messages or initiating live payments. Check the changed feature there before touching production. A staging pass reduces uncertainty; it does not guarantee that production integrations behave identically.
Next, update one suitable production site during its approved window. Choose it for representative dependencies and recoverability, not simply because it has the fewest visitors. Record the outcome before expanding the batch. A vulnerable plugin may require urgent action; do not leave an urgent security fix waiting indefinitely for a convenient monthly window.
| Check | Evidence to retain |
|---|---|
| Intended plugin version installed | Version recorded after completion |
| Public page and changed feature work | Page or workflow tested, time and observed result |
| Relevant integration works | Authorized test submission or sandbox transaction result, with personal data minimized |
| No new visible error | Relevant error-log review and unresolved warnings |
A successful update message only confirms that operation; it does not demonstrate that checkout, scheduled tasks or email delivery still work. Use the same agreed checks on each site rather than declaring the whole batch healthy from its first member.
If a pilot produces an error, pause the remaining sites and record exactly what changed. Check the plugin’s supported recovery guidance. Deactivation is not a universal rollback: it may interrupt a business function and does not necessarily reverse a database change.
On a live store, restoring an older database can discard newer orders or customer changes. Escalate the recovery decision to the responsible operator, preserve current evidence and account for intervening data before restoring. Never repeatedly press update after an ambiguous timeout without checking the actual installed state.
For each site, mark verified, failed or deferred, with a reason and next owner. Include the tested functions and any untested dependency. Expand to the next small group only after reviewing the pilot evidence. This produces a reusable maintenance record without claiming that one dashboard badge proves every client journey is healthy.