The Doodla WooCommerce site experienced persistent 502/504 gateway errors and general slowness traced to server overload from excessive background processes (WordPress cron jobs). Troubleshooting was conducted by Mark Hope in coordination with WP Engine support during November 2025.
Related client: [1]
The primary culprit was WordPress cron job overload — a large number of background scheduled tasks running concurrently and exhausting server resources. Contributing factors included:
A secondary contributing issue was Cloudflare Turnstile, which was blocking customers from completing checkout — resolved separately (see below).
Cloudflare Turnstile was preventing order completion. It was removed and replaced with the WooCommerce reCAPTCHA v3 plugin, which runs silently in the background and only challenges users it suspects are bots — invisible to legitimate customers.
The WordPress cron job list was exported, converted to PDF, and submitted to Claude for analysis. Claude identified WP Rocket's Remove Unused CSS Queue Runner as the most likely performance bottleneck and recommended:
- Disabling the Remove Unused CSS feature in WP Rocket settings
- Investigating the Action Scheduler queue for stale or runaway jobs
- Replacing WP-Cron with a real server-side cron job for more reliable scheduling
Non-essential or conflicting plugins were deactivated to reduce background load:
- Imagify — redundant with Smush; deactivated
- WooCommerce HubSpot Sync — deactivated (HubSpot email sends don't require a live site connection)
- Additional low-priority plugins reviewed for deactivation
WP Engine was engaged and placed a performance tracer on the site to capture server-level diagnostics during error events.
| Decision | Rationale |
|---|---|
| Replace Turnstile with WooCommerce V3 Captcha | Turnstile was blocking legitimate orders; V3 is invisible to real users |
| Deactivate Imagify | Redundant with Smush; two image optimizers conflict and add cron load |
| Deactivate WooCommerce HubSpot Sync | Polling every 5 minutes added unnecessary server load; HubSpot email sends don't require live site sync |
| Keep main HubSpot plugin active | Newsletter signup forms depend on it for subscriber capture |
| Keep Klaviyo active | Actively used for email marketing |
This case illustrates a common WordPress performance pattern:
Accumulated plugins each add background scheduled tasks. Under sufficient load, these cron jobs compete for server resources simultaneously, causing gateway timeouts — even when no single plugin appears problematic in isolation.
Diagnostic approach that worked well:
1. Export the WP cron job list (via a cron management plugin)
2. Use an LLM to analyze the job list and identify high-frequency or high-cost processes
3. Cross-reference with active plugins and disable redundant or non-essential ones
4. Engage hosting support (WP Engine) for server-level tracing in parallel
See also: [2] (if created)