I’ve been using WordPress at my website and the websites of clients since 2004, when WordPress was known as b2.
All this time, I have been adding WordPress to more websites, and indeed, for the past several years, have been building entire websites on the WordPress platform. At the same time, I have been upgrading WordPress installations as the newer versions of WordPress have become stable. Notice I said “stable” and not “available”. Not all upgrades work right out of the box. I like to wait until feedback about the upgrades is available. If comments are positive, I start upgrading. If not, I wait it out. If circumstances warrant an immediate upgrade, I write up a manual upgrade process and upgrade WordPress that way.
Preparation for “auto” upgrading WordPress
Here is the preparation I do before “auto” upgrading a WordPress installation. The WordPress upgrade process that I use is excessive, however, being a technologist and having years of PHP programming experience, the excessive backups allow me to recover from a bad upgrade from a number of angles – and bad WordPress upgrades happen.
- Record the version number of the current WordPress install (in case I have to call the hosting company)
- Log in using FTP and copy all the files onto my local system.
- Log into the WordPress installation (wp-admin) and use the Export (Tools, Export, ALL content)
- Log into the hosting account’s admin (cPanel, siteadmin, Plesk, etc) and use phpMyAdmin to export the entire database to a file that is saved to my local system.
At this point, I have two copies of all the data and all files.
Auto Upgrading WordPress
It is time to “do” the WordPress auto upgrade.
- In the Dashboard, Deactivate all the plugins
- In the Dashboard, click on Please Update Now.
- When the WordPress Updates page displays, I click on the Update Now button on the left.
- I read the log that the upgrade process displays on the screen. If there are errors noted, I print the screen so I know what the errors are and where to look.
- When there are no errors, I go back and Activate the plugins one by one. After each activation, I look at the website to make sure that all is intact.
- When all the plugins are activated, I Update the Plugins that have new versions; again, one at a time. After each update, I review the website to validate that WordPress is still working as expected.
- FTP: Filezilla, CuteFTP, and Dreamweaver are three popular programs for FTP
- WordPress Updates page: My experience has been that every time I have checked Upgrade all the Plugins at the same time, the WordPress upgrade fails. Now, I do not check anything in the plugin section. When the WordPress upgrade completes successfully, I upgrade the plugins one by one. [I will try upgrading all the plugins with the WordPress core upgrade again after a period of time when the auto installs have been working without a failure.]
- WordPress Updates page-> Update Theme: The Theme is a bundle of code that sits on top of WordPress and works with the WordPress code. When the WordPress code is changed (you’ve changed the foundation), there is no guarantee that the Theme code will continue to work with the new version of WordPress. So, I upgrade the WordPress core first. Then, I check to make sure everything is working as it should, and come back on another day (after the client has worked with the upgraded version of WordPress) to upgrade the Theme.
- Activating plugins one-by-one: Plugins are pieces of code that were written to work cooperatively with pieces of the WordPress code. When the WordPress code is changed, there is no guarantee that the plugin code will continue to work. This is why it is a good idea to deactivate all the plugins before upgrading and then activate the plugins one-by-one after the upgrade to ensure that each plugin still works with the new code.
- Updating plugins one-by-one: For the same reasons above – a different version of WordPress code working with a different version of the Plugin code, I update plugins one by one, validate that WordPress continues to work as expected, then continue updating Plugins.