Plugin Conflicts

You may or may not have heard of or experienced the “joy” of running into a plugin conflict, but since we found one on a client’s site this past month, I’d like to take a moment to explain what they are and what can be done about them.

There are many different developer teams working on WordPress software – the WordPress “core” software, various third party developers building plugins and themes. Since there are currently 54,970 plugins and thousands of themes available in the WordPress repository as of this writing it’s nearly impossible to check to be sure that one developer’s code works well with every other developer’s code.

So what will happen is that two plugins name a particular chunk of code with the same name. When that function is called, the two plugins butt heads and your site fails – sometimes catastrophically. In the case we saw this month, the site worked fine, but attempts to log in to the Admin area were met with a blank page with a big “503 Error” warning after a plugin update. Sometimes you’ll find something glaringly obvious like that or your site’s layout gets all wonky, and other times it’ll be more subtle – perhaps your contact form won’t send, or some other function doesn’t perform as expected.

1) Plugins are great, but keep them to a minimum. The fewer you use, the less likely you’ll run into a conflict. Ask yourself if you really need the function the plugin provides before installing it. It’s highly unlikely you’ll need more than 20 or so.

2) Delete any plugins or themes which you’re not currently using.  Deactivated plugins can still be a source of conflicts and a pathway to being hacked.  You can always re-install later.

3) Find what software is in conflict and remove the less critical one.

Typically this is a process of elimination. Deactivate half your plugins (leave critical plugins like security running). If the conflict goes away, you know that at least one of the problem plugins is in that batch. If not, it’s in the ones you left activated, so switch those back on and the others off. Then turn off half of the plugins in the problem batch to narrow it down still further. Keep going until you find one or two which, when deactivated, make the problem go away.

4) Report the problem to both software developers. Let them know which plugin(s) are in conflict, what the symptoms are, and any other details which might be relevant. Chances are they were unaware of the conflict (remember, there are 54,969 other plugins they’d have to test against to find all potential problems) and will try to reproduce and issue an update which addresses the problem. They may ask for temporary access to your website if they can’t reproduce it on their setup.

If you don’t report it, some other poor soul will likely encounter the same problems you did.

Posted in Tip.