Core Web Vitals: the three projects that actually move the needle
Web performance metrics do not reward effort, they reward the critical path. Three projects, in this order, are enough to move from a poor score to a comfortable one.
RGAIX team · · 7 min read
Measure in the field before optimising in the lab
An audit run on a developer machine over fibre describes an experience nobody has. Field data, collected from your real visitors, decides: only it includes older phones, slow networks and browser extensions.
A large gap between lab and field is a signal in itself: it often points to conditional loading, a cache that hides the first render, or a third party that only fires on certain pages.
Project 1: the image of the largest visible element
On the vast majority of editorial pages, the element that defines the LCP is a banner image. Three settings are enough: serve it in a modern format, size it for the actual display, and load it with priority rather than deferring it.
- Serve WebP or AVIF, with variants matched to screen width.
- Remove lazy loading on that specific image: it delays exactly what should be accelerated.
- Declare width and height to reserve the space and avoid shifting.
- Preload the resource when the browser discovers it late.
Project 2: the JavaScript that blocks interaction
Blocking time rarely comes from your application code: it comes from third-party scripts — tag manager, analytics, chat widgets, A/B tests — loaded as early as possible “so as not to miss anything”.
Inventory what loads, page by page, and ask one simple question for each script: what is lost if it loads three seconds later, or only after an interaction? The answer is almost always “nothing measurable”.
Project 3: visual stability
Layout shifts come from four recurring sources: images without dimensions, fonts replacing a fallback with different metrics, banners inserted at the top of the page, and content injected after the fact.
| Source of the shift | Fix |
|---|---|
| Image without dimensions | Width/height attributes or a reserved ratio in CSS |
| Fallback font | Metric-adjusted fallback, progressive display |
| Consent banner | Reserve the space or overlay without pushing content |
| Content loaded later | Reserve the height before the insertion |
What almost never deserves the effort
Merging every CSS file, removing each unused rule or rewriting a component to save two kilobytes produces invisible gains as long as the three projects above are untouched. Start with what blocks the critical path.
Web performance is a matter of loading order far more than total weight: two hundred well-ordered kilobytes beat fifty badly placed ones.
Related pages
SEO & web performance
A site that is found, understood and useful.
Discover the service ↗READ NEXTAutomating a process: where humans must stay in the loop
Automating what is repetitive is easy. Deciding what stays validated by a person is the real design work.
Read the article ↗READ NEXTURL migration: the redirect plan that avoids the collapse
Changing addresses is a routine and brutal operation. What makes it safe fits in four rules and one mapping file.
Read the article ↗Let’s talk about what is blocking you.
An emergency, a profile to find or a project to structure: let’s start with your need.
