About 10% of LCP images are incorrectly lazy-loaded. This is one of the easiest LCP issues to fix.
loading="lazy" tells the browser to delay downloading an image until it's near the viewport. This is great for images below the fold, but terrible for your LCP image which is already visible.
What happens with lazy-loaded LCP:
loading="lazy", skips the imageloading="lazy"Look for: "Largest Contentful Paint image was lazily loaded"
View your page source and search for your hero image. If it has loading="lazy", that's the problem.
<!-- Before: wrong -->
<img src="hero.webp" loading="lazy" alt="Hero">
<!-- After: correct (eager is the default) -->
<img src="hero.webp" alt="Hero">
<!-- Or explicitly eager with high priority -->
<img src="hero.webp" loading="eager" fetchpriority="high" alt="Hero">
<img
src="hero.webp"
loading="eager"
fetchpriority="high"
alt="Hero"
>
Lazy-loading is still valuable—just not for above-the-fold content.
<!-- Hero image: no lazy loading -->
<img src="hero.webp" fetchpriority="high" alt="Hero">
<!-- Below-fold images: lazy load -->
<img src="product1.webp" loading="lazy" alt="Product 1">
<img src="product2.webp" loading="lazy" alt="Product 2">
next/image uses loading="lazy" by default. Use priority for LCP images:// Wrong: lazy by default
<Image src="/hero.jpg" alt="Hero" />
// Correct: priority disables lazy loading
<Image src="/hero.jpg" alt="Hero" priority />
NuxtImg uses lazy loading by default. Use loading="eager":<!-- Wrong: lazy by default -->
<NuxtImg src="/hero.jpg" alt="Hero" />
<!-- Correct: eager loading -->
<NuxtImg src="/hero.jpg" alt="Hero" loading="eager" />
// Don't use LazyLoad for LCP
<img src="/hero.jpg" alt="Hero" />
// Use LazyLoad for below-fold
<LazyLoad>
<img src="/product.jpg" alt="Product" />
</LazyLoad>
After implementing:
loading="lazy" on LCP imageExpected improvement: Removing lazy-loading from LCP can improve LCP by 100-500ms depending on image size and connection.
loading="lazy" to all images. Exclude above-the-fold images.Often appears alongside:
Different page templates may have different lazy-loading behavior. Unlighthouse scans your entire site and identifies pages with lazy-loaded LCP images.
Large Images
Optimize LCP images with responsive srcset, modern formats like WebP and AVIF, and proper compression. Reduce image size without losing quality.
Redirects
Eliminate redirect chains that delay LCP. Learn to identify and fix 301/302 redirects, canonical URL issues, and trailing slash mismatches.