Fatal Error: This plugin now kills your site because of a coding error!
Ever upgraded a plugin and founds your clients’ sites are all burning to the ground with fatal errors?
Of course you have. We all have.
But fret no more… we’ve just released the ability to rollback a plugin upgrade when you run an update through iControlWP.
Yep. Read on…
First, a little bit of love for WordPress plugin developers
Let’s be fair – it’s easy to make mistakes and release code that causes an error.
This is especially true for WordPress with all it’s hooks, filters, and the need to be backwards-compatible with really backward systems.
You wouldn’t believe the web hosting configurations that exist out there. Just when we think we’ve seen it all, another one pops up that blows our mind.
Godaddy, for a while, was set up so that if your script contained the letters “exec” anywhere… and I mean even in your PHP comments, it would kill the web connection with a 500 error.
Seriously, who writes this stuff?
So imagine you have to develop software that:
- is backwards compatible with antique versions of PHP,
- it needs to run on all web hosting environments,
- it needs to be compatible with older and future versions of WordPress itself
- it needs to be fully aware of the state of WordPress for each of the WordPress hooks and filters it uses
- and it must be aware that other rogue plugins can interfere with it at any time
- takes abuse from disgruntled users on the WordPress.org forums (free users are completely fine, it’s the rude ones that sour the milk)
I certainly wouldn’t pick WordPress plugin development as a past time for fun and growth.
It’s perfectly understandable that WordPress plugin developers get it wrong sometimes. We’ve done it too – we just released an update to our plugin to fix bugs a few days ago where it was killing the WordPress cron. Ouch!
How can you recover from a plugin / theme upgrade that kills a WordPress site?
The most reliable way to recover a broken website is to restore from a backup.
This is really the only wholly reliable way to recover from a plugin or theme upgrade that toasts your site.
When you do a full website recovery from a backup:
- you recover the WordPress database back to a state where it was fully valid and working
- you recover the exact files that were in-place when the site was valid working
And that’s it. This is by-far the most reliable method to recover from a broken upgrade to either WordPress, or a plugin / theme.
iControlWP Plugin Update Undo – another option to recover from broken plugins
We’ve just released a cool new feature within the iControlWP control panel – it is basically the ability to quickly perform a plugin update undo.
How does it work?
It’s quite simple… right before we run an upgrade, we automatically make a backup copy of the files within the plugin folder.
Then, if you have an issue with the upgrade, from within the interface you can select to ‘Undo’ or ‘Rollback’ the upgrade and replace the new files with the old ones.
This is not a miracle cure to plugin upgrades that destroy a site, it’s just 1 tool in your tool-belt for trying to recover from a mild upgrade break. If the breakage is substantial enough and involves the database, you’ll need to recover the database also using full site recovery mentioned earlier.
When is this roll-back option not a viable solution?
- if the plugin / theme upgrade has modified the database to the point where older versions wont work.
- if the plugin / theme causes a fatal error in the code early in the WordPress loading process – for curious developers, this is the any point before the WordPress
- if the plugin / theme upgrade wasn’t performed within the iControlWP dashboard.
Accessing the plugin update undo feature within iControlWP
Using this feature is easy, but only available if you’re run an update directly through iControlWP.
You will have a button available on your plugins management page as shown in the screenshot below:
What do you think?
Is this a useful feature? Are there other features out there you’d like to see?
Tell us! 🙂