[ad_1]
Are there any tools or best practices for systematically updating plugins, WordPress core and themes so that it’s clear when any single piece is breaking functionality? Testing automation, logging tools or any other recommendations would be very helpful!
[ad_2]
I don’t have a better solution than backupping before updating, and then clicking through the site to see if anything is broken.
Perform update(s) on a staging/dev server first. Find and fix errors there before updating production.
Staging Site, once you confirm that nothing is broken, you push to Live. Always test any changes in Staging.
End-to-end test using Cypress/Puppeteer is a solution. That will automate your manual inputs
I setup localWP or a staging server, update the plugins and test.
For the well-known and well-maintained plugins, I simply enable auto-update.
For the lesser-known ones, I, like others, test the updates on a staging site before I update them on the live site.
The place where I have been bitten hard is upgrading the php version. Lots of stuff breaks whenever I do that. I run my staging sites on php 8.2 now, and my production sites on 8.1.
I now have well over over 100 maintenance clients and generally perform daily updates. In 10 years I’ve almost never had a problem.
Here are my “handy tips”
1. Curate the dickens out of the themes and plugins you use on the site. You can’t always control what your clients have installed but you can assess them for risk factors. Mark those for special treatment.”
1. Make sure you’ve got uptime monitors for all your sites, preferably based on finding known keywords rather than simple 200 status.
1. Always back up before updating so you can roll back in the event of errors (eg uptime monitor notifications.)
1. Closely look at all the updates before blindly clicking “update.” Make sure not to automatically update high risk items (cough*Elementor*cough.)
1. For high risk or major updates like WP core, wait at least 24 hours for the inevitable x.x.1 emergency patches are all out before finally updating.
1. For notorious database updaters like WooCommerce and Elementor, open the sites manually and perform manual DB updates if needed.
1. For notoriously “brittle” updates, manually log in and clear caches as well.
Note: this applies only to normal sites with low or moderate engagement. E-commerce, membership, and discussion type sites where a simple rollback could overwrite orders or user activity you’ll want to test first on a staging or desktop environment that duplicates the production environment before manually running updates on production.
For enterprise-level sites and/or hosting you should follow the hosts or IT group policies and protocols. This may involve source control or pushing from dev to staging to live with regression testing at each stage.
Yes, it’s called a staging site. Back up the live site. Update on staging, test, test some more. Test again and only then when you are sure everything works as expected, make the changes to the live site.
Most of my builds use the same plugins, theme, set up, settings etc.
So it’s more a science then anything. I run bulk updates on 90% of sites since they’re very small and non mission critical.
About 10% are critical, and I always schedule manual updates for those. I also skim through for issues after updates using various tools.
I use wp umbrella for these updates. Since I’m running backups if anything does break, I can always revert.
I also never do updates right away without understanding what these updates entail, unless it’s a security issue.