How to find and fix a WordPress plugin conflict
Switch every plugin off and check that the fault is gone. Then switch them back on in halves until it returns. The plugin whose return brings the fault back is the cause. Update it, go back a version or replace it, and report the fault to its author.
- By
- WP Ministry
- Published
- Tested on
- WordPress 7.1.3, PHP 8.3.35
In short
- A conflict is found by removal. With every plugin off and a default theme on, the fault either goes or it was never a plugin.
- Find one page and one action that show the fault every time before you change anything.
- Switching plugins back on in halves finds the cause in a handful of rounds, even on a site with dozens of plugins.
- Troubleshooting mode in the Health Check & Troubleshooting plugin does the same search for your login only, while visitors see the normal site.
- Deactivating a plugin keeps its settings. Deleting it may not.
- Report what you found to the plugin's author with both version numbers and the error line.
A plugin conflict is two pieces of code on the same site getting in each other's way: two plugins, or a plugin and the theme. Each may work on its own. Together, a form stops sending, a layout breaks, the checkout hangs, or the whole site shows an error.
You do not find a conflict by guessing. You find it by removal: take every plugin away, check that the fault has gone, and put them back until it returns. The search is dull, but it always ends.
Before you start
Step 1: Find a way to show the fault every time
Pick one page and one action that go wrong, such as "the contact form spins and never sends". You will repeat that test after every change, so it has to be quick and certain.
Step 2: Take a backup
You are about to switch things off on a working site. Have a copy of the database and the files to go back to.
Step 3: Write down which plugins are active
You will need the list to put the site back as it was.
Step 4: Empty the cache before each test
A caching plugin or your host's cache can show you a saved page from before your change. Clear it, or test in a private browser window while logged out.
Switching plugins off on a live site takes their features away from visitors too. Work at a quiet hour, or do the search on a staging site and change only the one plugin on the live site afterwards. For a store, where switching plugins off stops orders, staging is the better way. If the site is down and you cannot log in, go to "If you cannot reach the dashboard" below.
Try troubleshooting mode first
Health Check & Troubleshooting is a free plugin published by WordPress.org. Its troubleshooting mode gives you a clean session, with every plugin off and a default theme in use, for your login only. Visitors and other users see the site as it was, with every plugin still running.
Its listing shows the WordPress version it was last tested with. If that is well behind yours, try it on a staging copy first or use the manual search in the next section.
Step 1: Install and activate the plugin
Add it from the dashboard as you would any plugin from WordPress.org.
Step 2: Start the mode
Enable troubleshooting mode from the plugin's own screen. Or go to the Plugins screen and select "Troubleshoot" under a plugin you suspect, which starts the mode with only that plugin active.
Step 3: Run your test with everything off
If the fault is still there with no plugins and a default theme, it is not a conflict. See the questions at the end.
Step 4: Switch plugins on from the admin bar
The mode adds an item to the admin bar that lists your plugins and lets you turn each on or off, from the dashboard or from the front of the site. Turn them on a few at a time and run your test after each round.
Step 5: Switch your own theme back on
The same menu switches between the default theme and your theme. If the fault appears only with your theme, the theme is part of it.
Step 6: Leave the mode
Disable it from the same menu, or log out. If you get stuck in it, clear your browser's cookies.
Search by hand, in halves
Without troubleshooting mode, the search is the same, and everyone sees it.
Step 1: Deactivate every plugin
On the Plugins screen, tick the box at the top of the table to select them all, choose Deactivate from the bulk actions menu and apply it.
Step 2: Run your test
If the fault is gone, a plugin is involved. If it is still there, check the theme next.
Step 3: Activate half of the plugins
Run the test. If the fault is back, the cause is among the plugins you activated last. If not, it is among those still off.
Step 4: Halve the half
Take the group that holds the cause and split it again: switch half of it off, or half of it on, and test. Each round cuts the suspects in two. Thirty plugins take about five rounds.
Step 5: Confirm the one you are left with
Activate every plugin except that one. If the fault stays away, you have found it.
Keep a plugin and its add-ons in the same half. An add-on for a store or a page builder cannot run without the plugin it extends.
To find what it clashes with, leave the plugin you found active, switch the others off, and add them back in halves until the fault returns. If the fault shows with that plugin alone, the plugin itself is faulty.
With WP-CLI, print the list of active plugins and keep it, then switch everything off:
wp plugin list --status=active --field=name
wp plugin deactivate --allBring them back by folder name, half at a time:
wp plugin activate plugin-one plugin-two plugin-threeCheck the theme
If the fault is still there with every plugin off, or shows only with one plugin and your theme, switch to a default theme, one of those whose name begins with "Twenty". Go to Appearance, then Themes, and activate it. Run your test, then activate your own theme again. Visitors see the default theme while it is active.
wp theme activate theme-folder-nameIf you cannot reach the dashboard
A conflict that stops PHP takes the dashboard down with the site. WordPress may have emailed you a recovery link: the white screen of death page explains how to use it. Otherwise, switch the plugins off from outside.
Step 1: Rename the plugins folder
In your host's file manager or over SFTP, open
wp-contentand renamepluginstoplugins.hold. WordPress can no longer find any plugin.Step 2: Log in and open the Plugins screen
WordPress reports the plugins as missing and records them all as deactivated.
Step 3: Rename the folder back
The plugins return, switched off, with their settings kept. Now activate them in halves as above.
With WP-CLI, one command does it. The two extra options stop WP-CLI from loading the broken code, which would stop the command as well:
wp plugin deactivate --all --skip-plugins --skip-themesRead the debug log
A log can name the plugin before the search does. Add these lines to wp-config.php, above the line that says to stop editing, replacing any WP_DEBUG line already there. They write errors to a file and keep them off the page.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Run your test, then open wp-content/debug.log. Look at the newest lines. Each error names the file it happened in, and a path through wp-content/plugins/ followed by a folder name points at that plugin. If one error names two plugins, those are likely your pair.
WordPress's own advice is not to leave debugging on a live site. When you have read the log, set WP_DEBUG back to false, remove the other two lines and delete debug.log.
A clash between two scripts in the browser leaves nothing in that log. Open your browser's developer tools (F12 or Ctrl+Shift+I on Windows, Cmd+Option+I on a Mac), choose the console, and reload the page. Errors listed there carry the address of the script they came from, and that address holds the plugin's folder name.
What to do about the plugin you found
- Update both sides. The author may have fixed it already. Update the plugin and whatever it clashes with, then test.
- Go back a version. If the fault began with an update, the previous version worked. How to safely update WordPress shows how to install it again.
- Keep one plugin for each job. Two caching plugins, two SEO plugins or two security plugins on one site do the same work twice and can get in each other's way. Choose one and remove the other.
- Turn off the one feature. Sometimes the clash comes from a single option in one plugin. Check both plugins' documentation for the other's name. Switching that option off can end the fault and keep both plugins.
- Replace it. If the author is not maintaining the plugin, find another that does the job.
If you would rather hand the search over, our one-time fix begins with a free diagnosis that gives you the cause in writing.
Report it to the author
A report is how the fault gets fixed for good. For a free plugin, use the support forum on its WordPress.org listing. For a paid plugin, use the seller's own support: WordPress.org's forums do not cover commercial products.
Include:
- What you did, what happened, and what should have happened.
- The names and version numbers of both plugins, or of the plugin and the theme.
- The error line from the debug log or the browser console.
- Your WordPress and PHP versions. Go to Tools, then Site Health, then Info: the screen can copy all of the site's details to the clipboard. Read what you paste before you post it.
Never post a password. The forum's rules do not allow anyone to ask for your login there.
Common questions
Will I lose a plugin's settings by deactivating it?
No. Deactivating a plugin, or renaming the plugins folder, leaves its settings in the database. Deleting a plugin is different: some plugins remove their data when deleted.
The fault is still there with every plugin off and a default theme. What now?
Then it is not a conflict between your plugins. Look at what is still running. Must-use plugins sit in wp-content/mu-plugins, are always on, and appear in their own section of the Plugins screen. They cannot be switched off from the dashboard: to test without one, move its file out of that folder for a moment. If that folder is empty or missing, ask your host's support to look at the server's own setup.
The fault shows for visitors but not for me. Why?
You may be seeing a fresh page while visitors get a saved one from a cache. Empty the cache and test in a private window. If visitors still see something different, start the search with your caching or optimization plugin.
Both plugins are ones I need. What then?
Report the clash to both authors, since either may be able to fix it. Until one does, look for a setting that avoids the clash, or keep the plugin that matters more and replace the other.
- Error fix"Alternate page with proper canonical tag" in Search Console: what it means on a WordPress site
- Error fix"Blocked by robots.txt" in Search Console: when it is fine, and how to find the rule on WordPress
- Error fix"Blocked due to other 4xx issue" in Search Console: what it means on WordPress and what to do
- Error fix"Crawled - currently not indexed" on a WordPress site: what to leave and what to check
- Error fixHow to fix WooCommerce payment gateway errors
- Error fixHow to fix WordPress when it keeps logging you out

