Skip to content

How to improve Largest Contentful Paint (LCP)

By Ash, Founder, HosteazePublished 2 min read

To improve Largest Contentful Paint, first find which element is your LCP, usually the hero image. Then cut the server response time with page caching, make sure the image isn't lazy-loaded and has fetchpriority set to high, shrink the image file, and remove render-blocking scripts. Aim for 2.5 seconds or less for three in four visits.

Close-up of a silver stopwatch face with the second hand near the top, timing how long a page takes to show its main content.
Credit: Sadia via Pixabay

Largest Contentful Paint (LCP) is the time until the biggest thing in view, usually your hero photo or headline, appears on screen. It's one of Google's three Core Web Vitals, and a good score is 2.5 seconds or less. Most poor LCP scores come down to a few fixable causes, but you need to know which part of the load is slow before you start.

Where does LCP time actually go?

Google's web.dev guidance splits every LCP into four parts that add up to the total:

PartWhat it isRough target shareUsual fix
Time to first byteWaiting for the server to send the HTMLAbout 40%Page caching, faster hosting
Resource load delayGap before the browser starts fetching the imageUnder 10%Don't lazy-load it; set fetchpriority
Resource load durationDownloading the image itselfAbout 40%Smaller file, modern format
Element render delayGap between download and displayUnder 10%Remove render-blocking CSS and scripts

This matters because fixes only help the part that's slow. Compressing an image that's waiting on a slow server barely moves LCP.

How do I find my LCP element?

For a deeper look, our guide on how to test website speed explains the difference between this lab test and real-visitor data.

How do I fix each part?

What does WordPress already do for LCP?

Since WordPress 6.3, core adds fetchpriority="high" to the image it thinks is most likely your LCP, and skips lazy-loading on images likely to be in view. WordPress's own notes put the gain from fetchpriority at typically 5 to 10%. Some themes, page builders and optimisation plugins override this, so check the page source after any change.

If none of these fixes moves the needle, read why your WordPress site is slow for the bigger causes.

Step by step

  1. 1.Find your LCP element

    Run the page through PageSpeed Insights and open the LCP breakdown to see which element is the LCP and where the time goes.

  2. 2.Cut server response time

    Turn on page caching so the HTML arrives quickly. Aim for a time to first byte of 0.8 seconds or less.

  3. 3.Load the LCP image early

    Make sure the hero image is in the HTML, isn't lazy-loaded and has fetchpriority="high".

  4. 4.Shrink the image

    Resize it to the size it's displayed at and save it as WebP or AVIF.

  5. 5.Remove render-blocking code

    Defer non-essential scripts and cut unused CSS so the image can appear as soon as it arrives.

Frequently asked questions

Why is my LCP fine on desktop but poor on mobile?

Mobile tests simulate a slower device on a mobile network, and real phones often are slower. Large images and heavy scripts hurt far more there. Serve smaller images to small screens, which WordPress does automatically through srcset for images added in the editor.

Should I lazy-load all images to improve LCP?

No. Lazy-loading images below the fold is good, but lazy-loading the LCP image makes LCP worse because the browser waits to fetch it. Google's web.dev guidance says never to lazy-load your LCP image.

Can text be the LCP element?

Yes. If your top of page is a big heading with no image, a text block can be the LCP. Then web fonts and render-blocking CSS matter most, because the text can't show until they've loaded.

Sources

  1. web.dev, Optimize Largest Contentful Paint
  2. web.dev, Largest Contentful Paint (LCP)
  3. Chrome for Developers, LCP breakdown insight
  4. Make WordPress Core, Image performance enhancements in WordPress 6.3
A slim external hard drive plugged into a laptop by its cable, the kind of separate copy every website backup needs.TutorialHow to back up a WordPress siteA complete WordPress backup has two parts, your files and your database, and you need both to restore the site. The easiest method is a backup plugin such as UpdraftPlus that saves both on a schedule to cloud storage. Keep at least three recent copies in different places, and test a restore before you need one.WordPress speed · 30 October 2026A white power strip crowded with plugs and a bulky adapter, cables tangled across it.QuestionHow many WordPress plugins is too many?There's no safe or unsafe number of WordPress plugins. What matters is what each plugin does, how well it's built and whether it's still maintained. One heavy or abandoned plugin can cause more trouble than twenty light, well-supported ones. Keep only plugins you actively use, delete the rest, and test speed when you add a new one.WordPress speed · 28 October 2026Two network cable plugs lying apart on a black background, a connection waiting to be made.QuestionHow to fix "Error establishing a database connection" in WordPressThis error means WordPress can't connect to the database that holds your content. The cause is usually wrong details in wp-config.php (database name, username, password or host), a database server that's down or overloaded, or damaged database tables. Check the four wp-config.php values first. WordPress's own guide names them as the usual cause.WordPress speed · 26 October 2026A red squirrel eating beside a wooden feeder stocked with peanuts, a store of food ready the moment it's needed.ComparisonWhat's the best caching plugin for WordPress?The best caching plugin depends on your server. If your host runs LiteSpeed, use LiteSpeed Cache. Otherwise, WP Super Cache is the simplest free choice for most small sites, WP Fastest Cache and WP-Optimize add more tuning in one free plugin, and WP Rocket is the paid option if you'd rather not configure anything. Only ever run one.WordPress speed · 24 October 2026

Hosting made for WordPress

See how our WordPress hosting is set up.

See WordPress hosting