Training · Speak

Speak: a client's webshop from orange to green, a year after the training

A Dutch agency. I trained their developers, and in September 2024 a client's webshop they rebuilt went live.

0.29sTTFB in CrUX, was about 2s
0.56sFCP, was about 2.8s
<1sLCP, was orange
ClientSpeak, digital agency in Heerenveen
ServiceTraining of 3 hours in 2023, then support
Who built itTheir developers
The client

Speak, an agency in Heerenveen that builds sites for its clients

Speak builds sites for its clients, and those clients ask about Core Web Vitals. In 2023 I trained their developers for three hours, on sites they had built, with the field data of those sites.

Afterwards they came back with questions about client sites, by mail, for a while, until they could answer them themselves. Later they booked a 4-hour block: I found the LCP bottleneck in the first session and spent the rest of the time teaching the team to read LoAF traces. Their engineering manager: "Our engineers now catch regressions before they reach production."

Speak homepage
What they found, what they did

A client's webshop, rebuilt with what they learned

In November 2024 Sander Los, one of their developers, mailed me the CrUX graphs of a webshop they had rebuilt. The changes went live early in September.

What was wrong
What they did
TTFB
The server took about 2 seconds before the first byte.
They put a full page cache in front of the shop. TTFB went to 0.29 seconds, and that alone takes about 1.7 seconds off FCP and LCP.
LCP
The hero image had no priority, and files blocked the first render.
The hero got its priority and they fixed the render-blocking files. It all went live at once, so the graph drops in one step: LCP from orange to green, FCP with it.
The graphs Sander sent
The CrUX graphs Sander sent: LCP, FCP and TTFB drop in September, CLS goes to 0
Lighthouse

Scripts that load on interaction, and a test that sometimes interacts

They load the cookie banner, the tag manager and the slider library only when a visitor interacts. Real visitors get a fast first screen. But PageSpeed Insights sometimes fired an interaction of its own, a mouseover, and then loaded all of it anyway. So the score depended on whether the test happened to fire an event.

I sent them a small script that writes every interaction the test fires onto the page, so they could see it happen. Then we went through it together on a call.

"Thanks to the concepts and suggestions from the training, our page speed and user experience have improved significantly."

Sander Los, Developer, Speak

What we learned

Clients look at the Lighthouse number

Real visitors got a fast first screen. Their clients opened PageSpeed Insights. At an agency the developers have to understand both: what real visitors get, and what the test does.

Training sticks on their own client sites

Every example was a site they would open again the next week.

Arjen Karel

Your clients send you their PageSpeed score?

Two hours with your whole team on your own client sites, €1,500 fixed. The follow-up is €750 for another two hours.

Speak: Core Web Vitals Training for an Agency Team Core Web Vitals Speak: Core Web Vitals Training for an Agency Team