This post is not specifically Divi related, but I believe it touches a topic that might help WordPress users in having less frustration with updates to plugins and WordPress.
Some 6 months ago I joined the support team of Modern Tribe, the creators of The Events Calendar and it’s add-ons. (Best job and team I ever had! I love you guys!) Usually, when a new release comes out (maintenance or major) the number of questions and complaints increases. Sometimes new bugs are discovered and occasionally an update can wreck a website, no matter how thoroughly the QA team tests it before release. These complaints have inspired this post.
An update or a new release should fix things. Right. And it does. Sometimes, however, some new bugs crawl in despite the best efforts and thorough testing. The multitude of installations and different plugin setups makes it impossible to test any plugin in every situation that exists in the world. And sometimes an update produces a fatal error unfortunately, and in some cases even a totally broken site. This is when angry users attack premium support forums asking for their money back and sending the developers to hell and back and wanting an immediate fix. Rightfully so? I don’t think so. (Maybe partially.) But you can do a lot to prevent an update breaking your live site and putting you out of business.
So here are my tips for never ever having a broken live website for more than 10 minutes, when doing an update on core WordPress or your plugins.
1. Wait a second!
In today’s world everybody is in a rush. A lot of times that’s the same with applying updates. A new update is out, we immediately want to have it! Bugfixes, oh yeah! New features, gimme for free now! Most of us are very eager to have the freshest most newest from everything, WordPress and plugins included. Human nature.
However, it is not always good to rush forward. New releases, especially major releases that contain new code, no matter how thoroughly tested, can come with some unwanted side effects. Here is where a bit of patience pays out. Wait a bit, don’t update immediately. If it is a maintenance release or bugfix release the risk is lower, but if it is a major release, I strongly advise you to wait 1-2 weeks. In that time new bugs can be discovered and fixed, so you will have a more stable version to switch to.
This is quite recent, WordPress 4.6 came out and like a lot of us, I was too eager to update a client’s site. So I updated the live site. A mistake I will never do again. 🙂
There was a bug in 4.6, which resulted in system generated emails not being sent out. That was a major blow for the client as they are receiving 50+ inquiries per day, most of them resulting in business. Now that was gone!
For a couple of days we were trying different scenarios and setting and whatnot, nothing helped. As a last resort, after 3-4 days I restored a backup I created before the update. That did it, all functionality was back at the cost of some new content being lost. Soon a fix came out in the form of WordPress 4.6.1. All that 3-4 days of stress could have been saved with a bit of patience.
2. Look around
This goes hand-in-hand with the previous point. While waiting for a fix, check around in the forums if anybody is reporting any minor or major bug. If nothing appears in 1-2 days, then it can be assumed that there is no major bug in the new version and it is most probably safe to update. If you find reports of bugs, then it is best to wait until they are fixed and / or a maintenance release comes out.
I’m in charge of an eCommerce store running on WooCommerce. Not long ago a new major release, WooCommerce 4.6 came out. I’m a big fan of new features but this time, since WooCommerce is a business crucial plugin, instead of rushing with an update, first I checked what has changed. Was a good thing to do. There was a major change in how shipping zones are handled and it was highly recommended to make sure, all extensions are compatible with WooCommerce 2.6. At the time they were not, so I decided to hold back on the update. At the end I updated from 2.5.x straight to 2.6.4, which already included a good amount of bugfixes.
3. Backup! Backup! Backup!!!
It is a cliché but a valuable one.
Before you do any update, whether it be core WordPress or any plugin, create a backup! Let me repeat that: create a backup! If anything goes wrong, you can restore your backup and wait for a fix, or test on a staging site (more on that later).
I learned the value of backups the easy way: I already had one when the lightning hit. An was I ever glad I had a backup solution in place.
You see, is anything happens to your site (gets messed up by a plugin, an external developer or gets hacked), if you have a backup, you can immediately restore the site so you can minimize the loss of business for your client. Also, if you do that, your value in the eyes of your client increases immensely.
There are plenty of backup solutions out there for your WordPress site, both for free and for money.
UpdraftPlus is a free plugin that gives you all the basics that you need: backup and restore. And a whole bunch more. What I like about this plugin is that it gives you the possibility of backing up separately the database, the plugins, the themes, the uploads and the rest, without any special setting.
BackupBuddy is a pay-for plugin with a full range of functionality for backing up, restoring, migrating your website, as well as storing it in their cloud and live backups. I specifically like the migration functionality. (Which, by the way you can also have with UpdraftPlus as a pay-for extension.)
Basically a hired developer, when asked to implement what he developed, didn’t add the new stuff to the live site, but overwrote it totally. Fortunately I realized fast and in literally 10 minutes the site was back to its original state. Not having a backup could have caused thousands of dollars worth of damage to my client who is running a quite successful business. Also, me being on top of things solidified my position with my client who was ever so grateful.
4. Use a staging / development site
When I first heard the expression staging site, I thought it was some black magic. Then it turned out it is as easy as setting up a website. 🙂 Yeah, it basically is a copy of your live website and it is super recommended to test any changes, updates on your staging site first, and if all works well, then implement or push it to your live site.
I’m not going to walk you through all the steps on how to set up one – I’m sure there are plenty of articles out there – but at least I’m going to give you an overview of options.
You can easily set up a local webserver on your laptop or desktop PC. For Mac you can use something like MAMP, for Windows PC something like XAMPP. There are plenty of alternatives, these are the 2 I heard most of the times.
Advantage of a local install: totally free and most of the time you don’t need to be connected to the internet while working on it.
Disadvantage: some things are difficult or impossible to test, e.x. payment gateways for WooCommerce. I’m sure emailing can be set up somehow, I just never bothered to dig into that.
You can install a second site next to your main site, on the same server. Most hosting providers should allow that. Just create a separate folder for the new install, set up a subdomain (should be free, if it’s not, switch provider) on your main domain (e.g. http://staging.mydomain.com or http://dev.mydomain.com or anything you like). You don’t even need a separate database (although recommended) just make sure you use a different table prefix for your staging site.
Advantages: you can run any test as if it was a live site
Disadvantages: a bit slower to work with compared to a local install, any you always need a connection
Separate hosting / domain
You can do the same as above but either on a totally different domain name or subdomain on the different domain. And at a totally different server.
Advantages and disadvantages like above.
If you have a provider like WP Engine, then you have the opportunity there to set up a staging environment. To be honest, I never used WP Engine so I cannot give any details on this. If you have experience with it, please share in the comments.
I’m using a portable version of XAMPP, because I can put that on a pendrive or a USB drive, plug it in to any PC anywhere and I can continue working. I love working on my desktop PC, but I also travel a lot. So I just unplug the pendrive, put it in my pocket and I can continue working on the train / plain / beach / coffeeshop … I love it!
(Maybe later I’ll write a post about how you can set up XAMPP to have as many local sites as you want. Let me know if you’d like that.)
This more or less wraps it up from my side.
About a year and a half ago I used to do all modifications and updates on live sites. I was lucky most of the times as you can see from my cases above, but it’s sure as hell that I’m never going to do that again. So here are the 4 things again to wrap up:
- Be patient and wait
- Be curious and look around
- Be safe and Backup !!!
- Be smart and use a staging / dev site 🙂
What’s your experience? What tools to you use? Do you have any questions? Don’t hold yourself back, share it in the comments!
(Note: none of the links are affiliate links and I didn’t receive any money to include any products or services in this post. It is solely based on my personal experiences and experiments.)