Free & open source WordPress plugin
Find plugin conflicts
before they find you.
SmartFix scans your active plugins for hook collisions, duplicate assets, and competing registrations. One click, real results, specific fixes. No more deactivating plugins one-by-one.
woocommerce↔custom-checkout-fieldson woocommerce_checkout_processBoth plugins hook “woocommerce_checkout_process” at priority 10. Checkout validation may fail silently.
Fix: Change custom-checkout-fields priority to 20 in its settings, or add remove_action('woocommerce_checkout_process', ...) and re-add at priority 20.
elementor↔contact-form-7Both plugins load “Select2” separately, adding 32KB of redundant JavaScript.
yoast-seo↔rankmathon wp_headBoth SEO plugins inject meta tags via wp_head. Duplicate meta tags may confuse search engines.
The problem
Plugin conflicts are silent and expensive.
The average WordPress site runs 20+ plugins. When two plugins hook into the_content at the same priority, or both enqueue their own copy of jQuery UI, things break in ways that are hard to trace.
The standard fix? Deactivate plugins one-by-one until the problem disappears. On a site with 30 plugins, that's 30 rounds of deactivate-reload-test. On a production site, that's downtime.
# The old way: manual bisect debugging
$ wp plugin deactivate contact-form-7
// reload... still broken
$ wp plugin activate contact-form-7
$ wp plugin deactivate elementor
// reload... still broken
$ wp plugin activate elementor
$ wp plugin deactivate woocommerce
// reload... it works!
// but which plugin conflicts with woo?
$ wp plugin activate woocommerce
$ # ... repeat for 28 more plugins
The solution
Scan once. See everything.
SmartFix reads every PHP file in your active plugins, extracts hook registrations, enqueued assets, post type registrations, and REST routes. Then it cross-references everything to find actual conflicts.
No guessing. No bisect debugging. You get a list of specific conflicts with severity scores and code-level fix instructions. The whole scan takes under 10 seconds.
// SmartFix scan result (3.2 seconds)
{
"plugin_count": 24,
"conflict_count": 3,
"conflicts": [{
"plugin_a": "woocommerce",
"plugin_b": "custom-checkout",
"hook": "woocommerce_checkout_process",
"severity": 9,
"suggested_fix": "Change priority to 20"
}]
}
How it works
SmartFix combines static code analysis with AI pattern matching. Here's what happens when you click “Run Scan.”
Scan plugin files
Reads all PHP files from active plugins (max 2 levels deep). Extracts add_action, add_filter, wp_enqueue_script, register_post_type, and register_rest_route calls via regex.
Rule-based detection
Cross-references all extracted data. Finds same-priority hooks, duplicate libraries (jQuery, Bootstrap, Select2, etc.), post type collisions, and REST route overlaps.
AI analysis
Ambiguous cases go to an AI model for deeper pattern matching. Catches output conflicts, resource competition, and subtle hook interactions that rules alone miss.
Results + fixes
Each conflict gets a severity score (1–10) and a specific fix recommendation. Critical issues surface first. Dismiss false positives so they don't come back.
What it catches
Six categories of conflict, each with its own detection method and severity scoring.
Hook priority collisions
Two plugins hooking the_content, wp_head, or init at the same priority. Execution order becomes undefined.
add_action('the_content', 'plugin_a_filter', 10);
add_action('the_content', 'plugin_b_filter', 10);Duplicate assets
Multiple plugins loading the same JS/CSS library. Detected for jQuery, Bootstrap, Select2, Font Awesome, and 9 more.
wp_enqueue_script('select2', '/plugin-a/select2.min.js');
wp_enqueue_script('cf7-select2', '/cf7/select2.min.js');Post type collisions
Two plugins registering the same custom post type. Only one registration takes effect.
register_post_type('portfolio', $args_a);
register_post_type('portfolio', $args_b); // ignoredREST route overlaps
Identical REST API endpoints registered by different plugins. Responses become unpredictable.
register_rest_route('api/v1', '/settings', ...);
register_rest_route('api/v1', '/settings', ...);Output conflicts
Plugins competing to modify the same output — content filters, head injection, template redirects.
// Both modify the_content output // One strips shortcodes the other added
Known incompatibilities
Matches against a growing database of confirmed plugin conflicts, crowd-sourced from real sites.
// Known: plugin-x v3.2+ breaks // with plugin-y when both active
Under the hood
What the scanner actually does
No magic. SmartFix reads PHP source files, runs regex extraction, and cross-references the results. Here's the actual extraction pattern for hooks:
Hook extraction regex
// From class-scanner.php
// Matches add_action and add_filter calls
$pattern = '/add_(action|filter)\s*\(\s*
[\'"]([a-zA-Z0-9_]+)[\'"]\s*,
\s*(?:[\'"]([a-zA-Z0-9_]+)[\'"]
|array\s*\([^)]*,\s*[\'"]
([a-zA-Z0-9_]+)[\'"])
\s*(?:,\s*(\d+))?/m';
Conflict detection logic
// Rule: same hook + same priority = conflict
// Critical hooks get severity 7+
const criticalHooks = [
'the_content', 'wp_head',
'wp_footer', 'wp_enqueue_scripts',
'init', 'template_redirect',
'rest_api_init'
];
Library fingerprinting
// Detects 13 common libraries by filename
const patterns = [
[/jquery[-.]?[\d.]*\.min\.js/, 'jQuery'],
[/bootstrap[-.]?[\d.]*/, 'Bootstrap'],
[/select2/, 'Select2'],
[/font-?awesome/, 'Font Awesome'],
[/datatables/, 'DataTables'],
[/sweetalert/, 'SweetAlert'],
[/moment[-.]?[\d.]*/, 'Moment.js'],
// ... 6 more
];
Scan output format
// Sent to analysis backend
{
"plugins": [{
"slug": "woocommerce",
"hooks": [{ "hook": "init", "priority": 10 }],
"assets": [{ "handle": "select2" }],
"post_types": ["product"],
"rest_routes": ["wc/v3/orders"]
}],
"wp_version": "6.7",
"error_log": "...last 20 plugin-related errors..."
}
Free to use. Seriously.
The core scanner is free and open source. Pro adds scan history, multi-site management, and priority support.
Free
$0
forever
- Unlimited scans
- Hook priority detection
- Duplicate asset detection
- Post type & REST collisions
- AI-powered analysis
- Fix recommendations
- Dismiss false positives
Pro
$49/yr
per site
- Everything in Free
- Scan history & trends
- Multi-site dashboard
- Email alerts on new conflicts
- Known conflict database updates
- Priority support
- White-label reports
Built for the people who fix things.
“I manage 40+ client sites. Before SmartFix, a plugin conflict meant an hour of bisect debugging. Now I scan in 10 seconds and know exactly what's clashing.”
Agency developer
WordPress agency
“The severity scores are genuinely useful. I can tell clients 'this is critical, fix today' vs 'this is cosmetic, fix when convenient' — backed by actual data.”
Freelance developer
WooCommerce specialist
“Finally, a conflict tool that shows me the hook name and priority number instead of just saying 'these two plugins might conflict.' Specific beats vague.”
Site administrator
Enterprise WordPress
Early beta feedback from testers. Real testimonials with names coming soon.
Stop guessing. Start scanning.
Install SmartFix, click “Run Scan,” and see every conflict on your site in under 10 seconds. Free. No account required.