How does web font optimization improve Core Web Vitals?
Author: Yılmaz Saraçfont-optimizasyonuclslcpcore-web-vitals
Short answer: Fonts hit Core Web Vitals in two places: a late-arriving font delays text paint and inflates LCP, while the swap from fallback to web font shifts lines and produces CLS. Optimization removes both costs.
Implementation list
- Ship WOFF2 only; reduce families and weights, and move to a variable font where possible.
- Apply subsetting: send only the character set you use via unicode-range, and verify that every needed diacritic survives in the subset.
- Serve fonts from your own domain; preload the critical font so the discovery delay disappears.
- Choose font-display deliberately: with swap, align fallback metrics to the web font using size-adjust and ascent-override; that swap is exactly where CLS comes from.
- If the LCP element is text, the font painting it takes priority.
Measure in two layers: start with Lighthouse font audits, then validate the real effect against the LCP and CLS distributions in CrUX field data. Google's published thresholds are clear: LCP under 2.5 seconds and CLS under 0.1 count as good.