# Slow Largest Contentful Paint (LCP)

Source: https://www.fixreports.com/issues/slow-largest-contentful-paint

Largest Contentful Paint measures how long it takes for the main content of a page, usually a hero image or headline, to appear. A slow LCP is the most visible sign of a slow page.

## What it means
LCP is the time from when the page starts loading until the largest image or text block in the viewport is drawn. It is one of the three Core Web Vitals.

web.dev defines a good LCP as 2.5 seconds or less and a poor one as more than 4 seconds, measured at the 75th percentile of real visits on phones and on desktops.

## Why it matters
LCP is close to what people feel as “the page has loaded”. Google says Core Web Vitals are used by its ranking systems and recommends good scores, while noting that relevant content still comes first.

Published case studies on web.dev link faster LCP to business results, for example Vodafone reporting 8% more sales after a 31% LCP improvement in an A/B test.

## How to find it yourself
- PageSpeed Insights shows real-user LCP from the Chrome UX Report when your site has enough traffic, and a lab test otherwise.
- Search Console’s Core Web Vitals report groups your URLs by LCP status.

## How to fix it on any website
1. Find the LCP element first (PageSpeed Insights names it). If it’s an image, load it early: no loading="lazy", add fetchpriority="high", and serve it at the size it’s displayed.
2. Reduce server response time with caching and a CDN; a slow first byte delays everything else.
3. Remove or defer render-blocking scripts and stylesheets in the <head>, and cut third-party scripts that load before the content.

## On Shopify
1. Use the image_url and image_tag filters with widths and sizes so phones get small images, and don’t lazy-load the first section’s image.
2. Remove apps you no longer use: their scripts often remain in the theme.

## On WordPress and WooCommerce
1. Use a caching plugin or host-level cache, serve images in WebP or AVIF at the right size, and exclude the hero image from lazy loading.

## How to check the fix
- Run the speed test again for a lab result right away.
- Real-user data in the Chrome UX Report is a 28-day rolling window, so field LCP changes over the following weeks.

## How FixReports finds it
The speed test loads the page as a throttled phone in Chrome and measures LCP; it also shows Chrome UX Report field data when Google has it. We flag a lab LCP over 2.5 seconds.

## Frequently asked questions

### Why is my lab LCP different from real users?

A lab test is one load on one simulated device; field data covers real visitors on many devices and networks over 28 days. Use field data to judge, the lab to debug.

### What is a good LCP?

2.5 seconds or less for at least 75% of visits, according to web.dev’s Core Web Vitals thresholds.

## Sources
- web.dev: Largest Contentful Paint (LCP): https://web.dev/articles/lcp
- web.dev: Optimize Largest Contentful Paint: https://web.dev/articles/optimize-lcp
- Google Search Central: Understanding Core Web Vitals and Google search results: https://developers.google.com/search/docs/appearance/core-web-vitals
- web.dev: How Vodafone found a 31% improvement in LCP increased sales by 8%: https://web.dev/case-studies/vodafone
