Diagnosed from a real baseline — lab metrics or CrUX field data, whichever applies — traced to the infrastructure root cause, and fixed precisely. All three vitals: LCP, INP, and CLS. Or your last month is free.
87 plugins reviewed · 143 techniques mapped · the CORE Protocol
Four phases. One rule: the data decides. No guesswork, no speculative plugin installs — every action is traceable to a finding.
Lighthouse and DevTools waterfall run first — reproducible, always available. When CrUX field data exists, 28 days of real-user p75s layer on top. One input or two, the work starts with an honest baseline.
"LCP is 4.2s" is a symptom. The actual origin is a specific image, a missing hint, a cold server. No plugin gets installed until every failing metric has a named root cause.
Changes are surgical — each one traceable to the analysis that justified it. When no plugin covers the gap, the fix is built from scratch and documented.
Lab engagements close with a before/after Lighthouse report. Field engagements add a 30-day CrUX window confirming improvements hold in real traffic.
Ten optimization vectors, applied only where the data says they'll move the needle.
I've personally audited 87 WordPress performance plugins across 143 distinct features — cataloguing what each one does, how it interacts with Core Web Vitals, and — critically — where it falls short. This isn't a technique applied to your site. It's the foundation that tells me when to reach for a tool, when to configure it differently, and when to build something better.
Performance plugins are capped by their feature set. I'm not. When a site needs something that doesn't exist in any plugin — a custom resource hinting strategy, a bespoke service worker caching layer, proprietary render-blocking elimination tooling — I build it. From scratch, fitted to your stack.
Enter your WordPress URL for a simulated CWV field audit and estimated improvement potential.
cwv-scanner ● ready — paste a url above to begin ───────────────────────────────────────────────────────────── a typical wordpress site entering this scanner LCP ████████████████████░░░░░░░░░░ 4.200s ● POOR INP ████████████████░░░░░░░░░░░░░░ 520ms ● POOR CLS █████████████░░░░░░░░░░░░░░░░░ 0.28 ● POOR TTFB ██████████░░░░░░░░░░░░░░░░░░░░ 1.82s ● POOR after the engagement LCP ████░░░░░░░░░░░░░░░░░░░░░░░░░░ 1.4s ● GOOD ✓ INP ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 165ms ● GOOD ✓ CLS ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 0.04 ● GOOD ✓ TTFB ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ <50ms ● GOOD ✓
● cwv-scanner — ready ────────────────────── before → after LCP 4.200s → 1.4s GOOD ✓ INP 520ms → 165ms GOOD ✓ CLS 0.28 → 0.04 GOOD ✓ TTFB 1.82s → <50ms GOOD ✓ ↑ paste your url above
Anonymised. Post-fix scores from real engagements.
Hero image converted to AVIF · fetchpriority="high" added · image dimensions set
font-display:swap applied · ad slot dimensions reserved · CLS eliminated
JS deferred · 47 scroll listeners made passive · TBT cut 81%
Render-blocking CSS eliminated · preconnect hints added · critical CSS inlined
Image payload reduced 74% · next-gen formats · lazy-load corrected on LCP element
INP traced to unbounced scroll handler · passive flag applied · INP down 68%
AVIF pipeline deployed · proximity-aware JS loader built · LCP down 66%
Third-party script audit · analytics loaded post-interaction · TBT down 80%
CDN plus edge cache deployed · TTFB down 96% · full CWV passing in 3 weeks
Full font subsetting · zero round-trips to font CDN · FOIT eliminated
Every optimization engagement makes this trade-off. The third item always gives — choose which two matter most.
tap a segment to change the trade-off
Every metric Google measures, what it means, and what moves it.
No retainers. No monthly lock-in. A fixed fee for a defined scope — and if the vitals don't move, the last month is refunded.
One-time engagement. Identify and fix the top issues in a single sprint.
Full engagement with 3-month CrUX field monitoring and iterative optimisation.