LCP Optimization Strategies — Largest Contentful Paint Guide

Learn how to optimize Largest Contentful Paint (LCP) with practical strategies for images, fonts, server response, and render-blocking resources. Target 2.5 seconds or less.

Core Web Vitals

Detailed Explanation

Optimizing Largest Contentful Paint (LCP)

LCP measures the render time of the largest image or text block visible in the viewport. Google considers an LCP of 2.5 seconds or less as good. This metric directly reflects the user's perception of how fast a page loads.

Identifying the LCP Element

Before optimizing, you need to know what the LCP element is. Common LCP elements include:

  • Hero images or banner images
  • Large heading text (H1/H2 with large font size)
  • Video poster images
  • Background images applied via CSS

Use Chrome DevTools → Performance panel → hover over the LCP marker to see exactly which element was selected.

The Four Sub-Parts of LCP

LCP can be broken down into four sequential sub-parts:

  1. Time to First Byte (TTFB) — Server response time
  2. Resource load delay — Time between TTFB and when the browser starts loading the LCP resource
  3. Resource load duration — Time to download the LCP resource itself
  4. Element render delay — Time between resource download and actual render

Each sub-part is an optimization opportunity. A slow TTFB pushes everything else later. A late-discovered image adds load delay. An uncompressed image extends load duration. Render-blocking CSS adds render delay.

Key Optimization Strategies

Image Optimization:

  • Use modern formats (WebP, AVIF) with proper fallbacks
  • Set explicit width and height attributes
  • Use fetchpriority="high" on the LCP image
  • Never lazy-load the LCP image (loading="lazy" delays it)
  • Use srcset and sizes for responsive images

Resource Hints:

<!-- Preload the LCP image -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">

<!-- Preconnect to CDN -->
<link rel="preconnect" href="https://cdn.example.com">

Server-Side:

  • Deploy a CDN to reduce TTFB
  • Enable Brotli or gzip compression
  • Use stale-while-revalidate caching
  • Consider server-side rendering (SSR) or static generation (SSG)

CSS and Fonts:

  • Inline critical CSS in the <head>
  • Defer non-critical stylesheets
  • Use font-display: swap or font-display: optional
  • Preload web fonts used in the LCP element

Use Case

LCP optimization is essential for any website that wants to pass Core Web Vitals in Google Search Console. E-commerce sites with hero product images, news sites with large banner photos, and marketing landing pages are especially impacted. A slow LCP leads to higher bounce rates — users expect the main content to appear within 2.5 seconds.

Try It — Web Vitals Reference

Open full tool