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.


