# Lighthouse Performance Audit Audit of the 6 worst-performing sites from MainWP Lighthouse scores. Focused on simple infra/config fixes only — no PHP scripts, no plugins, nothing that can't be easily unpicked. --- ## Shared Infrastructure (all 6 sites) | Feature | Status | Action | |---------|--------|--------| | **Hosting** | kaburusvr (Hetzner), LiteSpeed, CyberPanel | — | | **CDN** | Cloudflare (all behind proxy) | ✅ Working | | **CF HTML Cache** | `CF-Cache-Status: DYNAMIC` on all sites | ❌ Cloudflare NOT caching HTML pages | | **FastPixel** | v1.7.0 on all sites, JS defer enabled | ✅ | | **Redis Object Cache** | Working on 4/6 sites, missing on 2 | ❌ Need to restore drop-in | | **Divi** | All 6 use Divi (4.27.6 or 5.7.4) | All have static CSS ON, dynamic module ON | | **Divi Minify/Combine** | OFF on ALL 6 sites | ❌ Easy toggle in Divi settings | | **LiteSpeed Cache plugin** | NOT installed on any site | — | | **PageSpeed Module** | Active on 3/6 sites (jafrica, friendscic, claybusters) | ❌ Missing on the other 3 | --- ## Site-by-Site ### l8.kaburu.co.uk — Mobile 0 / Desktop 0 **This is a scan failure, not a real score.** Site returns 200 OK, loads fine. The 0/0 means Lighthouse couldn't complete its run (likely timeout or blocking resource). | Issue | Fix | |-------|-----| | ❌ Redis object-cache.php missing | FastPixel drop-in not installed | | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule for WordPress HTML | | ❌ Divi Google Fonts Inline OFF | Toggle ON in Divi → Theme Options → Performance | | ❌ Divi Minify/Combine OFF | Toggle ON — scripts and styles | | ❌ No PageSpeed module | Enable in CyberPanel | | ❌ No LiteSpeed Cache plugin | Not needed if FastPixel handles caching | | ❌ Divi 4.27.6 (older) | Consider updating to match 5.7.4 sites | **Priority:** Fix Redis drop-in first, then PageSpeed module, then Divi toggles. --- ### longniddrybowlingclub.com — Mobile 12 / Desktop 45 **Worst genuine score.** All infra checks passing (Redis ✅, FastPixel ✅). Likely heavy images, unoptimised Divi content, and render-blocking resources. | Issue | Fix | |-------|-----| | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule for WordPress HTML | | ❌ No PageSpeed module | Enable in CyberPanel | | ❌ Divi Minify/Combine OFF | Toggle ON | | ❌ Divi 4.27.6 (older) | Consider updating | | ❌ DiviCommerce theme | May add extra CSS/JS bloat | **This site needs actual page analysis (what's loading, image sizes, render-blocking resources). The low score suggests large hero images or unoptimised third-party resources.** --- ### jafricasafari.com — Mobile 43 / Desktop 65 | Issue | Fix | |-------|-----| | ❌ Redis object-cache.php missing | FastPixel drop-in not installed | | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule | | ❌ Divi jQuery Body OFF | jQuery loading in head — toggle to body | | ❌ Divi Minify/Combine OFF | Toggle ON | | ✅ PageSpeed module | Active | | ✅ Divi Google Fonts Inline | ON | | ✅ Divi 5.7.4 | Current | **Priority:** Fix Redis drop-in, toggle jQuery Body, then Divi minify. --- ### womenunlimited.africa — Mobile 46 / Desktop 79 | Issue | Fix | |-------|-----| | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule | | ❌ No PageSpeed module | Enable in CyberPanel | | ❌ Divi Disable Emojis OFF | Toggle ON — stops WordPress emoji scripts | | ❌ Divi Defer Block CSS OFF | Toggle ON | | ❌ Divi Minify/Combine OFF | Toggle ON | | ⚠️ WooCommerce active | Session cookies may prevent caching | | ✅ Redis object cache | Working | **Priority:** Divi performance toggles (emojis, defer CSS, minify). --- ### friendscic.org — Mobile 54 / Desktop 62 | Issue | Fix | |-------|-----| | ❌ **Anti-cache headers** | Sends `cache-control: no-store, no-cache, must-revalidate` — disables ALL browser and proxy caching. Likely from WooCommerce session or a security plugin | | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule (but won't help if origin sends no-cache) | | ❌ Divi Disable Emojis OFF | Toggle ON | | ❌ Divi Minify/Combine OFF | Toggle ON | | ⚠️ WooCommerce active | May be source of no-cache headers | | ✅ PageSpeed module | Active | | ✅ Redis object cache | Working | | ✅ Divi 5.7.4 | Current | **Priority:** Find and fix the no-cache headers (likely WooCommerce session or caching/exclusion plugin misconfig). Then standard Divi toggles. --- ### claybusters.scot — Mobile 65 / Desktop 79 | Issue | Fix | |-------|-----| | ❌ CF-Cache-Status: DYNAMIC | Cloudflare cache rule | | ❌ Divi Minify/Combine OFF | Toggle ON | | ✅ PageSpeed module | Active | | ✅ Redis object cache | Working | | ✅ Divi 5.7.4 | Current | | ✅ Divi Disable Emojis | ON | | ✅ Divi Google Fonts Inline | ON | **Priority:** Minor — Cloudflare cache rule and Divi minify would push this into the 80+ range. --- ## Quick Wins (no plugins, no scripts) ### 1. Cloudflare Page Rule — Cache WordPress HTML Add a Cloudflare page rule for each site: - URL: `*longniddrybowlingclub.com/*` - Setting: `Cache Level: Standard` - OR use Cache Rules (newer): Bypass cache on `cookie=*wordpress_logged_in*` or `cf-worker=wp-session` This would edge-cache HTML pages for anonymous visitors — the biggest single performance gain since all 6 sites currently serve dynamic. ### 2. Divi Performance Toggles (30-second job per site) In Divi → Theme Options → Performance, enable: - ✅ Minify/Combine Scripts - ✅ Minify/Combine Styles - ✅ Disable Emojis (off on womenunlimited, friendscic) - ✅ Google Fonts Inline (off on l8.kaburu) - ✅ jQuery Body (off on jafricasafari) - ✅ Defer Block CSS (off on womenunlimited) ### 3. Enable PageSpeed Module (CyberPanel) For sites missing it (l8, longniddry, womenunlimited), enable in CyberPanel: - `CyberPanel → PageSpeed → Enable for domain` - This handles minify, defer, combine, and image optimization server-side ### 4. Restore Redis Drop-in (l8, jafricasafari) Copy the FastPixel object-cache.php from a working site (e.g. claybusters) to the missing ones. FastPixel manages Redis internally — no WP_REDIS_CONFIG needed. ### 5. Fix friendscic no-cache headers Check which plugin sets `cache-control: no-store`: - `wp plugin list` — look for caching, security, or WooCommerce extensions - Check WooCommerce session handling — may be setting no-cache on all pages instead of just cart/checkout --- ## What NOT to do - ❌ No PHP scripts injected into theme files - ❌ No custom plugins - ❌ No .htaccess rewrites for caching - ❌ No modifying WordPress core or Divi core files - ❌ No installing LiteSpeed Cache plugin (would conflict with FastPixel) Everything listed above is config-only: Divi UI toggles, CyberPanel settings, Cloudflare rules, or copying an existing Redis drop-in file. --- ## Related - [[object-cache]] — Redis object cache estate-wide setup - [[litespeed]] — LiteSpeed server config - [[fastpixel-mainwp-cache-control]] — FastPixel + Cloudflare integration