Site Still Slow After Optimization: The Hidden Varnish Cache Layer Blocking Thomas Fragoso's LCP
19.8s LCP even after Core Web Vitals optimization. The cause: an unpurged Cloudways Varnish cache hiding real performance gains.
The problem
You optimize images, tweak the code, measure again — and LCP stays stuck at the same absurd number. Before suspecting your own optimization work, it's worth suspecting a cache layer nobody knows exists. That's what happened with Thomas Fragoso's site, a tattoo artist based in Málaga, Spain: the project was improving Core Web Vitals for a European audience without switching servers (Cloudways, US datacenter, already a closed decision on the client's side). Baseline: 56/100 mobile performance, a critical 19.8-second LCP on the /espanol/ page — the main lead-generation landing page.
What couldn't break
WP Rocket, GTM and Facebook Pixel were already active and feeding the client's ads — the project rule was to optimize, never remove. The waiting-list signup form was the main conversion point and had to survive every change, tested after each step.
Gains without relying on a license
LCP image compressed from 627KB to 80KB. Instagram feed deferred via IntersectionObserver, loading only when the section enters the viewport. Redis object cache installed. Database cleaned of 1,171 revisions and 28 transients. Since the WP Rocket license on the old account had expired, a manual Critical CSS via a custom mu-plugin solved the render-blocking CSS without depending on a paid plugin — 100% reversible.
The investigation
When the client bought his own WP Rocket license and the official Remove Unused CSS feature finally ran for the first time, it failed silently — and the site went back to serving render-blocking CSS, as if all the prior work had vanished. The cause wasn't WP Rocket, Redis, or Cloudflare: it was a Varnish cache layer on Cloudways itself, never purged during this project, serving an old, broken version of the page. Found by hitting the server's IP directly (bypassing Cloudflare) and confirmed via `varnishadm` — resolved without needing root access.
Result
After purging Varnish: mobile LCP dropped from 19.8s to the 13–14s range in official PageSpeed Insights measurements, and desktop went from an LCP of 1.4s to 1.9s, within the margin of noise — a manual GTmetrix run (a parallel methodology, without PSI's aggressive throttling) recorded a 98% performance score and an 838ms LCP on `/espanol/`. The signup form, GTM and Facebook Pixel were confirmed intact at every step.