wiki/knowledge/wordpress/doodla-website-performance-cron-jobs.md Layer 2 article 722 words Updated: 2026-04-05
↓ MD ↓ PDF
wordpress woocommerce performance cron-jobs wp-engine doodla

Doodla Website Performance — Cron Job Overload

Overview

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]


Symptoms


Root Cause

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).


Troubleshooting Steps Taken

1. Replaced Cloudflare Turnstile with WooCommerce V3 Captcha

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.

2. AI-Assisted Cron Job Analysis

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

3. Plugin Deactivation

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

4. WP Engine Tracer

WP Engine was engaged and placed a performance tracer on the site to capture server-level diagnostics during error events.


Open Items (at time of meeting)


Key Decisions

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

Generalizable Lessons

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)