Last night a beautifully done WordPress site went down. Hard error, no ability to log in, no ability to do anything other than see it was toast.
WordPress is a great platform.
The community surrounding Wordrpress is engaged and the depth and breadth of knowledge out there to self support is amazing.
WP is robust enough that just about anyone can manage their own CMS, flexible enough to allow just about anyone to create a theme or plugin, fragile enough that one like of code can break everything.
You have to understand that when you have a WP site, and you use an independent theme or plugin (there are 10’s of thousands of them), that you are putting your sites success in the hands of the developers who are only interested in one thing.
The success of THEIR product.
Now, I know that is a bit unfair to paint with such a broad brush, and that in most cases the developers want your site to be successful so their plugin or theme gets used. True…
And… they are VERY aware of the millions of combinations of code out there that there is NO POSSIBLE WAY for them to plan around all of them.
So therefore.. they can only truly be concerned with one thing.
But does that mean that they should stop there? Should we?
I am going to tell you that I think that in our jobs and efforts we can do one step better. We can plan for when things do not work in an ideal state. Maybe we can’t fix every problem, but in this case – I believe they could have.
In this case the developer had the forethought to run a code check as part of his plugin’s operation which looked for API conflicts. Great!
He had written code which included instructions to be displayed on the website when the conflict was detected. So far so good!
The code takes down the ENTIRE SITE to display this warning. Wait, WHAT?!?
The code breaks the admin panel and all functionality of the site. ARE YOU KIDDING ME??
So kind to do the check,
So kind to give you a warning,
So kind that the warning displayed tells you how to fix the error,
Not so kind that the code literally breaks any ability to do just that.
In all fairness, it could be an oversight or a bug. But, I’m going to say no.
If you look at the section of code where the error language is contained. The message was displayed as prominently AS DESIGNED.
They WANTED us to know that their features wouldn’t work.
They WANTED to display that message and the names of their plugin in place of your content.
They WANTED you to disable all other plugins to save theirs.
In an IDEAL WORLD, they would have run the check,
They would have displayed an error in the dashboard in the admin panel,
They would have generated an email to the administrator,
They would have disabled their own plugin automatically.
In an ideal world they would NOT have made you feel the pain.
The good news is that the owner of this site has an amazing hosting team at HostCambodia.com and they were able to get me access to the root quickly.
Literally 2 minutes later and one quick change to disable the plugin and the site was back up. Further concreting the idea that the plugin which displayed the error was the one not playing nice.
In the future if you find yourself with a WP site where there is an error. Hit me up.
I may be able to help you quickly fix the issue.
But do me one favor, regardless if you need help or not…
BEFORE you have an issue – backup your site & database early and often.
One code error can kill.