How to Improve Largest Contentful Paint (LCP) on WordPress

Measuring a website’s user experience (UX) can be a tough challenge. But that’s what Google’s attempting to do with the Core Web Vitals metrics. And scoring well on these is important because Google weighs user experience when determining search engine rankings. 

There are several metrics that are part of Core Web Vitals, and they could sound a bit intimidating. The good news is that there are several tools that make it easier to understand your score and how to improve. 

In this article, we’ll look at one particular metric: Largest Contentful Paint (LCP). This measures how long it takes your website to load the largest element that you see on the screen. 

We’ll discuss how it impacts the user experience and what causes a poor LCP score. Then, we’ll show you how to improve it.

What is Largest Contentful Paint (LCP)?

LCP is a metric that measures how long it takes for the largest element on a page to load. For most pages, the largest element is a big image or a hero section at the top of the screen.

By itself, an LCP score helps you understand how quickly your site loads visual elements. Your page can continue to load scripts in the background without impacting this metric. In a nutshell, LCP scores only relate to media and text on a given page.

LCP is one of the three Core Web Vitals that Google uses to measure a page’s UX. The other two are:

  1. First Input Delay (FID): FID measures how long it takes from the time a visitor takes their first action (clicking a link, for example) and when the site responds. 
  2. Cumulative Layout Shift (CLS): This metric effectively measures the degree to which your site shifts when loading. Text might appear first, but then jump down the screen when an image loads, causing visitors to lose their place. 

As a rule of thumb, you want all three Core Web Vitals scores to be as low as possible. Low scores mean that a page loads quickly and smoothly. 

In terms of numbers, here’s what Google considers to be good, acceptable, and poor Core Web Vital scores:

ideal core web vitals scores

Keep in mind that measuring page loading times is not the same as checking your website’s Core Web Vitals. Your site might load relatively fast, but it could have poor CLS or FID scores. Ideally, you’ll measure both overall loading times and Core Web Vitals to get an accurate assessment of your site’s performance.

How does LCP impact user experience on a WordPress site?

A poor largest contentful paint score means that your pages might be taking too long to load. Keep in mind that you need to measure Core Web Vitals on a page-by-page basis. While one page might have a poor LCP score, others may be just fine.

But generally, a site will see a trend to their LCP scores because results are often tied to optimization practices that are implemented site-wide. If a site has been created with no regard for best practices, every page will likely have a score on the low side. If a site has been carefully optimized, most pages will usually score pretty well. Thoughtful developers will identify pages that score below average and make specific adjustments to improve that page’s performance. 

Overall, a poor LCP score means that visitors might have to wait too long for your pages to fully load visually, and visitors don’t like waiting. If your pages take over two or three seconds to load, you can start turning around a lot of visitors.

It’s also worth noting that Core Web Vitals are a ranking factor in Google. Poor LCP scores can decrease rankings in the search engine results pages (SERPs), which means you’ll get less organic traffic. 

How to measure LCP scores

There are several tools that you can use to measure LCP scores. The simplest one is PageSpeed Insights. With this service, you can enter the URL for any page, and get a full report on its overall performance in a matter of seconds.

PageSpeed Insights tool

Once you enter a URL and click on Analyze, PageSpeed Insights will generate two reports for that page, one for mobile and the other for desktop performance. You can see your Core Web Vitals scores, including LCP, at the top of the report.

If you scroll down, the report also displays potential performance improvements that you can make for your website. For each suggested improvement, PageSpeed Insights gives you an estimate of the loading times that can be saved.

list of improvements from PageSpeed Insights

If you use Google Search Console, you can get access to the PageSpeed Insights reports without leaving the platform. And some WordPress plugins like Site Kit enable you to display Core Web Vitals scores right within the dashboard.

What causes a poor LCP score?

There are a lot of potential causes for a poor LCP score and long loading times. Usually, it comes down to issues with your server or a lack of optimization on your website. Let’s go over each potential cause:

  1. Slow server response times. If your web host doesn’t offer good performance at the server level, there’s little that you can do to decrease your LCP scores. Slow server response times mean long waits for visitors —  even if your site is properly optimized. In this case, you might want to consider switching to a different WordPress hosting provider
  2. Render-blocking JavaScript and CSS. In some cases, JavaScript and CSS scripts can prevent other assets on a page from rendering until they’re done loading. This is called “render-blocking” and it can increase your overall loading times.
  3. Heavy files and images. If you use images with large file sizes, these may take a while to load. Ideally, you should compress and optimize the images you upload to your site.
  4. Not leveraging browser caching. Browser caching saves a copy of your site’s static content in visitors’ browsers to speed up your load time for future visits. If you’re not leveraging browser caching, users will have to reload pages in full every time they stop by.
  5. Not using GZIP compression. This is a software application that compresses HTTP requests and files at the server level. Most reputable web hosts should offer GZIP compression right out of the box.

How to improve largest contentful paint in WordPress

There are several ways to reduce your WordPress website’s LCP score and improve its overall performance. Let’s take a look at the most effective methods. 

1. Use a plugin designed to help improve Core Web Vitals in WordPress

There are several plugins that are designed to help you improve your Core Web Vitals scores. One of the most powerful solutions is Jetpack Boost.

screenshot of Jetpack Boost homepage

Jetpack Boost can help you implement multiple performance optimizations simply by toggling the corresponding settings. You can defer render-blocking JavaScript, enable lazy loading, and optimize CSS code within your website.

options to optimize core web vitals on WordPress

While using Jetpack Boost will help improve your LCP scores, it doesn’t mean that you should skimp on other performance optimizations. After enabling the plugin, we recommend that you also implement other strategies to improve your Core Web Vitals even further.

Learn more about Jetpack Boost here.

2. Minify your website’s CSS

When you work with code, it’s considered good practice to format it in a way that’s easy for other people to understand. This means using spaces, spreading the code over multiple lines, and structuring it in a way that makes it easier to read.

The problem with that approach is that every space and character takes up additional disk space. If we’re only talking about a few lines of code, that doesn’t have much of an impact. But when you’re dealing with dozens or hundreds of CSS files, each with hundreds of lines of code, those scripts can affect your website’s loading times and LCP scores.

One way to minimize the impact of CSS is to “minify” the code. This involves removing unnecessary characters and white spaces to reduce file size. To see how that works, here’s an example of some CSS code for styling several div elements:

div{
  border: 3px solid currentColor;
}
#div1{
  color: green;
}
#div2{
  color: blue;
}

Now, here’s how that code looks after you minify it:

div{border:3px solid currentColor}#div1{color:green}#div2{color:#00f}

Depending on the minification tool you use, it might also replace values with optimized alternatives. We mention minification tools because formatting code by hand takes too long and can lead to errors.

There are plenty of free minification tools that you can use on the web, including options like Toptal’s CSS minifier.

original CSS and the minified version shown in Toptal's CSS minifier

There are also WordPress minification plugins that you can use to optimize your website’s code. Most of these plugins don’t just minify CSS, but they also include other features like deferring render-blocking JavaScript and CSS. We’ll talk about what that means in the next section.

3. Defer render-blocking JavaScript and CSS

When you visit a website, it might not load resources in a way that reduces loading times as much as possible. In some cases, JavaScript files might cause your browser to wait until those scripts are finished loading before it continues to render other elements.

That render-blocking code increases your page’s LCP score. There are two ways to deal with this problem:

  1. Eliminate render-blocking scripts.
  2. Defer render-blocking scripts until other elements finish loading.

The second option is ideal if you’re handling code that your website needs for critical features. By deferring the necessary scripts, pages will finish visually rendering and then the code will load in the background. As far as users are concerned, everything will load faster.

The easiest way to figure out what scripts block rendering is to use PageSpeed Insights. Every PageSpeed Insights report includes a section that covers recommended performance tweaks. 

After you run a test, look under the tab that says Remove render-blocking resources. Inside, you’ll see a list of JavaScript and CSS scripts that block rendering. This section will also give you an estimate of how much loading time you can shave off by deferring each one.

list of render-blocking resources from Google PageSpeed

You can use the web.dev tool if you don’t mind editing code. Alternatively, you can once again turn to Jetpack Boost to defer render-blocking scripts. It handles multiple elements of improving core web vitals all at once.

There are also several standalone plugins that defer render-blocking scripts and minify them. These include:

  1. Autoptimize: you can defer render-blocking JavaScript and CSS, and enable image lazy loading for your website.
  2. Fast Velocity Minify: this plugin can defer, minify, and combine JavaScript and CSS files on your website.
  3. Hummingbird: this WPMU DEV plugin enables you to leverage browser caching, defer render-blocking scripts, and minify JavaScript and CSS. 

When dealing with plugins that can minify your website’s code, we recommend that you fully back up your WordPress site before activating them. That way, if the minification process breaks any core functionality within your website, you can revert to an earlier version without losing any data.

4. Optimize your site’s images

One of the main culprits behind poor LCP scores in WordPress is large image files. High-resolution images look amazing, but they also take up a lot of storage space. If you’re dealing with uncompressed files and have multiple images in a single page, loading times can quickly spiral out of control.

The best way to solve this problem is to optimize your images. You can do this either before or after uploading them to WordPress. 

Optimizing images means compressing them. Depending on the compression tool that you use, the process should have minimal impact on image quality, but it can greatly reduce file sizes and overall loading times.

If you want to optimize images before uploading them to WordPress, you can use free online tools like TinyPNG.

uploading images to TinyPNG

With TinyPNG, you can upload and optimize JPG and PNG files manually. The service compresses the images and then lets you download them to your computer. Afterward, you can proceed to upload the compressed images to WordPress.

Jetpack CDN is a great option to optimize your images directly in WordPress. It also automatically resizes images for mobile devices, speeding up your site across the board. Speaking of the benefits of a CDN… 

5. Use a content delivery network (CDN)

A CDN is a service that provides you with access to data centers spread across strategic regions. These data centers store cached copies of your website and intercept connections for people who want to visit it.

A CDN automatically routes those connections to the data center that’s nearest each visitor. Since the site content has less distance to travel, the page will load faster. 

Moreover, CDNs are designed to serve requests as quickly as possible. This means that they usually load content much faster than the servers run by your hosting provider.

Services like Cloudflare offer limited free CDN plans that can cache a few of your site’s pages. Some managed WordPress web hosts offer built-in CDN integrations, so you don’t have to pay for a separate service. But if you use Jetpack, you also get access to a free, WordPress-specific CDN, which you can use to speed up images and website files.

CDN settings in Jetpack

Frequently asked questions about Largest Contentful Paint in WordPress

If you still have questions about how to measure and optimize your LCP score, this section will answer them. 

How can I measure my WordPress site’s LCP score?

Since LCP scores are part of the Core Web Vitals metrics, you need to use Google tools to measure them. Google offers three ways to measure your LCP score:

  1. PageSpeed Insights: You can use this online service to measure any page’s Core Web Vitals on demand. When you analyze a page, PageSpeed Insights will also return suggestions for improving performance and overall UX.
  2. Google Search Console: This service enables you to monitor your website’s search engine optimization (SEO) and overall health. Google Search Console also includes built-in recommendations and scores from PageSpeed Insights.
  3. Lighthouse: You can use this Chrome extension to get access to advanced features when using the browser’s dev tools.

Google also offers an official plugin called Site Kit that you can use to access several of its services from within WordPress. With Site Kit, you can get access to PageSpeed Insights reports, including LCP scores, without leaving the dashboard.

What is a good LCP score?

According to Google, anything below 2.5 seconds is a good LCP score. Even if your website does meet that criteria, it doesn’t mean you shouldn’t optimize it further.

Ideally, you’ll want to reduce website loading times as much as possible. If you can aim for overall loading times of less than one or two seconds, you can offer a much better user experience.

How can I easily optimize my LCP score on WordPress?

The easiest and quickest way to optimize your LCP score on WordPress is to install Jetpack Boost. This plugin will also help you improve your other Core Web Vitals scores, including First Input Delay and Cumulative Layout Shift. 

Start by installing and activating Jetpack Boost on your site:

Jetpack Boost plugin in the WordPress repository

Then, navigate to Jetpack → Boost in your dashboard. Here, you’ll see options for optimizing CSS loading, deferring non-essential JavaScript, and activating lazy image loading. We recommend that you enable all three options. 

settings in Jetpack Boost

Enabling lazy loading is a great way to improve your website’s LCP scores. WordPress includes lazy loading as a built-in feature as of version 5.5, but you’ll need to enable the setting manually for images that you want to optimize.

With Jetpack Boost, you can enable lazy loading for all images on your website at once. By deferring the largest elements on every page, your LCP score should improve immediately.

Improve your website’s Core Web Vitals

Improving your website’s Core Web Vitals can help you offer a better user experience. LCP scores, in particular, greatly affect how happy visitors are with your site’s performance. A low score means that your website loads fast, and a fast-loading website means fewer frustrated visitors.

Let’s recap the most effective methods that you can use to improve your LCP score in WordPress:

  1. Use a plugin designed to help improve Core Web Vitals.
  2. Minify your CSS.
  3. Defer render-blocking JavaScript and CSS.
  4. Optimize your website’s images.
  5. Use a content delivery network.

With Jetpack Boost, you can quickly optimize your website’s Core Web Vitals, including its LCP scores. Jetpack Boost enables you to implement multiple performance optimizations simply by toggling their corresponding settings. Plus, it’s free and works seamlessly with the rest of the Jetpack family of tools.

This entry was posted in Performance. Bookmark the permalink.

Rob Pugh profile
Rob Pugh

Rob is the Marketing Lead for Jetpack. He has worked in marketing and product development for more than 15 years, primarily at Jetpack, Mailchimp, and UPS. Since receiving a Master of Science in Marketing Degree from Johns Hopkins University, he’s focused on delivering products that delight people and solve real problems.

Explore the benefits of Jetpack

Learn how Jetpack can help you protect, speed up, and grow your WordPress site.

Get up to 60% off your first year.

Compare plans

Have a question?

Comments are closed for this article, but we're still here to help! Visit the support forum and we'll be happy to answer any questions.

View support forum
  • Enter your email address to follow this blog and receive news and updates from Jetpack!

    Join 111,101 other followers
  • Browse by Topic

  • %d bloggers like this: