The investigation of a hidden cache layer: performance optimization for Thomas Fragoso
WordPress· Thomas Fragoso

The investigation of a hidden cache layer: performance optimization for Thomas Fragoso

A Core Web Vitals project for a tattoo artist based in Málaga turned into a hunt for a Varnish cache layer nobody knew existed — one that was hiding the real performance gains already in place.

The problem

Thomas Fragoso is a tattoo artist based in Málaga, Spain — his site needed better Core Web Vitals for a European audience, without switching servers (Cloudways, with a US datacenter, was already the client's fixed decision). Baseline: 56/100 mobile performance, a critical LCP of 19.8 seconds on the `/espanol/` page, the main landing page for lead capture.

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.