Best Practices to Manage WordPress Plugin Conflicts
It is almost inevitable that at some point during the life of your WordPress website you will experience a major plugin conflict. It happens.
When these conflicts occur it’s typically not a problem between two minor plugins. You can almost guarantee that the most important plugin on your site will be directly affected, bringing its entire functionality crashing down around you.
That statement is 50% paranoia and 50% reason. The most important plugins you use are often brought into conflict with others because of their feature complexity. Whether your site is run around an events management plugin, an eCommerce plugin, or something else entirely, you can be sure that it will be the primary victim in any conflict that arises.
It’s almost impossible to avoid conflicts entirely if you use a lot of plugins. However, there are a few methods you can use in order to keep plugin conflicts and issues to an absolute minimum.
1. Avoid Outdated Plugins
If you must use a plugin for a specific feature ensure it has been updated recently and is compatible with the latest version of WordPress.
If the plugin hasn’t been updated by the developer in over six months there is a good chance it will contain outdated code. Now that WordPress is trying to shorten their development cycle this becomes even more important.
In addition, also avoid plugins that no longer exist. These are pretty much guaranteed to cause you problems in the long run.
2. Backup Plugins Before You Update Anything
We say this a lot in out guides – but always take a complete backup of your site before making any changes.
Most people will update their plugins and website without a second thought. Running the latest versions of WordPress, and any themes or plugins on your website, is good right? This is true – but you shouldn’t be reckless when carrying out these updates.
As with updating the core WordPress software it is good practice to have complete and usable backups of your entire site before you make major changes. Having backups allows you to restore older versions of each plugin should something go wrong and you have to rollback to the previous version.
There are plenty of awesome WordPress backup plugins to choose from, including our personal favorite VaultPress, that will allow you to backup everything. Though you could simply download the wp-content/plugins folder using an FTP program such as FileZilla.
3. Create a Local Development Version of Your Site
Use an application such as MAMP or WAMP to create a version of your website on your local computer.
You can then use this local version of your site as a testing environment for updating to each plugin you have installed. This allows you to test the updates of each plugin works without causing any conflicts with the others.
If conflicts do occur then they don’t happen on the live version of your site. You can test and tweak the plugins on the development version until you are happy that everything works.
Then at that point you can upgrade your live version.
4. Update Plugins Individually
It can be tempting to select all of your plugins and have WordPress update them at the same time. It’s certainly a time saver if everything goes according to plan.
If there is a problem with any of the plugins after an update you will be glad you spent that extra few minutes updating each plugin individually. Using this method allows you to see exactly which plugin caused the conflict and then restore the previous version from a backup straight away.
By updating all of them at the same time you run the risk of having to spend a significant portion of your time discovering the conflicting plugins.
5. Find the Conflict
The previous point is good practice, but not something most people are willing to spend the extra few minutes on. If you have updated all of your plugins at the same time you are left with two options, and you want to avoid the second of them if possible.
Restore the Plugins
You can completely restore the plugins from the backup you took of them just before the update. Then update each plugin one at a time to find the one causing the conflict.
If your response to point one was “Oh yeah. I was supposed to back them up first.” I feel sorry for you for being reduced to using point two.
The Manual Process
You have no backup. You updated all of the plugins at once to save time and now something important is broken. You’re now faced with the laborious task of manually checking each plugin to find the conflict.
To do this you have to deactivate every plugin you have installed.
When they are all deactivated you can activate your primary plugin that is having the problem and make sure it is working correctly – it’s possible that it is the broken plugin.
You then need to activate each plugin, one by one, and check to see whether the conflict has occurred. If you have a lot of plugins installed this could take you some time.
To make matters worse, once you’ve found this conflict you will either have to leave the second plugin deactivated, or try to find the version you had installed before the update – assuming you knew what it’s version number was.
This manual method can take a great deal of time to complete and cause major functionality issues on your site while you carry it out. It’s best to try to avoid this scenario entirely by being proactive, taking backups, and having a plan for updating your website.
6. Use Plugin Support Forums to Resolve the Conflict
Once you have located the offending plugin it is a good idea to head to its support forum. There should be a “Support” tab on the WordPress.org page for the plugin if it is freely available. Or for premium plugins, on the main plugin landing page or developer website.
Chances are you aren’t the first person to have the conflict. If you are the lucky patient zero for this problem you should create a thread in the forum or send the developers an email to begin to investigate the problem.
Starting your own forum thread will require creating a WordPress.org account if you don’t have one or logging into the account you created when you purchased the premium plugin.
7. Replace the Minor Plugin if Resolution Isn’t Possible
There may be no solution to your conflict. You may be left with no option other than forgoing the features of that plugin. At least as a short term solution.
There will be other plugins available to you that carry out the same function. Spend some time searching for a replacement plugin and don’t just use the first one you find. Find one with good support and has been updated by it’s developers recently.
It may even be worth your time contacting the developers of the new plugin beforehand. Find out if their plugin is compatible with the main plugins you use. Or ask them if the conflict you experienced with your previous plugin has been an issue for them.
Remember that you aren’t tied to any one particular plugin and if you can’t find one that does exactly what you want it may be an idea to find someone to create custom code for your website that removes the need for a plugin completely.
While you can use plugins for practically anything on WordPress doing so may not be the best option available to you.
If you are using plugins to carry out simple tasks it is a far smarter option to learn how to replace them with custom code. You can either learn yourself, or have someone write the specific code required to carry out the task add it to your theme.
Each plugin you use chips away at the control you have over your website and puts its long term health into the hands of third party developers.
That developer may not be able to keep the plugin completely up to date. Their code may be messy and have unintentional holes and problems. It may simply use a function that is already used by another plugin you have installed.
Whatever the problem, it can usually be avoided by replacing the plugin with custom code that uses less resources and is less likely to cause other issues.
Have you experienced any major plugin conflicts on your website? How did you resolve them? We’d love to hear about it in the comments.
I’ve learned many of these lessons the hard way. The best point you make is updating the plugins one at a time. Like you said, the temptation is there to say “update them all” but if one plugin causes trouble then you will have a harder time finding which one. Once a month I go through all my clients sites and update plugins. Every time I press the button to update I say a little prayer :). One plugin can cause you to spend the rest of the day playing Mr. fix it. Thanks for the good article!
I couldn’t agree more! Thanks for stopping by Bill 😉
Thanks for the tips Tom! Good to have, good to know.
a simple way to disable plugins with out change settings rename the Plugin Folder with “_” underscore then test when not these go to the next!
Vaultpress is costly i prefer the manual method.
It is costly, but for some of us it’s really worth it because it does backups all the time. Anytime a new user subscribes, a new comment is added, a post updated…etc, it backs things up. We’ve been hacked before and with Vaultpress we simply had to click 1 button to restore the site back to normal. But yes, it’s a bit costly, so it really depends on your budget 😉
Excellent write up! I sometimes forget to back up my plugins/themes first before updating, but it really does help to have a backup on hand should anything go wrong.
Excellent post! Actually, many of your posts are helpful and informative for the less advanced users. Appreciate the efforts in sharing your knowledge and experiences. Great recommendations.
I need two event management plugins and they do not like each other, but one is perfect for the main events management for my website and the other I need for membership bookings, rentals, etc. I am thinking of creating a second subdomain website to handle the bookings and memberships, and keep the main site as is. Has anyone attempted running two wordpress sites to handle multiple plugins that conflict when installed in a single site? Just trying to get a feel if this is a solid approach to handle the conflict. I appreciate your feedback.
You really should contact the plugin developers because maybe its a simple fix! Also if you decide to use 2 WP installs I would suggest setting up a Multi-site it would be the easiest solution.
Hi, is it enough to just deactivate all plugins do to a conflict check? Is there any situation where it is necessary to uninstall the plugins completely in order for the conflict to “go away”? I am trying to figure out which plugin is messing with customizer on a site I am developing, and deactivating plugins has not made the conflict go away (customizer does not work). Any guidance or thoughts would be great help, thank you all!
When I’ve done conflict testing I just deactivate all my plugins, then reactivate them one by one (in my experiences no need to uninstall). As you activate each new plugin see if you customizer is working, once it breaks you’ll know 1 of the plugins causing the issue (let’s call this one plugin A). Next I would go backwards, leaving the last plugin I reactivated “on” (that’s plugin A) and deactivate the other reactivated plugins one at a time to find out which one is plugin B that isn’t playing nice with plugin A. In most cases there are two plugins that’s don’t work well together, but it’s possible for there to 3 or even more depending on how many plugins you have installed. It can be a bit tedious but it’s worth it to know what’s up with your website 🙂
I have been experiencing issues with the latest plug in from elementor. I have been able to back up to before I updated the plug in but don’t understand the issue or how to rectify it and I’m too nervous to update the plug in again!
This is what came up
An error of type E_COMPILE_ERROR was caused in line 2 of the file /var/ www/ wp-content/ plugins/ elementor/ modules/ history/ module.php. Error message: Namespace declaration statement has to be the very first statement or after any declare call in the script
I think you may just need to reinstall the plugin – Elementor actually has a full guide on how to handle this error.
Very useful tips Tom.
I’m not completely sure custom code gives fewer conflicts than third-party plugins. It all depends on how the custom code is written, and how the other plugins are written.
You may have a very bad custom code and an amazing plugin that does the same in a modular way without worsening the performance and that is also frequently updated and maintained and tested on thousands of other websites.
In any case, to solve conflicts I always use Freesoul Deactivate Plugins. It’s a very handy tool to preview the pages without specific plugins and switch to another theme (only in preview mode). And then you can save the settings to permanently disable the plugins that you don’t need on specific pages.