BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
Tahhan Conflict Detective icon
Actively maintained Tested up to 7.0.6 #3 in conflict

Tahhan Conflict Detective

Automatically detects which plugin, theme, or update broke your WordPress site — without manual trial and error.

Active installs<10New
Downloads · 30d134▲ +12.6% vs prev. 30d
Rating—0 reviews
Health score59/100Fair
All-time downloads516Since Jun 2026
Support resolved—No recent threads
RequiresWP 5.8PHP 7.4+
Downloads · 7d33▲ +10% week over week
Our verdict

Use with caution

Tahhan Conflict Detective works, but test it on a staging site before relying on it in 2026. Was last updated 2 weeks ago, and scores 59/100 on our health check.

  • Actively developed — last update 2 weeks ago
  • Small user base (<10 active installs)
  • Very few reviews so far

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

71523Jul 1Aug 14Sep 28
Yesterday0
Daily average (1y)5
Peak day45Jun 11, 2026
Last 12 months517

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where Tahhan Conflict Detective stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
conflict >100 6,232 Best conflict plugins →
debug >100 4,068 Best debug plugins →
errors >100 10,000 Best errors plugins →
health >100 2,447 Best health plugins →
plugins >100 10,000 Best plugins plugins →

About Tahhan Conflict Detective

From the official readme · v2.6.5

Description

“Which plugin just broke my site?” — answered automatically.

Existing tools show you that an error occurred. Conflict Detective tells you which plugin caused it by correlating the plugin change timeline with the error log — and gives you a confidence score.

Features

Dashboard
Live overview of your WordPress/PHP version, active plugins, active theme, memory limit, debug mode, recent changes, and latest errors — all on one screen.

Error Log Viewer
Reads debug.log and the server PHP error log automatically. Each entry is attributed to the plugin that owns the file where the error occurred. Filter by Fatal / Warning / Notice / Deprecated.

Change History
Full audit trail of every plugin activation, deactivation, update, and deletion — with exact timestamps and version diffs (e.g. 8.3.0 → 8.4.0).

Health Scan
On-demand scan that detects:

  • Duplicate plugin functionality (multiple SEO, caching, security, or backup plugins)
  • Known incompatibilities between specific plugin pairs
  • Outdated plugins (not updated in more than 2 years)
  • Missing theme files or a missing parent theme
  • PHP version, memory limit, and max_execution_time misconfigurations
  • Pending WordPress core updates

Conflict Scanner
Automatically correlates plugin update timestamps with error spikes and reports a suspect plugin with a confidence percentage. Detected conflicts are stored in the database and can be marked as resolved with one click.

Safe Testing Mode
Disable any plugin for your own admin session while visitors remain completely unaffected. Cookie-isolated — the live site is never touched.

Conflict Wizard
Step-by-step guided diagnosis. Choose your symptom (white screen, login problem, WooCommerce issue, slow site, broken admin, front-end error, or other) and the wizard automatically analyses recent changes and errors to produce a tailored action plan.

Performance Monitor (new in 2.6.0)
Tracks the estimated load time, memory delta, and database query count for every active plugin during the current page load. Results are color-coded as Fast / Slow / Heavy and refreshed on demand.

Cron Monitor (new in 2.6.0)
Lists all scheduled WordPress Cron events with their next run time and interval. Overdue events are highlighted in red. Each event can be triggered manually via a “Run Now” button — validated against the live WP-Cron schedule before execution.

AJAX / REST Monitor (new in 2.6.0)
Automatically logs slow AJAX and REST API calls (those taking more than 500 ms) to a dedicated database table. Filter by All / AJAX / REST / Slow to quickly identify bottleneck endpoints.

Plugin Interaction Map (new in 2.6.0)
Visualises your plugins grouped into known ecosystem clusters (WooCommerce, Elementor, Yoast SEO, Jetpack, ACF, Gravity Forms, and more). Highlights declared plugin dependencies and shows active/inactive state at a glance. Plugins that don’t belong to a known ecosystem are listed separately as Standalone Plugins.

Installation

  1. Upload the tahhan-conflict-detective folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Navigate to Conflict Detective in the WordPress admin sidebar.

No configuration is required. All scanning is done on demand inside the admin area — zero front-end overhead.

Frequently asked questions

Does this plugin slow down my site?

No. All analysis runs on demand inside the WordPress admin. There is zero front-end overhead.

What log files does it read?

wp-content/debug.log and the server PHP error_log path returned by ini_get('error_log').

Do I need to configure anything?

No. Optionally, enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to populate the error log.

Does Safe Testing Mode affect my visitors?

Never. Safe Testing Mode uses a session cookie that is only present for your admin session. Visitors always see the live site.

What happens if I install the plugin via FTP?

The plugin detects missing database tables on every request and recreates them automatically — no activation hook required.

Is this plugin compatible with Multisite?

The plugin monitors the current site only. It is not a network-wide tool in this version.

How does the Performance Monitor work?

Performance Monitor hooks into WordPress’s plugin_loaded action, which fires once for every plugin that loads. It records a snapshot of the PHP execution time, memory usage, and database query count immediately before and after each plugin loads, then computes the delta. The results are stored in a 5-minute transient and can be refreshed on demand. Because measurements happen at request time, values vary between requests — treat them as estimates rather than precise benchmarks.

Does the AJAX / REST Monitor log every request?

No. Only requests that take longer than 500 ms are written to the database. The log is automatically trimmed to the most recent 500 entries.

Can I manually trigger a WordPress Cron event?

Yes. Go to Conflict Detective → Cron Monitor and click the “Run Now” button next to any event. The plugin validates the hook name against the live WP-Cron schedule before execution so arbitrary code cannot be triggered via this interface.

What is the Plugin Interaction Map?

The Interaction Map groups your installed plugins into known ecosystem clusters (WooCommerce, Elementor, Yoast SEO, Jetpack, ACF, Gravity Forms, Contact Form 7, WPML, LearnDash, Divi, WP Rocket, and more). Plugins within the same ecosystem are more likely to interact and potentially conflict with each other. The map also reads the Requires Plugins header introduced in WordPress 6.5 to show explicit declared dependencies.

Changelog

Security and quality patch. Upgrade recommended for all users on 2.1.0.

2.6.5

  • Fix: Safe_Mode::ajax_toggle_plugin() — hardcoded ‘Forbidden’ string now translatable via __().
  • Fix: Dashboard::ajax_clear_log() — missing return after error response when log file does not exist.
  • Fix: Dashboard::ajax_clear_log() — missing return after error response when put_contents() fails.
  • Fix: Cron_Monitor::ajax_run_cron_event() — missing return after error response for unknown-hook validation; run_event() would execute despite the error already being sent.

2.6.4

  • Fix: cd_ajax_log.created_at schema now includes DEFAULT CURRENT_TIMESTAMP — prevents INSERT failure under MySQL strict mode.
  • Fix: cd_conflicts.changed_at schema changed to DEFAULT NULL — prevents INSERT failure if the column is omitted in strict mode.
  • Fix: drop_tables() now also deletes the tahcd_main_table_exists transient on uninstall — no orphaned wp_options row.
  • Fix: tables_exist() now checks both cd_plugin_changes (v1) and cd_ajax_log (v3) — a partial install is correctly detected.
  • Fix: Health_Scan::run() checks $wpdb->insert() return value and sets db_error flag in result on failure.
  • Fix: Health_Scan::run() scanned_at in the returned array now uses the same UTC timestamp stored in the database — was returning local time while the DB row held UTC.
  • Fix: scan_theme() guards get_site_transient('update_themes') with is_object() before property access.
  • Fix: scan_server() guards get_site_transient('update_core') with is_object() before property access.
  • Fix: Change_History::get_recent() returns an empty array on DB error instead of propagating null (which violated the declared array return type).
  • Fix: Change_History::on_update() option key for previous-version tracking now uses md5() instead of sanitize_key() — sanitize_key() strips / and ., causing path collisions between plugins with similar names.
  • Fix: Change_History::write() now returns bool so callers can check whether the DB insert succeeded.
  • Fix: Change_History::on_update() only advances the previous-version baseline (update_option) when the audit-log write actually succeeded.

2.6.3

  • Fix: get_site_transient('update_plugins') return value guarded with is_object() before property access — prevents PHP 8.x warning on fresh installs.
  • Fix: WP_Filesystem() return value checked before calling put_contents() — prevents fatal on FTP/SSH filesystem environments.
  • Fix: AJAX log timestamps stored as UTC (current_time('mysql', true)) instead of local WordPress time — fixes time-correlation bugs on non-UTC sites.
  • Fix: verify_token() result cached with a static variable — prevents a duplicate DB query per request when Safe Mode is active.
  • Fix: on_delete hook now correctly reads plugin data before deletion (fires on delete_plugin, not deleted_plugin).
  • Fix: read_plugin_data() validates path stays within WP_PLUGIN_DIR via realpath() — path-traversal hardening.
  • Fix: get_plugins() cached with a static variable in attribute_to_plugin() — eliminates N+1 calls when attributing log entries.
  • Fix: strtotime() return value validated in score_plugin() — avoids incorrect confidence scores from invalid timestamps.
  • Fix: usort comparator in Wizard timeline uses <=> instead of integer subtraction — prevents overflow on 32-bit PHP.
  • Fix: Plugin name in Wizard advice string escaped with esc_html() before interpolation.
  • Fix: str_replace('.php', …) in Interaction Map now only removes the trailing extension, not mid-name occurrences.
  • Fix: Missing return after wp_send_json_error() added to all AJAX capability-check guards.
  • Fix: Hard-coded ‘Forbidden’, ‘Invalid plugin.’, ‘Unknown plugin.’ strings now passed through __().
  • Fix: Cron Monitor display key access guarded with isset().
  • Fix: SHOW TABLES query in maybe_upgrade() cached with a 1-hour transient — eliminates a raw DB query on every page load.
  • Fix: Multisite uninstall now iterates all sub-sites via switch_to_blog() / restore_current_blog().
  • Fix: $ajax_start static property reset to null after logging to prevent duplicate entries.

2.6.2

  • Security: plugin path in Safe Mode now validated with plugin_basename() to prevent path traversal.
  • Security: AJAX monitor now reads from $_POST instead of $_REQUEST.
  • Fix: all early-exit AJAX error responses now include return for clarity.
  • Fix: filemtime() calls for CSS/JS assets now guarded with file_exists().
  • Fix: Change History table uses null-coalescing guards on DB result properties.
  • Fix: strtok() replaced with stateless explode() in Error Log file attribution.
  • Fix: Health Scan issue count now guards against non-array scan section returns.
  • Code: Wizard symptom labels moved to a symptoms() method so they are translatable.
  • Code: Hardcoded “Plugin:” label in Error Log Viewer is now translatable.

2.6.1

  • Updated: Tested up to WordPress 7.0.

2.6.0

  • New: Performance Monitor tab — tracks per-plugin load time, memory delta, and DB query count during page load; color-coded Fast / Slow / Heavy badges; Refresh Data button.
  • New: Cron Monitor tab — lists all scheduled WP-Cron events with next run time and overdue detection; “Run Now” button per event; overdue count summary badge at top.
  • New: AJAX / REST Monitor tab — logs slow AJAX and REST API calls (>500 ms) to a dedicated DB table; filter bar for All / AJAX / REST / Slow views.
  • New: Plugin Interaction Map tab — visualises plugin dependency clusters (WooCommerce, Elementor, Yoast, Jetpack, ACF, etc.) and standalone plugins with active/inactive state.
  • Security: cron “Run Now” AJAX handler now validates the hook against the live WP-Cron schedule before execution.
  • Security: AJAX monitor REST timing now reads from $_SERVER directly (was using non-standard $GLOBALS['_SERVER']).
  • Security: AJAX log get_entries() now selects only required columns instead of SELECT *.
  • DB: new {prefix}cd_ajax_log table (schema version 3).

Full changelog on WordPress.org →

Screenshots

Dashboard — live system overview: active plugins, stat cards, recent changes and the likely conflict culprit widget.
Dashboard — live system overview: active plugins, stat cards, recent changes and the…
Conflict Scanner — detected conflicts ranked by confidence score with one-click "Mark Resolved".
Conflict Scanner — detected conflicts ranked by confidence score with one-click "Mark…
Safe Testing Mode — amber active banner shows disabled-plugin count; toggle any plugin on/off for your session only.
Safe Testing Mode — amber active banner shows disabled-plugin count; toggle any plugin…
Conflict Wizard — step-by-step diagnosis selects your symptom and produces a tailored action plan.
Conflict Wizard — step-by-step diagnosis selects your symptom and produces a tailored…
Error Log Viewer — PHP errors parsed from debug.log and server error_log, attributed to the owning plugin with type filters.
Error Log Viewer — PHP errors parsed from debug.log and server error_log, attributed to…
Change History — full audit trail of every plugin activation, deactivation, update, installation and deletion with timestamps.
Change History — full audit trail of every plugin activation, deactivation, update…
Health Scan — on-demand scan for duplicate functionality, outdated plugins, incompatibilities and server configuration issues.
Health Scan — on-demand scan for duplicate functionality, outdated plugins…

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best Tahhan Conflict Detective alternatives

All conflict plugins →

FAQ

Tahhan Conflict Detective: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Sep 29, 2026

Is Tahhan Conflict Detective free?

Yes. Tahhan Conflict Detective is free to download and use from the official WordPress.org plugin directory.

Is Tahhan Conflict Detective safe to use in 2026?

Tahhan Conflict Detective works, but test it on a staging site before relying on it in 2026. Was last updated 2 weeks ago, and scores 59/100 on our health check.

How many websites use Tahhan Conflict Detective?

Tahhan Conflict Detective is active on <10 WordPress websites and has been downloaded 516 times since it launched in June 2026. It was downloaded 134 times in the last 30 days.

Does Tahhan Conflict Detective work with WordPress 7.1?

Tahhan Conflict Detective is officially tested up to WordPress 7.0.6, while the latest release is 7.1.2. It may still work, but try it on a staging site first.

What PHP version does Tahhan Conflict Detective need?

Tahhan Conflict Detective requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.

When was Tahhan Conflict Detective last updated?

The latest version, 2.6.5, was released on September 14, 2026 (2 weeks ago).

Who makes Tahhan Conflict Detective?

Tahhan Conflict Detective is developed and maintained by Mustafa tahhan.

What are the best alternatives to Tahhan Conflict Detective?

The most popular alternatives to Tahhan Conflict Detective are Block editor assets filter (10+ installs), Conflict Guard (<10 installs) and PreFlight Scanner (<10 installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.