Playbook
performance
medium
Fix slow Largest Contentful Paint (LCP)
Your LCP is over 2.5s and Core Web Vitals is failing. Here is the 80/20 fix list, in order of impact.
45 minutesLast reviewed 2026-06-09
What is happening
LCP measures when the largest visible element (usually the hero image or main headline) finishes painting. Google considers anything over 2.5s "poor" and uses it as a ranking signal. Conversion rates drop ~7% for every 100ms of extra LCP delay.
Fix it in order of impact
<link rel="preload" as="image" href="/hero.jpg" fetchpriority="high"> to the page <head>. This alone often cuts LCP by 30–50%.<picture> with AVIF source + WebP fallback + JPG fallback. Cuts file size 60–80%.<style> block in <head> and defer the rest.Identify your LCP element
Run Lighthouse in Chrome DevTools → Performance panel. The "LCP" marker in the timeline points at the exact element. If it is a background image set in CSS, you cannot preload it the same way — set it as a regular <img> or use <link rel="preload" imagesrcset="...">.
Common gotchas
async or defer to every <script> in <head>.font-display: swap to every @font-face rule.<video poster="huge.jpg"> counts as the LCP candidate. Compress the poster.What this doesn't do
This playbook focuses on LCP. For CLS (layout shift) or INP (interactivity), see Web Vitals overview.