Online workshop · The numbers

Optimizing WordPress for Core Web Vitals and Performance

An online workshop for learn.wordpress.org: the technical side of WordPress speed, explained step by step for developers and site owners.

The write-up

Core Web Vitals, without the panic

If your website is slow, people won’t think twice before leaving. A dissatisfied visitor is worse than no visitor at all. They leave, and they tell people.

This online workshop for Learn WordPress went through the practical side, step by step. Here is the short version.

Three numbers

Core Web Vitals measure three things. Loading, through Largest Contentful Paint: under 2.5 seconds is good, over 4 is poor. Responsiveness, through Interaction to Next Paint, which replaced First Input Delay in March 2024: under 200 milliseconds is good, over 500 is poor. Visual stability, through Cumulative Layout Shift: under 0.1 is good, over 0.25 is poor.

Fix the foundations first

Run a current PHP version. Don’t use free hosting. Use a fast DNS provider. These changes take an afternoon and make everything else easier.

Images are usually the culprit

Lazy-load anything below the fold. Serve responsive sizes, which WordPress core already supports. Use WebP. Give every image a width and height so the layout doesn’t jump. Compress before upload, and agree simple image guidelines with your marketing team, such as no image over 400 KB.

Then the rest

Host fonts yourself and use font-display: swap. Add page, browser and object caching. Inline critical CSS, defer third-party scripts, and load tracking through Tag Manager only after consent. Use Query Monitor to find slow queries and remove plugins nobody uses.

One more thing I said in the session and still believe: make your users happy, not Lighthouse happy. The score is a tool, not the goal.

The slides

Invite me

Your stage?

I adapt every talk to the room: developers, marketers or founders. Send me the event, the date and who’s coming.