WordPress is one of the most popular website and CMS platforms on the Internet. With that popularity comes a huge catalog of free and premium plugins to extend the platform and make it even more useful. As with most things in life, plugins come with trade-offs. In the case of WordPress plugins, one of the biggest trade-offs is compatibility and conflicts.
With every WordPress plugin you install, you are introducing the possibility of bugs and conflicts with other plugins. For this reason a “less is more” approach should be used when installing plugins. Keeping the number of installed and active plugins on your site to a minimal is your first line of defense in reducing plugin conflicts.
But plugins are an important part of WordPress and should be celebrated, not feared! After all, what would WordPress be without plugins? We just need to apply some common sense and preventative measures to set ourselves up for success. In this post we’ll discuss best practices you can use to minimize your risk of plugin conflicts and also guide you on troubleshooting and resolving conflicts when they do happen.
In this article we’ll discuss:
Choose Quality Plugins to Prevent Plugin Conflicts
The first thing you can do to minimize plugin conflicts (aside from minimizing the number of plugins you install) is to be proactive and only download and purchase plugins from reputable developers. Whether you are downloading free plugins from the WordPress repository or premium plugins from third party websites, you can save yourself a lot of time and heartache by doing a little research.
WordPress Repository Plugins
Free plugins on the WordPress repository are fairly easy to vet. When you click on a plugin’s page, there is a lot of data available to help you choose high quality plugins:
- Last updated – This tells you how recently a plugin was updated. If a plugin hasn’t been updated in several months, it could (not always) indicate that the plugin is not actively developed and could contain bugs.
- Active installations – This is the number of WordPress websites that have the plugin installed and activated. The higher the number, the more stable the plugin is likely to be. Newer plugins with only a few hundred or thousand downloads should be installed and activated with caution.
- Tested up to – When a developer pushes an update for their plugin, they can choose to disclose the most recent version of WordPress their plugin has been tested with. If the version of WordPress is outdated it could indicate the plugin is not being actively developed.
- Ratings – You should try to stick with plugins that have a good amount of four star or higher ratings.
In addition to the info above, WordPress will also place a banner at the top of the plugin page to let you know when a plugin has not been tested with the latest three major releases of WordPress. In most cases these plugins should be avoided as it’s a good indication that the plugin is no longer actively developed.
Premium Plugins from Third Party Websites
Plugins downloaded from third party websites can be much more difficult to determine their quality and whether they’re actively developed. If the plugin is sold on a marketplace such as the Elegant Themes Marketplace, they must often go through a review process to help with quality control. Many of these marketplaces also offer a review and commenting system that you can browse through to see what the user feedback is and what issues others may be having with the plugin.
All of our plugins sold on DiviPlugins.com also offer a 30 day money-back guarantee, review and commenting system, current version, last updated date, and changelog so you can see the latest features and bug fixes. You should be cautious downloading any plugin that does not allow users to leave a review or does not disclose the active development of the plugin or offer a guarantee.
Back Up Your Site to Prepare for Plugin Conflicts
Sticking with our preventative measures first, it’s important that we have a reliable, recent, onsite and offsite backup of our website in case a new plugin or update causes catastrophic failure. Plugin conflicts, much like security holes, can be minimized but it’s nearly impossible to avoid them entirely.
While installing and updating plugins doesn’t generally come with great risk of breaking your site to the point it’s not recoverable, it has the potential. Third party plugins can have malicious code that can be expensive and nearly impossible to remove. Plugins that rely on a custom table in your database like ecommerce plugins have the potential to destroy data in this table during the update process. Having a backup of your website is a must.
We always recommend the free but highly reliable UpdraftPlus Backup Plugin. It’s easy to set up. Easy to connect to an offsite storage service like Dropbox or Google Drive. Easy to recover. And it just works which is more than can be said of many other backup plugins. UpdraftPlus allows you to schedule automatic backups that run on a schedule but it also allows you to manually create a backup with the click of a button. You should do this right before performing plugin updates on your site, especially if you have an active site (you post new content often or users frequently interact on your site).
Updating WordPress Plugins
So far we’ve only installed and activated a minimal number of plugins that we’ve deemed to be high quality to the best of our ability. We have a reliable, recent, onsite and offsite backup of our site. It’s now time to update. There are two approaches you can take to updating the plugins on your site: auto updates or manual updates.
Auto Updates
Since version 5.5 of WordPress, plugins can now be set to auto update. I would highly discourage enabling this feature. You take a big risk by allowing plugins to auto update in the background at random intervals and possibly break your site without your knowledge. You should always be present when updates are performed so you can immediately monitor and test for any bugs or conflicts.
There are also third party, freemium services available like ManageWP and MainWP that automate the update process but with more control. If you’re an individual with only one or a few websites, these services are probably overkill. If you’re a small agency or independent web developer with multiple clients, these services can provide a lot of value and are worth checking out.
Manual Updates
There are two approaches you can take to manually updating plugins: update all plugins at once from the Updates page or update plugins one at a time from the Plugins page. There is no right or wrong approach here. Personally I like to manually update plugins that play a significant role in the functionality of my site. After each plugin update, I test and make sure the function they provided is still performing as expected. I then update all other plugins that play a smaller role at once from the Updates page.
Using this approach comes with several advantages. By splitting my updates into smaller chunks, I can easily determine which plugin(s) created a bug or conflict. If you were to update all plugins at once, it would be much more difficult to determine which plugin is the culprit. This approach also saves time testing. By updating and testing important plugins individually first, I can bulk update less important plugins knowing that the core functionality of my site is less likely to be affected.
A final suggestion on updating your WordPress plugins is to update often. A good target would be weekly or bi-weekly. This doesn’t mean you should update every plugin as soon as an update is available. This is actually a bad idea, especially for major updates. But waiting too long between plugin updates can open your site up to security holes and will make the update process a more tedious chore. A weekly or bi-weekly update cycle should limit your updates to a small handful of plugins at a time which is much more manageable.
Production Site or Staging Site?
A production site is the live version of your website that users interact with in real time. A staging site is a copied version of your production site that can be used for testing updates or custom code without affecting your production site and user experience. When installing plugin updates, you’ll need to decide whether you want to install them directly on your production site or on a staging site. The method you choose is really going to depend on your situation.
Staging Site Testing
Many WordPress experts will tell you NEVER install new plugins or plugin updates on a production site. This is a very hard-line and probably unnecessary approach for most users. Time is money and staging sites are a time vampire. You really need to balance and assess the risk potential with the amount of time that would be involved in creating and testing on a staging site. Again this is going to be different for every situation and every individual.
If you decide the stakes are too high for you to update on your production site, there are several methods you can use to create a staging site. Many hosts now make it fairly easy to create a staging site through an interface they provide in your hosting account or even directly in your WordPress dashboard. This would by far be the easiest solution.
If your host does not offer this, you’ll need to manually create a staging site on your computer. For this I would highly recommend Local by Flywheel which makes creating a staging site much easier than other options. But it’s still not for the faint of heart. If your technical skills are lacking, it can be a little overwhelming to manually create a staging site. You’ll need to decide if this is something you want to tackle yourself or throw in the white flag and pay someone to manage your website for you. I would imagine if your website is too important to update plugins directly on your production site and you lack technical skills, you are likely already paying a developer to help manage your site anyway.
Production Site Testing
When performing plugin updates on a production site there are a few ways to minimize your risk as much as possible. Having a recent backup of your site is more important than ever when updating plugins directly on your production site. Make sure you manually back up your site immediately before updating.
I would also highly recommend performing the update late at night, on weekends or on the day and time of day you see the least amount of traffic. You can even log into your Google Analytics account to monitor your visitors in real time and update when you see the least amount of visitors. You’ll be able to think much more calmly if disaster strikes during a plugin update and there are minimal users on your site.
Test New Plugins and Updates for Plugin Conflicts
Our final step in the update process is to test. It’s not fun. It’s time-consuming. It’s tedious. But there’s no way to be sure a plugin or plugin update hasn’t introduced a bug without testing it.
Always make sure you clear your cache if you have server cache enabled or a caching plugin installed after updating anything on your site. In most cases this should be automated by the caching mechanism but I would not take this for granted. Manually clear the cache so you know 100% that what you see while testing is what others will see once the cache expires.
Start your testing by visiting your homepage and scrolling top to bottom, looking for any obvious bugs visually. Next move onto high priority items such as call to actions, popups, contact forms, product pages, checkout and cart pages, etc. What is the purpose of your site? To sell products? Collect emails? Gather leads? Inform? Make sure your website’s main purpose has not been compromised by the plugin update.
Once you’ve verified the main purpose is still being served, you’ll need to balance how thorough you want to be with the rest of your testing with how much you value your time. Everything is a tradeoff. After going through this process enough you’ll learn to anticipate which items need more attention during your testing. Some website components (contact forms, login forms, popups, etc.) are much more fragile and easier to break than others. Spend the majority of your time on these items and consider testing less important items every other update or let your users report and minor bugs.
Troubleshooting Plugin Conflicts
With all of the preventative steps you’ve taken and a bit of luck, there’s a good chance you won’t encounter any plugin conflicts when you perform your weekly or bi-weekly updates. However it is likely that eventually your luck will run out and you will encounter a plugin conflict or bug. The following steps should help you narrow down the culprit and recover quickly.
The first thing we need to decide is whether we know which plugin caused the conflict. If you updated your plugins manually as suggested and in batches, it shouldn’t be too difficult to determine which plugin caused the conflict. If you got behind on updates and had to update a lot of things at once, you may have a long road ahead of you.
You Don’t Know Which Plugin Caused the Conflict
If you’re not sure which plugin caused the conflict or if it was a plugin update at all, you need to spend some time narrowing it down. You really shouldn’t get to this point if you’ve followed all of the preventative steps above. Even if you’ve done everything right and a plugin still causes a conflict, you should have a really good idea which plugin it is. If not, there are methods we can use to find the culprit.
If you’re using Divi, go to the Divi -> Support Center page, scroll down near the bottom, and enable Safe Mode. This will temporarily disable all plugins, child themes, and custom code added to the Divi Integrations tab but only for the your current session as the admin. Visitors to your website will continue to see the site as if all of the above are still active.
Did this solve the issue? If yes, now you know it’s related to a plugin or your child theme. If no, it’s possible you updated WordPress or Divi at the same time you updated your plugins and one of those is the issue.
If yes, disable Safe Mode. Go to your Plugins page and temporarily deactivate all plugins. You can do this by clicking on the checkbox next to Plugin just above your first plugin in the list. This should select all plugins on your site. Next click on the Bulk actions dropdown above the checkbox and change this to Deactivate. Click the Apply button.
Did this solve the issue? If no, try temporarily activating your parent theme which will in turn deactivate your child theme. If this solves the issue and assuming you didn’t update WordPress or Divi, there’s custom code in your child theme causing the conflict.
If yes, it must be related to a plugin. Go back to your Plugins page and click on the Recently Active link. This should list all of the plugins you deactivated in the previous step. Now you can activate all plugins again and then deactivate them one at a time until you find the culprit. Another approach is to only reactivate the top or bottom half of the plugins. If that doesn’t resolve the issue, reverse the deactivated plugins with the activated plugins. Repeat this halving approach until you’re left with only a few plugins which you can then deactivate one at a time until you find the culprit.
You Know Which Plugin Caused the Conflict
Knowing the source of the problem is a major advantage when trying to find a solution. Half of your work is already done. It now becomes a matter of importance. Is this a major issue that broke your production site or a minor issue or an issue that only affected your staging site?
Revert to Previous Version of Plugin for Major Issues
If the issue caused by the update is catastrophic, you can revert to the previous version of the plugin running on your site before the update. How you do this will depend on your setup. If using the UpdraftPlus Backup Plugin, the process is very simple. Log into your dashboard and go to Settings -> UpdraftPlus Backups. Remember that backup you created right before you updated your plugins? You should see it waiting for you under Existing Backups. Click the Restore button next to the correct backup. On the following page you should see a list of available components you can restore from backup:
- Plugins
- Themes
- Uploads
- Others
- Database
The safest option here is to select the Plugins component only, click Next, and then click Next again. This will revert all plugins to their previous versions right before you updated them. No data will be lost and you should be right back where you started when everything was running properly.
If that’s not the case, try running through the You Don’t Know Which Plugin Caused the Conflict troubleshooting steps above. In many cases it’s a simple matter of clearing your cache or optimizing plugins.
Another possibility is that you may need to restore your Database component as well. I would be very careful before choosing this option. This is not a common cause for plugin update issues. You should only restore your database if the plugin update that caused the issue also required a database update. Most plugins that update your database will display a notification at the top of the WordPress dashboard immediately following the update that says something like this: “Thanks for updating our plugin. We need to make a few changes to the database. Please back up your data and click this button to proceed.”
Just keep in mind that if any ecommerce transactions, new account creations, new comments, etc. were made between the time you updated the site and the restoration of the database, those will be lost. This goes back to only updating your site during non-peak hours.
Contact the Developer for Minor Issues
If the issue caused by the update is minor or you performed the update on your staging site, reverting to the previous version of the plugin may not be necessary. In this case I would contact the developer for a solution. No one knows the inner workings of the plugin better than the people who developed it. If it’s a plugin from the WordPress repository, you can check the support tab on the plugin’s page. If it’s a popular plugin and you’ve waited several days since the update was released, it’s likely that others have encountered the same issue you’re having with the update and have already reported it.
Browse through the support topics, find a recent one that sounds similar to your issue, and read the responses from the developer. Sometimes these can include a temporary fix you can implement, a promise of a fix in an upcoming update, or a realization that the issue is actually caused by another plugin or theme.
If you don’t see any topics related to your issue, you can create a new topic and hopefully receive a fast response. Don’t miss out on an opportunity to quickly resolve your issue because you’re too afraid to be the first to report it. Even if you end up being wrong and the conflict is caused by another plugin, it’s likely that your question could help others.
For third party plugins, use their support system or contact form and explain the issue you’re having. Too much information is almost always better than not enough. Provide the plugin name, version, issue you’re having, and if possible a URL so the developer can see the issue firsthand. If it’s complicated to explain with text, use free screen recording software like Loom to make it even easier for the developer to understand the issue. Support tickets can sometimes take 24 hours or even longer to get a response. You don’t want to wait that long only to receive a response like “Which plugin are you referring to?”. Again, too much information is almost always better than not enough. Try to be clear and concise.
If you decide to tackle the troubleshooting yourself, here are some common steps you can perform to resolve the issue with the plugin update. Keep in mind the following steps won’t do a bit of good if the issue is a bug in the plugin. If that’s the case, you’ll need to revert to the previous version or wait for help from the developer.
Clear Your Cache
Caching plugins are important and necessary, but they sure make things infinitely more difficult when it comes to testing changes. If you have a caching plugin installed or your host includes a server cache interface in your WordPress dashboard (usually along the top bar in your dashboard), delete the cache on the entire site and test again.
Most caching plugins will display the non-cached version of a site when the site is viewed while logged in as admin. See if the issue you’re seeing is resolved when viewing the site while logged in as admin. If not, there’s a very good possibility the issue is related to cache or a security plugin. When in doubt, you can always temporarily disable your caching plugin to be 100% certain you are not seeing the cached version of your site.
Disable Optimizing Plugins
Just like caching plugins can affect plugin updates, so can optimizing plugins – especially ones that minimize CSS, JS and/or attempt to move scripts to the footer. Any plugin that claims to optimize your site or increase your page speed or Google PageSpeed score falls into this category. Do yourself a favor and just temporarily disable these plugins if you’re having any issues. Once you’ve done this, clear your cache again and test again. If that does the trick, you can try enabling these plugins and test again. If the issue comes back, contact the developer of the optimizing plugin.
Disable Security Plugins
This one should be exercised with caution, especially if you’ve encountered a lot of security issues on your website. But when time is money and you’re trying to find the source of an issue, you should be perfectly safe temporarily deactivating any security plugins for testing purposes. Just make sure you remember to activate the plugin again when you’re done.
The most common plugin conflict created by security plugins is they sometimes block important files needed to perform AJAX tasks. If you have issues with plugins that use AJAX to update content on your page without refreshing the page, temporarily deactivating your security plugin may solve this. If it does, contact the developer of the security plugin who will likely have a solution for this.
Disable Divi Performance Toggles
Since Divi version 4.10 was released, there is now a Divi -> Theme Options -> Performance tab with over a dozen toggles that turn off and on new performance features. There’s a lot going on here but here are some general suggestions. If you’re having issues with a third party Divi plugin, try disabling the top three toggles:
- Dynamic Module Framework
- Dynamic CSS
- Dynamic Icons
Plugins that are not compatible with Divi 4.10 may need these toggles turned off to function correctly. If this works, you can turn them back on one at a time (you can also do this with any of the toggles) until the issue comes back and then you’ll know which toggle needs to stay disabled.
Another toggle to pay attention to here is the last one – Defer Additional Third Party Scripts. This can break some plugins and would be one of the first ones I would turn off during your troubleshooting.
Disable Your Child Theme
Child themes can contain custom CSS in the style.css file, custom functions in the functions.php file, custom javascript in the Divi -> Theme Options -> Integration tab, and other more complex modifications as well. I’ve seen child themes with nearly as much code as the parent theme. Something as simple as display: none; in the stylesheet can make it seem like a plugin is broken. Disabling your child theme can be a quick test to make sure you or your developer isn’t causing the conflict with custom code.
Summary
- Limit the number of plugins you install on your website. Less is more.
- Only install trustworthy plugins that are actively maintained and have good reviews.
- BACK UP YOUR SITE! This is the most important rule and WILL bite you eventually if you don’t adhere to it. If you are installing a major plugin update or new plugin that handles an important process on your site, make sure you create a backup of your site immediately before updates.
- Update regularly but don’t install a new update the day it’s released. This is especially true if it’s a major update or if you are running an ecommerce or vital site. Developers make mistakes. Give an update several days or even a few weeks to propagate before you install. This gives the developer time to receive feedback from other users and fix any major bugs. If your website is just for fun, consider ignoring this rule to be one of the early adopters and report any bugs you find.
- Clear your cache immediately after updating. Many caching plugins will do this automatically when a page or plugin is updated, but not always. If you’re testing a cached version of your site, you won’t know if the update broke anything.
- Test all of the important features of your site: checkout, account creation, login, contact forms, signup forms, social share buttons, etc. Only you can determine the most important aspects of your site. Start with those and make sure they’re all working properly.
- Narrow down possible culprits until you find the plugin causing the conflict.
- Revert the plugin to the previous version, contact the developer, or troubleshoot the issue on your own.