Home / Case Studies / Core Web Vitals turnaround on a heavy Elementor site
WordPress homepage used to represent a Core Web Vitals performance turnaround
Performance · WordPress + Cloudflare

Core Web Vitals turnaround on a heavy Elementor site

A regional behavioral health nonprofit was failing CrUX field data on LCP. The site needed real-world field performance fixed without paying for a full rebuild.

LCP
Field performance fixed
14-26s
Lab LCP range before work
7
Targeted patches

The problem

A regional behavioral health nonprofit was failing CrUX field data on LCP. The homepage, built on Elementor Pro over a Hello Elementor child theme, swung between 14 and 26 seconds in the lab depending on the run, with total blocking time over 600ms.

They needed real-world field performance fixed, and they needed it done without paying for a full rebuild.

The approach

Phase 1 focused on caching and asset loading. I turned on Elementor Optimized Markup Performance, tuned LiteSpeed and Cloudflare cache rules, and audited Rocket Loader for the inline-script breakage it tends to cause.

Phase 2 was seven targeted patches. Typekit moved inline with a font-display swap and preload. A 329KB Vimeo widget that was not earning its place came out. 1.27MB of images converted to WebP, with Cloudflare-aware purge handling so the edge was not serving stale assets after the swap.

The outcome

Field LCP was fixed without a rebuild. The site kept its existing theme and stack, and the performance problem got solved at the layers actually causing it.

The win was not a prettier lab report for its own sake. It was reducing the real user performance drag without forcing the client into a full-site rebuild.

Stack at a glance

WordPress + Elementor Pro · Hello Elementor child theme · Cloudflare Transform Rules, Snippets, and WAF · LiteSpeed Cache · PHP hooks for asset dequeue · CrUX and Lighthouse

Key Work

  • Elementor Optimized Markup Performance enabled and checked
  • LiteSpeed and Cloudflare cache rules tuned
  • Rocket Loader audited for inline-script breakage
  • Typekit moved inline with font-display swap and preload
  • Nonessential 329KB Vimeo widget removed
  • 1.27MB of images converted to WebP
  • Cloudflare-aware purge process handled so stale assets did not remain at the edge

More from the build shelf

Drupal SEO
188-URL Cleanup + Hreflang on Pantheon
Legacy URLs removed, hreflang shipped, and a database-level regression closed.
See the work →
WordPress Dev
Scalable Dealer Locator for US & Canada
Custom post type and hierarchical taxonomy built to scale across 50+ regions.
See the work →
Tool Build
Schema Markup Audit & Generator Tool
A public SEO tool built on Astro, Cloudflare Workers, and the Claude API.
See the work →

Need this kind of technical work?

I build and rescue sites, tools, and technical SEO systems with the code, search, and performance layers handled together.

Start with a Site Health Check → ← Back to all case studies

Want work like this?

Whether you need a new build, a site rescue, custom functionality, or a technical SEO cleanup, I would love to hear what you are working on.

Send a message