Features
What SmartFix actually does.
No vague “AI-powered compatibility checking.” Here's exactly what the scanner extracts, how it detects conflicts, and what you get in the results.
Hook priority collisions
WordPress executes hooks in priority order. When two plugins register the same hook at the same priority, execution order is undefined by PHP's internal array handling. On most setups it works by coincidence. On some, it doesn't.
SmartFix tracks 11 critical hooks where conflicts cause visible breakage: the_content, wp_head, wp_enqueue_scripts, init, and 7 more. Conflicts on critical hooks get severity 7+.
Example output
Critical (9/10): Both woocommerce and custom-checkout-fields hook woocommerce_checkout_process at priority 10.
// What SmartFix extracts from plugin-a:
add_action('the_content',
'plugin_a_modify_content', 10);
// And from plugin-b:
add_action('the_content',
'plugin_b_transform', 10);
// Same hook, same priority = collision
// SmartFix flags this with severity 7
// (the_content is a critical hook)
// Fix: change one to priority 20
add_action('the_content',
'plugin_b_transform', 20);
Duplicate asset detection
Many WordPress plugins bundle their own copies of popular libraries instead of using the WordPress-registered version. Two copies of jQuery UI on the same page is 80KB of wasted bandwidth and a guaranteed JavaScript conflict.
SmartFix fingerprints 13 commonly-duplicated libraries by filename pattern: jQuery, Bootstrap, Font Awesome, Select2, SweetAlert, DataTables, Moment.js, Lodash, Slick, Swiper, Magnific Popup, Owl Carousel, and Chosen.
Common offenders
Select2 is duplicated on 23% of WooCommerce sites. Font Awesome loads 2-3 times on sites with Elementor + a theme + an icon plugin.
// Plugin A enqueues Select2
wp_enqueue_script(
'wc-enhanced-select',
'.../woocommerce/assets/js/select2.min.js'
);
// Plugin B also enqueues Select2
wp_enqueue_script(
'cf7-select2',
'.../contact-form-7/assets/select2.min.js'
);
// Different handles, same library
// SmartFix detects by filename pattern
// Fix: dequeue the duplicate
wp_dequeue_script('cf7-select2');
Post type & REST collisions
When two plugins register the same custom post type slug, WordPress silently uses the first one and ignores the second. The second plugin's admin UI, templates, and queries all break with no error message.
REST route collisions are similar — two plugins claiming the same API endpoint. SmartFix extracts every register_post_type() and register_rest_route() call and flags duplicates.
// Both plugins register 'portfolio'
// plugin-a/includes/cpt.php:
register_post_type('portfolio', [
'label' => 'Projects',
'public' => true,
]);
// plugin-b/classes/portfolio.php:
register_post_type('portfolio', [
'label' => 'Portfolio',
'public' => true,
]);
// Second registration silently ignored
// Severity: 8/10 (data loss risk)
AI pattern analysis
Not everything is a clean same-priority collision. Some conflicts are subtle: two plugins both filtering the_content at different priorities but one strips the shortcodes the other added. Or both plugins registering cron jobs that compete for the same resource.
SmartFix sends a structured summary of critical hooks to an AI model that understands WordPress internals. It only flags conflicts it has high confidence about — no hallucinated issues.
What gets sent to AI
Only hook names, priorities, and callback names from critical hooks. No source code, no user data, no file contents. Typically under 2KB per scan.
// Data sent to AI model (summarized)
woocommerce (8.3.1):
action:init@10, filter:the_content@10,
action:wp_enqueue_scripts@10,
action:woocommerce_checkout@10
jetpack (13.1):
filter:the_content@99,
action:wp_head@1,
action:template_redirect@1
elementor (3.19):
filter:the_content@10,
action:wp_enqueue_scripts@10
// AI response: structured JSON
// Only high-confidence conflicts
Native WordPress admin UI
Results appear directly in your WordPress admin panel. No separate dashboard to log into. Conflicts are sorted by severity, color-coded, and each one includes the specific hook name, both plugin slugs, and a plain-English fix.
- One-click scan from the SmartFix menu page
- Severity badges: Critical, High, Medium, Low
- Dismiss button for false positives
- Risk badges on the Plugins page for conflicting plugins
- Scan summary sidebar with stats and timing
See it for yourself.
Install, scan, done. Under 10 seconds to see every conflict on your site.
Install from WordPress.org