Skill Details
Runtime
Any model
Example user message
[userMessage]: ACTIVE PLUGINS: WooCommerce, WooCommerce Stripe Gateway, Elementor, Elementor Pro, WP Rocket, Yoast SEO, Wordfence, Contact Form 7, Advanced Custom Fields, MonsterInsights, WP Mail SMTP, Smush, UpdraftPlus, WP-Optimize (16 total) SYMPTOM: Checkout button does nothing when clicked — no error page, no redirect, just unresponsive. Started this morning after WP Rocket auto-updated overnight. Worked fine yesterday. EVIDENCE: debug.log — nothing new in the last 24 hours, no PHP notices/warnings. Browser console (Chrome DevTools, checkout page): Uncaught TypeError: $ is not defined at checkout.min.js:1:4021 at HTMLDocument.<anonymous> (checkout.min.js:1:4198)
Example agent response
1. EVIDENCE READ
Debug.log shows nothing — this rules out a PHP-side fatal or notice as the cause. The console error $ is not defined thrown from checkout.min.js is the load-bearing evidence: it means jQuery was not available when WooCommerce's checkout script executed. This matches the conflict pattern table entry "jQuery-dependency breakage after an optimizer defers/merges scripts" — confidence: Medium-High (pattern match, unconfirmed). WP Rocket updating overnight, right before the symptom started, is timing corroboration, not proof.
2. CHANNEL
JS-side. Clean PHP log + a browser-only console error is the textbook JS-side signature. All testing in the plan below watches the browser console, not debug.log.
3. ISOLATION PLAN
Prime suspect (WP Rocket) and its known partner pattern go in test half 1. 16 plugins → ⌈log₂16⌉ = 4 steps.
Step 1 — Staging gate: if staging exists, reproduce there first. If production-only, schedule a low-traffic window, enable maintenance mode for the toggle only (seconds), and keep this rollback line ready: reactivate WP Rocket immediately if checkout is worse, not better.
Step 2 — Deactivate WP Rocket only. Reload checkout, hard-refresh (cache-bust), reopen console.
Console error gone, checkout works → WP Rocket confirmed, skip to Step 4 (pair check optional).
Console error persists → WP Rocket is not the sole cause; reactivate it, proceed to Step 3.
Step 3 — Deactivate the other JS-heavy candidates as a group (Elementor, Elementor Pro, MonsterInsights) — these are the next most likely script-defer interactions. Reload, check console.
Error gone → halve this group (Elementor/Elementor Pro vs MonsterInsights) — 1 more toggle isolates it.
Error persists with WP Rocket + this group both off → widen to theme JS enqueue; this is now outside the standard plugin-conflict pattern table, flag to [VERIFY].
Step 4 (pair-conflict check) — If Step 2 confirmed WP Rocket alone, re-enable it and disable only its "Delay JavaScript Execution" / "Load JavaScript deferred" setting (WP Rocket-specific option — behavior unconfirmed on your version, [VERIFY on your stack]) instead of the whole plugin, to isolate whether it's the optimizer generally or that one setting.
4. VERDICT CARD (pending buyer's Step 2 result — pre-filled for the confirmed branch)
Culprit: WP Rocket (JS defer/delay feature), pattern-match confirmed by Step 2 result
Evidence: Console $ is not defined in checkout.min.js; error cleared on WP Rocket deactivation
Channel: JS-side
Reproduction condition: Checkout page, WP Rocket's script-delay/defer setting active
5. FIX LADDER + PREVENTION
Configuration first: In WP Rocket → File Optimization, add checkout.min.js and any WooCommerce checkout scripts to the "Excluded JavaScript Files" list for delay/defer. Retest.
Replacement candidates: none offered — this is a settings conflict, not a plugin-quality issue; no replacement needed.
Version pin + report: if exclusion doesn't resolve it, pin WP Rocket to the pre-update version and file a bug report — draft below, evidence pre-pasted.
Bug report draft:
Plugin: WP Rocket
Symptom: Checkout button unresponsive after JS delay/defer enabled
Console error: Uncaught TypeError: $ is not defined at checkout.min.js:1:4021
Reproduction: Enable "Delay JavaScript Execution", load WooCommerce checkout
Expected: jQuery available before checkout.min.js executes
Environment: [fill: WP version, WooCommerce version, WP Rocket version]
Prevention: staging-first update habit for optimizer plugins specifically — they are the highest-frequency source of this exact failure class. Update-one-observe rule: update WP Rocket alone, check checkout before updating anything else that day.
6. [VERIFY] LIST
Whether WP Rocket's "Delay JavaScript Execution" is the specific sub-feature responsible, vs. general script deferral — confirm with Step 4
Behavior of this WP Rocket version's exclusion list syntax — check WP Rocket's own docs for your installed version
Whether host-level page cache is also caching a pre-fix checkout.min.js load order — purge host cache after applying the fix
By purchasing this skill, you agree to our terms of service
Site broke after a plugin update and you're staring at 20+ active plugins? This isn't "disable them one at a time." It reads your debug.log and console errors first, classifies the conflict as JS-side or PHP-side, then plans the minimum binary-search sequence to isolate the culprit — or pair — with a branch for every step. Every verdict is evidence-quoted or labeled "pattern match, unconfirmed." No invented hook names, no guessed plugin behavior.
...more
Added 12 hours ago
