Something broke on your WordPress site. A white screen. A function that stopped working. A checkout that no longer completes. You check your error logs — nothing useful. You ask your hosting support — they tell you to deactivate all your plugins.
So you start. Plugin by plugin. Testing after each one. Reactivating the ones that aren't the problem. On a site with 20 active plugins, this process takes between 45 minutes and two hours — and that's if you're lucky enough to find the conflict at all.
There is a much faster approach. And most WordPress admins don't know it exists.
Why "Deactivate All Plugins" Is Bad Advice
The classic debugging advice — deactivate everything, then reactivate one by one — has three fundamental problems:
- It's slow — 20 plugins, 20 tests. On a live site, you're taking things offline repeatedly for real users while you work through the list.
- It finds the wrong thing — you're looking for the plugin that, when deactivated, makes the problem go away. But many conflicts are between two plugins, not caused by one plugin alone. Deactivating either one fixes the symptom but doesn't tell you what's actually happening.
- It doesn't scale — if you manage multiple sites or regularly add plugins, you'll repeat this process forever. There is no learning, no audit trail, no pattern recognition.
Binary Search: The Faster Method
If you're doing this manually, the fastest approach is binary search rather than sequential deactivation. Instead of testing plugins one at a time:
- Deactivate half your plugins at once
- Test — does the problem persist?
- If yes: the conflict is in the active half. If no: it's in the deactivated half.
- Take the conflicting half, split it again, repeat
With 20 plugins, sequential testing requires up to 20 steps. Binary search requires at most 5. This is the same principle used in debugging algorithms — and it works just as well for WordPress plugin conflicts.
Binary search finds one conflicting plugin. If the conflict is between two specific plugins that must both be active to trigger the issue, the approach still works but requires a second pass. First pass identifies Group A as the problem. Second pass identifies the specific plugin within Group A.
Reading the Error Log
Most WordPress conflict investigations should start with the error log, not with plugin deactivation. The debug.log file in wp-content/ often contains a PHP fatal error or warning that points directly at the plugin causing the problem.
To enable debug logging, add these lines to wp-config.php:
define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);
Reload the page that's broken. Open wp-content/debug.log. Look for the most recent entries. The file path in the error trace will usually name the plugin directly.
Most admins skip this step and go straight to deactivating plugins. It's a mistake. The error log takes 30 seconds to check and frequently gives you the answer outright.
Health Checks Before You Have a Problem
The best time to understand your site's plugin landscape is before something breaks. A health check that runs on a schedule — not just when there's a crisis — gives you a baseline. When something does go wrong, you can compare against that baseline to spot what changed.
Useful things to track proactively:
- Fatal error count — has the error log grown suddenly?
- Outdated plugins — outdated plugins are a common conflict source, especially after a WordPress core update
- Memory usage — a plugin that's leaking memory will show up here before it causes a visible crash
- WP-Cron health — scheduled tasks that silently fail are a common cause of mysterious behavior
- Plugin activation history — when did each plugin get activated or updated? Correlating this timeline with when a problem started narrows the field immediately
Scheduled Health Reports
If you manage a site for someone else — or manage multiple sites — a scheduled email report that delivers a health summary once a week does something important: it creates accountability without requiring you to manually check.
The report should tell you: health score, active issues, error log size, outdated plugins, and any cron failures. Enough to know whether the site is stable, without being so detailed that you ignore it.
NaveenCodes Site Diagnostics
NaveenCodes Site Diagnostics is a free WordPress plugin that tracks this information automatically. It surfaces a health score in the wp-admin dashboard, logs plugin activation and deactivation events with timestamps (so you can correlate changes with problems), monitors memory and cron health, and sends a scheduled email report on a cadence you set.
The diagnostic language is written for admins, not developers. Instead of a raw PHP error trace, it gives you: what's wrong, why it matters, and what to do about it.
When something breaks, the activation timeline and error log give you a starting point that's much faster than deactivating plugins at random.
Know what's wrong before it bites.
Free on WordPress.org. Install, activate, and get a full health report immediately. Set up a weekly email so you never have to check manually.