गाइड · वर्डप्रेस

WordPress Plugin Conflict Troubleshooting: A Safe Step-by-Step Method

Find the plugin or theme breaking your WordPress site: safe testing on staging, binary search, WP-CLI commands, renaming folders when locked out, and debug logs.

लेखक: SiteDownCheck संपादकीय टीम · अपडेट: अक्टूबर 5, 2026 · 8 मिनट पढ़ने में

A plugin conflict is when two pieces of WordPress code interfere with each other: two plugins hooking the same filter, a plugin and a theme loading different versions of the same library, or a plugin that depends on a function another plugin removed. The symptoms range from a broken layout or a button that does nothing to a white screen, a 500 error or a locked-out admin.

The method below is the same whatever the symptom: reproduce it, isolate it, identify the culprit, then decide whether to update, replace or fix. Do it in a way that does not take a live site offline.

Before you start: protect the live site

  • Take a backup of files and database. With WP-CLI: wp db export backup-$(date +%F).sql.
  • Prefer a staging copy. Most hosts offer one-click staging. A copy lets you disable plugins freely with no visitors affected. If you do not have staging, test at a quiet time, and keep maintenance windows short. If you use a monitor, schedule a maintenance window so the test does not trigger false alarms; see how to reduce false alerts.
  • Write down the active plugins so you can restore the state: wp plugin list --status=active --format=csv > active-plugins.csv.
  • Note exactly what is wrong and where: URL, role (visitor or admin), browser, the exact error text. A reproducible symptom is the only way to know when you have fixed it.

Step 1: Look for the obvious cause

Many conflicts are explained by what changed recently.

  • What changed? A plugin, theme or core update, a new plugin, a PHP version change, or an edit to functions.php. The cause is usually the most recent change. WordPress keeps no change log by default, but your host panel, backup timestamps, and wp plugin list --fields=name,version,update can help. File modification times show recent updates: find wp-content/plugins -maxdepth 2 -type f -mtime -3 | head.
  • Check the browser console. On the broken page, open developer tools. A JavaScript error such as Uncaught TypeError: jQuery(...).something is not a function points to a script conflict (often two versions of jQuery or a plugin loading its own copy). The file path in the error includes the plugin folder name.
  • Check the error log. Enable debug logging in wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Reload the broken page and read wp-content/debug.log. A fatal error names the file and line, which often names the plugin outright. See white screen of death for reading these.

  • Check the status code. The HTTP स्टेटस चेकर tells you whether the server returns an error or a normal page; a 500 means PHP failed, while a 200 with a broken layout points to front-end code.

Step 2: The safe method inside the dashboard

If you can log in, use these in order of risk (lowest first).

  1. Update first. Many conflicts are fixed by updating the plugins involved. Update the plugin the error names, then WordPress core, then the rest, testing between updates.
  2. Use Health Check and Troubleshooting mode. The official Health Check and Troubleshooting plugin has a Troubleshooting Mode that disables all plugins and switches to a default theme only for your own session. Visitors still see the normal site. You can then enable plugins one by one and see when the problem appears. This is the safest live-site approach, as long as the plugin itself loads without error.
  3. Deactivate everything, then reactivate. On staging or in quiet hours: deactivate all plugins, test, and if the problem disappears, reactivate one at a time, testing after each.
  4. Switch themes. Activate a default theme such as Twenty Twenty-Four on staging. If the problem disappears, the theme (or a plugin that conflicts with it) is involved.

Step 3: Use a binary search to go faster

With 30 active plugins, one at a time takes 30 rounds. A binary search takes about 5:

  1. Deactivate half the plugins (15). Test.
  2. If the problem is gone, the culprit is in the half you deactivated. If it remains, it is in the half still active.
  3. Take the suspect half, split it in two, and repeat until one plugin remains.

If the problem needs two plugins together, the binary search can mislead: it disappears when either one is off. When the search gives inconsistent answers, test pairs. Keep the culprit plus one candidate at a time and add others.

Also check for a conflict between a plugin and the theme, or with a PHP version, rather than with another plugin. A reproduced problem with a default theme and only one plugin active points to that plugin and your PHP or WordPress version.

Step 4: WP-CLI (works even if the admin is broken)

WP-CLI is the fastest way to test in bulk, and it works when you cannot open the dashboard. It needs SSH access.

# list active plugins
wp plugin list --status=active

# deactivate everything, remembering the list
wp plugin list --status=active --field=name > /tmp/active.txt
wp plugin deactivate --all

# reactivate one at a time
wp plugin activate woocommerce
wp plugin activate another-plugin

# restore everything afterwards
xargs wp plugin activate < /tmp/active.txt

If WP-CLI itself crashes because a broken plugin triggers a fatal error on load, skip loading plugins and the theme:

wp plugin deactivate bad-plugin --skip-plugins --skip-themes
wp theme activate twentytwentyfour --skip-plugins --skip-themes

The --skip-plugins=slug form can also skip just one plugin while the rest still load. After a change, flush caches with wp cache flush and clear any page cache.

Step 5: When you cannot log in at all (rename the folders)

If a fatal error blocks /wp-admin/, disable plugins from the file system. Use SFTP, the host's file manager or SSH.

  • Disable all plugins at once: rename the folder wp-content/plugins to wp-content/plugins.off. WordPress cannot find any plugin, deactivates them all, and the dashboard loads. Rename it back to plugins, and the plugins appear in the list, deactivated. Then activate them one by one.
  • Disable one plugin: rename its folder, for example wp-content/plugins/bad-plugin to bad-plugin.off.
  • Disable the theme: rename the active theme's folder in wp-content/themes. WordPress falls back to a default theme if one is installed.
  • Must-use plugins live in wp-content/mu-plugins and cannot be deactivated from the dashboard. Rename that folder to test them. The same goes for the drop-in files wp-content/object-cache.php, advanced-cache.php and db.php, which caching and database plugins create, and which can cause a fatal error even with all normal plugins off.

From SSH:

cd /var/www/html/wp-content
mv plugins plugins.off && mkdir plugins
# test the site, then restore
rmdir plugins && mv plugins.off plugins

Creating an empty plugins directory keeps WordPress from complaining about a missing folder while you test.

If you cannot even get to a working state after that, look beyond plugins: the issue could be core files, wp-config.php, .htaccess or the server. See fix 500 internal server error and the database connection error guide.

Step 6: Decide what to do about the culprit

Once you know which plugin (or pair) it is:

  • Update it, if a fix has been released. Read the changelog and the support forum for known conflicts.
  • Roll back to the previous version temporarily: wp plugin install plugin-slug --version=1.2.3 --force. Only do this for a short period, as older versions may be insecure.
  • Report it to the plugin author with a clear reproduction: WordPress version, PHP version, plugin versions, exact error from the debug log, and steps. Maintainers fix problems faster when they can reproduce them.
  • Replace it with a better-maintained alternative if the plugin is abandoned.
  • Adjust load order or scope in rare cases: some conflicts disappear when a script is dequeued on pages that do not need it, using wp_dequeue_script in a small snippet. Keep customizations in a child theme or a small custom plugin so that updates do not remove them.
  • Check PHP version compatibility. Plugins break on PHP upgrades when they use removed features; see the PHP section in the white screen guide.

Step 7: Prevent the next one

  • Update on a schedule, with a staging site for major changes.
  • Keep the plugin count sensible, and avoid two plugins that do the same job (two caching plugins, two SEO plugins, two security plugins).
  • Back up before updates, and keep the previous plugin zip files so you can roll back.
  • Prefer plugins that are actively maintained, tested with your WordPress version, and support your PHP version.
  • Put the site under an uptime monitor with a keyword check, so a bad update that breaks a page is noticed fast. Time of failure in the monitor log helps you match it to an update; the Outage Root Cause Finder can help narrow whether it was the application or the infrastructure.

अगले कदम

सामान्य प्रश्न

Can I test plugin conflicts on a live site without visitors noticing?

Yes, with the Health Check and Troubleshooting plugin, which disables plugins only for your own session. Without it, deactivating a plugin affects everyone, so use staging whenever possible.

Why does deactivating one plugin not fix it?

The problem may need two plugins together, involve the theme, or be caused by a cache, a must-use plugin or a drop-in such as object-cache.php. Test with all plugins off and a default theme, then add things back one at a time.

Will deactivating a plugin delete its settings?

No. Deactivation keeps settings and data. Deleting a plugin may remove its data, depending on how it is written, so deactivate rather than delete while you troubleshoot.

What if I cannot access wp-admin or SSH?

Use the host's file manager or SFTP to rename the wp-content/plugins folder. Most hosts provide one of these, plus a recovery option in the control panel.

How do I know the problem is the PHP version and not a plugin?

If the debug log shows errors about removed functions or syntax errors right after a PHP upgrade, switch the PHP version back temporarily to check. If the problem disappears, update or replace the plugin that does not support the newer version.

Get notified when this guide updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.