The challenge
2eme inspects homes before they’re bought, with coverage across Chile, and its WordPress site is where new customers come in. The site was built on a page builder, and the server wasn’t where it slowed down: the delay came from everything the browser had to resolve before painting the first screen, starting with the home page itself, which opened with a 42 MB autoplay video. The slowness was also uneven, and the slowest page was an inner page rather than the home page. That’s why I started by measuring each page separately, instead of applying the usual recipe blindly.
What I did
Root-cause diagnosis and targeted optimization, instead of piling on plugins:
- Proper measurement first: 8 pages × 3 mobile PageSpeed Insights runs, working with medians so the report wouldn’t reflect noise.
- The hero video, deferred behind a still frame: this was the key to the project. A frame taken from the video itself (58 KB in WebP, preloaded) became the first thing the home page paints, and the video, compressed from 42 to 8 MB, only downloads once the user interacts. Visitors see the same hero without paying for the video on arrival.
- LCP optimization on the rest of the pages: hero images, render-blocking CSS and loading priorities.
- Warm-cache verification: a later round of consecutive, stable runs to confirm the improvement wasn’t a cold-cache illusion.
Result
The site’s average mobile PageSpeed went from 45 to 94, with all eight pages measured before and after. Only one page stayed above the 5-second LCP threshold, and the report names it and explains its ceiling: bringing it lower required a redesign rather than optimization, and that was outside the scope of the engagement.
The improvement was verified with consecutive warm-cache runs. Everything published here is the same information the client received in the technical report.
The starting point
A WordPress site whose home page took 13.3 seconds to paint its main content on mobile, with inner pages reaching 28. Half the pages on the site had an LCP above 5 seconds.