---
title: What Is LCP? Largest Contentful Paint Explained
description: Learn what is LCP (Largest Contentful Paint), a Core Web Vital that measures how quickly the main page content loads.
image: https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-12-2026-03-08-23-7830-PM.jpeg
---

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘 Learn ▾](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us)

[CDN Fundamentals](https://blog.blazingcdn.com/cdn-fundamentals?hsLang=en-us) [By Content Type](https://blog.blazingcdn.com/by-content-type?hsLang=en-us) [Advanced Concepts](https://blog.blazingcdn.com/advanced-concepts?hsLang=en-us) [📖 Glossary](https://blog.blazingcdn.com/glossary?hsLang=en-us)

[🎬 Video & Streaming ▾](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us)

[🔴 Live Streaming](https://blog.blazingcdn.com/live-streaming?hsLang=en-us) [📺 VOD & OTT](https://blog.blazingcdn.com/vod-ott?hsLang=en-us) [🎞️ Encoding & Players](https://blog.blazingcdn.com/encoding-players?hsLang=en-us) [🎧 Audio & Podcasts](https://blog.blazingcdn.com/audio-podcasts?hsLang=en-us) [💰 Bandwidth & Costs](https://blog.blazingcdn.com/bandwidth-costs?hsLang=en-us)

[🏗️ Infrastructure ▾](https://blog.blazingcdn.com/cdn-infrastructure?hsLang=en-us)

[🗄️ Storage & Origin](https://blog.blazingcdn.com/storage-origin?hsLang=en-us) [📦 Large File Delivery](https://blog.blazingcdn.com/large-file-delivery?hsLang=en-us) [💸 Cloud Costs & Egress](https://blog.blazingcdn.com/cloud-costs-egress?hsLang=en-us) [🌐 Networking & ISP](https://blog.blazingcdn.com/networking-isp?hsLang=en-us) [⚙️ DevOps & Cloud Infra](https://blog.blazingcdn.com/devops-cloud-infra?hsLang=en-us) [⚡ Web Performance](https://blog.blazingcdn.com/web-performance?hsLang=en-us)

[🏭 Industries ▾](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us)

[📺 Media & Broadcasting](https://blog.blazingcdn.com/media-broadcasting?hsLang=en-us) [💾 Software & SaaS](https://blog.blazingcdn.com/software-saas?hsLang=en-us) [📣 AdTech & Advertising](https://blog.blazingcdn.com/adtech-advertising?hsLang=en-us) [🎮 Gaming & Esports](https://blog.blazingcdn.com/gaming-esports?hsLang=en-us) [📱 Mobile Apps & Developers](https://blog.blazingcdn.com/mobile-apps-developers?hsLang=en-us) [🤖 AI & Machine Learning](https://blog.blazingcdn.com/ai-machine-learning?hsLang=en-us) [🏛️ Enterprise & Corporate](https://blog.blazingcdn.com/enterprise-corporate?hsLang=en-us) [📚 E-Learning & EdTech](https://blog.blazingcdn.com/e-learning-edtech?hsLang=en-us) [🏟️ Sports & Live Events](https://blog.blazingcdn.com/sports-live-events?hsLang=en-us)

[💰 Pricing & Compare ▾](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us)

[Provider Pricing](https://blog.blazingcdn.com/provider-pricing?hsLang=en-us) [Cost Optimization](https://blog.blazingcdn.com/cost-optimization?hsLang=en-us) [Decision Support](https://blog.blazingcdn.com/decision-support?hsLang=en-us) [⚡ Compare](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us) [Provider Comparisons](https://blog.blazingcdn.com/provider-comparisons?hsLang=en-us) [Strategy Comparisons](https://blog.blazingcdn.com/strategy-comparisons?hsLang=en-us) [📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us)

[🔒 Security ▾](https://blog.blazingcdn.com/cdn-security?hsLang=en-us)

[Attack Protection](https://blog.blazingcdn.com/attack-protection?hsLang=en-us) [Encryption & Access](https://blog.blazingcdn.com/encryption-access?hsLang=en-us) [Video & DRM Security](https://blog.blazingcdn.com/video-drm-security?hsLang=en-us)

[🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us)

[Get Started](https://blazingcdn.com/sign-up-contact-form/)

[Web Performance](https://blog.blazingcdn.com/en-us/tag/web-performance) [Infrastructure](https://blog.blazingcdn.com/en-us/tag/infrastructure)

# What Is LCP? Largest Contentful Paint Explained

 Vadym Borovskyi  Nov 12, 2026, 4:10:36 PM

![\<span id="hs\_cos\_wrapper\_name" class="hs\_cos\_wrapper hs\_cos\_wrapper\_meta\_field hs\_cos\_wrapper\_type\_text" style="" data-hs-cos-general-type="meta\_field" data-hs-cos-type="text" \>What Is LCP? Largest Contentful Paint Explained\</span\>](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-12-2026-03-08-23-7830-PM.jpeg)

Largest Contentful Paint (LCP) is a Core Web Vitals metric. It reports the time, measured from the start of navigation, at which the largest image, video poster or first video frame, or text block visible in the viewport finishes rendering. It approximates the moment a visitor sees the main content, and Google uses it as a search ranking signal.

The practical answer to what is LCP for a team shipping web pages: as of November 2026, Google's Core Web Vitals rate LCP as good at 2.5 seconds or less, needs improvement up to 4.0 seconds, and poor above 4.0 seconds, measured at the 75th percentile of real page loads. Those thresholds have not changed since Core Web Vitals launched in 2020.

## **LCP Core Web Vitals thresholds: good, needs improvement, poor**

Google scores LCP on field data, not on a single lab run. A URL or origin passes when at least 75% of page loads over a trailing 28-day window in Chrome UX Report data hit 2.5 seconds or less. Mobile and desktop are scored separately, and LCP sits beside Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS) as the three Core Web Vitals.

| Rating | LCP at the 75th percentile | What it usually signals |
| --- | --- | --- |
| Good | 2.5 seconds or less | Cached HTML, early-discovered and right-sized LCP resource |
| Needs improvement | Above 2.5 and up to 4.0 seconds | One dominant bottleneck, often TTFB or image weight |
| Poor | Above 4.0 seconds | Stacked problems: uncached origin, late discovery, client-side rendering |

Because the score is a 75th percentile, the slowest quarter of your users, usually mobile on weak networks, decides whether you pass.

## **What is LCP measuring, and which element counts?**

LCP measures when the largest content element in the viewport finishes painting. Candidates are img elements (first frame for animated images), image elements inside SVG, video elements (poster load or first frame, whichever is earlier), elements with a CSS background image loaded through a URL, and block-level elements containing text.

The browser emits a new largest-contentful-paint performance entry every time a larger candidate paints, so the reported element can change during load: a headline first, then the hero image. Reporting stops at the first user input (tap, click, keypress), which is why lab and field values diverge on pages where users interact early.

Size is the visible area inside the viewport. Clipped and off-screen parts, margins, padding and borders do not count, and a downscaled image reports the smaller of its displayed and intrinsic size. Chromium also applies heuristics: elements at zero opacity, full-viewport backgrounds and low-entropy placeholder images are skipped as candidates.

## **Where LCP time goes: the four subparts**

Every LCP value splits into four sequential subparts: Time to First Byte (TTFB), resource load delay (TTFB until the browser starts fetching the LCP resource), resource load duration, and element render delay (resource finished until pixels painted). For text LCP elements without a web font, the two resource subparts are zero.

Public guidance from the Chrome team suggests roughly 40% for TTFB, 40% for load duration and under 10% each for the two delays. Applied to the 2.5-second target, that gives a working budget: about 1,000 ms TTFB, 250 ms load delay, 1,000 ms load duration and 250 ms render delay.

A worked example shows why image weight matters. On an assumed effective mobile throughput of 9 Mb/s (an estimate, not a measurement), a 400 KB JPEG hero takes about 355 ms of pure transfer (3.2 megabits divided by 9). The same image resized to the displayed width and encoded as a 120 KB AVIF takes about 107 ms. That 248 ms saving is the entire load-delay budget, recovered from bytes alone.

## **Why is LCP slow? Common causes**

Slow LCP almost always traces to one dominant subpart. Diagnose which one before changing anything:

- **High TTFB:** uncached HTML rendered at a distant origin, redirect chains, slow server-side rendering.
- **Load delay:** the LCP image is a CSS background, injected by client-side JavaScript, or marked for lazy loading, so the preload scanner never sees it early.
- **Load duration:** oversized images, no AVIF or WebP, the LCP resource competing for bandwidth with fonts and third-party tags, a cold cache at the edge.
- **Render delay:** render-blocking CSS and JavaScript, web fonts hiding text, A/B testing tools that hide the page until an experiment loads.

## **How to fix slow LCP, including CDN delivery**

Fixes map one-to-one to subparts. For TTFB, cache HTML at the edge where personalization allows, with a short **s-maxage** plus **stale-while-revalidate**, and use origin shield so misses do not all land on the origin. Send a **Server-Timing** header so field data separates network time from server think time.

For load delay, keep the LCP image as a plain img element in the initial HTML, set its **fetchpriority** attribute to high, and never set its **loading** attribute to lazy. If the image must live in CSS, send a **Link** header with rel set to preload and as set to image, ideally inside a 103 Early Hints response so the browser starts fetching before the HTML arrives.

For load duration, serve responsive variants through **srcset** and **sizes**, encode to AVIF or WebP, and give fingerprinted image URLs a **Cache-Control** of public, max-age 31536000 and immutable so repeat views skip the network. If your LCP element is usually a hero image, BlazingCDN includes [**on-the-fly image resizing for LCP hero images**](https://blazingcdn.com/image-processing/) (crop, resize, resizefit, resizefill) at no extra charge, alongside Brotli and zstd compression over HTTP/2 and TLS 1.3, as of November 2026.

One header example worth copying in words: on a cross-origin image host, add **Timing-Allow-Origin** naming your page origin. Without it, LCP entries for cross-origin images have historically exposed only a coarse or zero render time, and attribution tools fall back to load time, hiding render delay.

## **LCP vs. FCP, TTFB and Speed Index**

LCP vs. FCP: First Contentful Paint marks the first paint of any content, including a spinner or a single line of text, with a good threshold of 1.8 seconds. A page can pass FCP and fail LCP when the shell renders fast but the hero arrives late.

LCP vs. TTFB: TTFB is the arrival of the first HTML response byte, rated good at 0.8 seconds. It is not a Core Web Vital, but it is the first subpart of LCP, so every millisecond of TTFB is a millisecond of LCP.

LCP vs. Speed Index: Speed Index is a lab-only score of how quickly the viewport fills visually across the whole load. LCP is a single timestamp collected in the field, which is why Google ranks on LCP.

## **Common misconceptions about Largest Contentful Paint**

- **"LCP is page load time."** The load event waits for every subresource. LCP stops at one element and often fires seconds earlier.
- **"A good Lighthouse score means a good LCP."** Lighthouse runs one simulated load. Google uses the field 75th percentile, which includes slow devices, cold caches and real networks.
- **"Preloading fixes LCP."** Preload only shrinks resource load delay. It does nothing for a 2 MB image or a slow origin.
- **"The LCP element is fixed per page."** It varies with viewport, consent banners, and personalized content, so field attribution beats guessing.

## **FAQ: Largest Contentful Paint and LCP scores**

### What is a good LCP score?

A good LCP score is 2.5 seconds or less, measured at the 75th percentile of real page loads over the trailing 28 days in Chrome UX Report field data. Between 2.5 and 4.0 seconds is rated needs improvement, and anything above 4.0 seconds is poor. Google evaluates mobile and desktop separately, so a fast desktop LCP can hide a failing mobile one.

### Does a CDN improve LCP?

A CDN improves LCP when time to first byte or resource load duration dominates the LCP breakdown, because edge caching shortens round trips for the HTML and the LCP image. It helps little with resource load delay or element render delay, which come from late discovery, render-blocking CSS or client-side rendering. Measure the four LCP subparts before buying delivery capacity.

### Why is my LCP element different on mobile and desktop?

The LCP element differs between mobile and desktop because the browser picks the largest candidate visible in the current viewport, and layouts change by breakpoint. A hero image can dominate a desktop viewport while a headline text block wins on a narrow phone screen. Check the element reported in field data for each device class and optimize both separately.

### Does lazy loading hurt Largest Contentful Paint?

Lazy loading hurts Largest Contentful Paint when it is applied to the LCP image itself, because the browser defers the request until layout confirms the image is near the viewport, adding resource load delay. Lazy loading below-the-fold images is still useful, since it frees bandwidth for the LCP resource. Remove the lazy loading attribute only from the likely LCP candidate.

## **Break down your p75 LCP before you change anything**

This week, add the attribution build of Google's open-source web-vitals library to production and log four fields per page view: timeToFirstByte, resourceLoadDelay, resourceLoadDuration and elementRenderDelay, tagged with page template and device class. After a few days, compute the 75th percentile of each subpart and compare it with the 1,000, 250, 1,000 and 250 ms budget above. The subpart furthest over budget is your only priority. Fixing anything else moves the score by noise.

If TTFB or load duration is the outlier and your LCP elements are images or video posters, the [**BlazingCDN performance metrics page**](https://blazingcdn.com/performance-metrics/) lists its own measurements from June 2026 (Europe 27 ms, North America 24 ms, Asia 47 ms on a 100 MB HTTPS download) and a public test file you can fetch from your users' networks to compare against your current delivery path.

Share: [f](https://www.facebook.com/sharer/sharer.php?u=https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained) [in](https://www.linkedin.com/sharing/share-offsite/?url=https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained) [𝕏](https://twitter.com/intent/tweet?url=https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained&text=) [✉](mailto:?subject=%3Cspan%20id="hs_cos_wrapper_name"%20class="hs_cos_wrapper%20hs_cos_wrapper_meta_field%20hs_cos_wrapper_type_text"%20style=""%20data-hs-cos-general-type="meta_field"%20data-hs-cos-type="text"%20%3EWhat%20Is%20LCP?%20Largest%20Contentful%20Paint%20Explained%3C/span%3E&body=https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained)

![BlazingCDN](https://blog.blazingcdn.com/hs-fs/hubfs/Logo/blog-logo-w.png?height=24&name=blog-logo-w.png)

*Heavy traffic.*  
Light bill.

The CDN for video and large traffic

100 TB a month at list price

- BlazingCDN**$415**
- [bunny.net](https://bunny.net/pricing/) Volume**$500**
- [CDN77](https://www.cdn77.com/pricing), plan to 250 TB**$990**
- [KeyCDN](https://www.keycdn.com/pricing), NA and Europe**$2,600**
- [CloudFront](https://aws.amazon.com/cloudfront/pricing/pay-as-you-go/) pay as you go**$6,965**

Each provider's published list price for transfer, lowest first, checked November 2026. BlazingCDN publishes this blog. Up to 50 TB a month a flat plan such as CloudFront Pro ($15) can cost less.

[Calculate your cost](https://blazingcdn.com/cdn-cost-calculator/?utm_source=blog&utm_medium=sidebar&utm_campaign=blog_sidebar&utm_content=compare_calc)

## Related posts

[![Responsive Images in HTML: srcset, sizes and Image Size](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-10-2026-03-22-17-0551-PM.jpeg)](https://blog.blazingcdn.com/en-us/responsive-images-in-html-srcset-sizes-and-image-size?hsLang=en-us)

Web Performance

### [Responsive Images in HTML: srcset, sizes and Image Size](https://blog.blazingcdn.com/en-us/responsive-images-in-html-srcset-sizes-and-image-size?hsLang=en-us)

Getting html image size right takes three attributes on one img element: srcset with width descriptors, sizes that ...

Nov 10, 2026, 4:25:14 PM [Read more](https://blog.blazingcdn.com/en-us/responsive-images-in-html-srcset-sizes-and-image-size?hsLang=en-us)

[![Best Image Format for the Web: JPEG, PNG, WebP, AVIF, SVG](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-09-2026-01-51-20-7661-PM.jpeg)](https://blog.blazingcdn.com/en-us/best-image-format-for-the-web-jpeg-png-webp-avif-svg?hsLang=en-us)

Web Performance

### [Best Image Format for the Web: JPEG, PNG, WebP, AVIF, SVG](https://blog.blazingcdn.com/en-us/best-image-format-for-the-web-jpeg-png-webp-avif-svg?hsLang=en-us)

Evaluated November 2026: the best image format for web photos is AVIF with a JPEG fallback, or WebP when encode time ...

Nov 9, 2026, 2:53:33 PM [Read more](https://blog.blazingcdn.com/en-us/best-image-format-for-the-web-jpeg-png-webp-avif-svg?hsLang=en-us)

[![JPEG vs JPG: Is There Any Difference?](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-05-2026-03-08-19-4198-PM.jpeg)](https://blog.blazingcdn.com/en-us/jpeg-vs-jpg-is-there-any-difference?hsLang=en-us)

Web Performance

### [JPEG vs JPG: Is There Any Difference?](https://blog.blazingcdn.com/en-us/jpeg-vs-jpg-is-there-any-difference?hsLang=en-us)

There is no technical difference in JPEG vs JPG. Both extensions label the same format, defined by ISO/IEC 10918-1 ...

Nov 5, 2026, 4:10:55 PM [Read more](https://blog.blazingcdn.com/en-us/jpeg-vs-jpg-is-there-any-difference?hsLang=en-us)

[![Zstandard Compression for the Web: zstd vs Brotli vs Gzip](https://blog.blazingcdn.com/hubfs/Gemini-Blog/image-Nov-03-2026-08-55-36-5956-AM.jpeg)](https://blog.blazingcdn.com/en-us/zstandard-compression-for-the-web-zstd-vs-brotli-vs-gzip?hsLang=en-us)

Web Performance

### [Zstandard Compression for the Web: zstd vs Brotli vs Gzip](https://blog.blazingcdn.com/en-us/zstandard-compression-for-the-web-zstd-vs-brotli-vs-gzip?hsLang=en-us)

Verdict, evaluated November 2026: serve Brotli at quality 11 for static text you can precompress, use zstd compression ...

Nov 3, 2026, 9:57:58 AM [Read more](https://blog.blazingcdn.com/en-us/zstandard-compression-for-the-web-zstd-vs-brotli-vs-gzip?hsLang=en-us)

[![BlazingCDN](https://blog.blazingcdn.com/hubfs/Logo/blog-logo-w.png)](https://blog.blazingcdn.com?hsLang=en-us)

[📘 Learn](https://blog.blazingcdn.com/cdn-learn?hsLang=en-us) [📊 Benchmarks](https://blog.blazingcdn.com/cdn-ratings-and-benchmarks?hsLang=en-us) [🎬 Video & Streaming](https://blog.blazingcdn.com/video-streaming-cdn?hsLang=en-us) [🏭 Industries](https://blog.blazingcdn.com/cdn-industry-insights?hsLang=en-us) [💰 Pricing & Costs](https://blog.blazingcdn.com/cdn-pricing-and-cdn-costs?hsLang=en-us) [⚡ Compare](https://blog.blazingcdn.com/cdn-comparison?hsLang=en-us) [🔒 Security](https://blog.blazingcdn.com/cdn-security?hsLang=en-us) [🛠️ Tools](https://blog.blazingcdn.com/cdn-tools?hsLang=en-us) [✍️ Publish with us](https://blog.blazingcdn.com/publish-with-us?hsLang=en-us)

in f 𝕏 ✉

 Copyright © BlazingCDN |. All rights reserved.

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blazingcdn.com/#organization",
  "@type" : "Organization",
  "description" : "High-volume CDN for video, live streaming, OTT/IPTV, software, games, SaaS and large-file delivery.",
  "logo" : {
    "@id" : "https://blazingcdn.com/#logo",
    "@type" : "ImageObject",
    "height" : 560,
    "url" : "https://blazingcdn.com/wp-content/uploads/2024/08/logo-560-560.png",
    "width" : 560
  },
  "name" : "BlazingCDN",
  "sameAs" : [ "https://www.linkedin.com/company/blazingcdn", "https://x.com/BlazingCdn", "https://www.reddit.com/r/BlazingCDN/", "https://www.wikidata.org/wiki/Q141711074" ],
  "url" : "https://blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/#website",
  "@type" : "WebSite",
  "inLanguage" : "en-US",
  "name" : "BlazingCDN Blog",
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "url" : "https://blog.blazingcdn.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained#article",
  "@type" : "BlogPosting",
  "author" : {
    "@id" : "https://blog.blazingcdn.com/en-us/author/blazingcdn#person",
    "@type" : "Person",
    "description" : "Vadym Borovskyi is Chief Product and Marketing Officer at BlazingCDN, where he has led product strategy and growth since 2021. He has more than 11 years of experience in IT product management and B2B marketing. On this blog he writes about CDN pricing and egress costs, video and software delivery, cache configuration, and how teams evaluate and switch CDN providers. He is based in Warsaw, Poland.",
    "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/vadym-borovskyi.jpg",
    "jobTitle" : "Chief Product and Marketing Officer",
    "knowsAbout" : [ "Content Delivery Networks (CDN)", "CDN pricing", "Video streaming delivery", "Software and game distribution", "Cache optimization", "Product Management", "B2B Marketing", "Digital Marketing", "Pay Per Click Marketing (PPC)", "Google Ads", "Search Engine Marketing (SEM)", "Marketing Strategy", "Artificial Intelligence (AI)", "Cloud Management", "SaaS Development", "IT Consulting", "Computer Networking", "Project Management", "Startups" ],
    "name" : "Vadym Borovskyi",
    "sameAs" : [ "https://www.linkedin.com/in/axelt/" ],
    "url" : "https://blog.blazingcdn.com/en-us/author/blazingcdn",
    "worksFor" : {
      "@id" : "https://blazingcdn.com/#organization"
    }
  },
  "dateModified" : "2026-11-12T15:10:36Z",
  "datePublished" : "2026-11-12T15:10:36Z",
  "description" : "Learn what is LCP (Largest Contentful Paint), a Core Web Vital that measures how quickly the main page content loads.",
  "headline" : "What Is LCP? Largest Contentful Paint Explained",
  "image" : "https://143144902.fs1.hubspotusercontent-eu1.net/hubfs/143144902/Gemini-Blog/image-Nov-12-2026-03-08-23-7830-PM.jpeg",
  "inLanguage" : "en-us",
  "isPartOf" : {
    "@id" : "https://blog.blazingcdn.com/#website"
  },
  "mainEntityOfPage" : {
    "@id" : "https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@id" : "https://blazingcdn.com/#organization"
  },
  "wordCount" : 1675
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained#breadcrumb",
  "@type" : "BreadcrumbList",
  "itemListElement" : [ {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us",
    "name" : "Blog",
    "position" : 1
  }, {
    "@type" : "ListItem",
    "item" : "https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained",
    "name" : "What Is LCP? Largest Contentful Paint Explained",
    "position" : 2
  } ]
}
```

```json
{
  "@context" : "https://schema.org",
  "@id" : "https://blog.blazingcdn.com/en-us/what-is-lcp-largest-contentful-paint-explained#faq",
  "@type" : "FAQPage",
  "mainEntity" : [ {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "A good LCP score is 2.5 seconds or less, measured at the 75th percentile of real page loads over the trailing 28 days in Chrome UX Report field data. Between 2.5 and 4.0 seconds is rated needs improvement, and anything above 4.0 seconds is poor. Google evaluates mobile and desktop separately, so a fast desktop LCP can hide a failing mobile one."
    },
    "name" : "What is a good LCP score?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "A CDN improves LCP when time to first byte or resource load duration dominates the LCP breakdown, because edge caching shortens round trips for the HTML and the LCP image. It helps little with resource load delay or element render delay, which come from late discovery, render-blocking CSS or client-side rendering. Measure the four LCP subparts before buying delivery capacity."
    },
    "name" : "Does a CDN improve LCP?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "The LCP element differs between mobile and desktop because the browser picks the largest candidate visible in the current viewport, and layouts change by breakpoint. A hero image can dominate a desktop viewport while a headline text block wins on a narrow phone screen. Check the element reported in field data for each device class and optimize both separately."
    },
    "name" : "Why is my LCP element different on mobile and desktop?"
  }, {
    "@type" : "Question",
    "acceptedAnswer" : {
      "@type" : "Answer",
      "text" : "Lazy loading hurts Largest Contentful Paint when it is applied to the LCP image itself, because the browser defers the request until layout confirms the image is near the viewport, adding resource load delay. Lazy loading below-the-fold images is still useful, since it frees bandwidth for the LCP resource. Remove the lazy loading attribute only from the likely LCP candidate."
    },
    "name" : "Does lazy loading hurt Largest Contentful Paint?"
  } ]
}
```