How to Optimize your Site for Largest Contentful Paint (LCP)?

Last Updated: May 31, 2023
Category: SEO
Advertising Disclosure

Advertising Disclosure

This article may contain links that lead to sponsored or affiliate products. We may earn a commission from your purchases or actions taken through these links. Rest assured, all recommendations are based on genuine reviews and align with our commitment to delivering valuable and relevant content.

Optimizing your website for Largest Contentful Paint (LCP) is crucial for providing a better user experience, improving search engine rankings, reducing bounce rates, increasing conversions and revenue, ensuring mobile-friendliness, and staying competitive in the online landscape.
LCP measures the time it takes for the largest element on a web page to load and become visible to users. By optimizing for LCP, you can significantly enhance the user experience by reducing the waiting time for the main content to load. This results in improved engagement, lower bounce rates, and increased user satisfaction.

The Performance score is a weighted average of the metric scores. Naturally, more heavily weighted metrics have a bigger effect on your overall Performance score. The metric scores are not visible in the report, but are calculated under the hood. The weightings are chosen to provide a balanced representation of the user's perception of performance. The weightings have changed over time because the Lighthouse team is regularly doing research and gathering feedback to understand what has the biggest impact on user-perceived performance.

  • First Contentful Paint (FCP)- 10%
  • Speed Index (SI)- 10%
  • Largest Contentful Paint (LCP)- 25%
  • Total Blocking Time (TBT)-  30%
  • Cumulative Layout Shift (CLS)- 25%

Search engines, like Google, consider page experience as a ranking factor, with LCP being one of the key metrics. Websites with a fast loading time and a good user experience are more likely to rank higher in search engine results, leading to increased organic traffic and visibility. Furthermore, a fast-loading website can positively impact conversions and revenue. When users can quickly access your content and navigate through your site without delays, they are more likely to convert, whether that means purchasing, filling out a form, or subscribing to a service.

  • Optimize your Site for Largest Contentful Paint
    • 1. Use a fast and reliable web hosting service
    • 2. Optimize your images
    • 3. Minimize render-blocking resources
    • 4. Prioritize above-the-fold content
    • 5. Enable browser caching
    • 6. Remove unnecessary third-party scripts
    • 7. Remove unused JavaScript
    • 8. Use a content delivery network (CDN)
    • 9. Remove Unused CSS

What is a Good LCP Score?

To provide a good user experience, sites should strive to have Largest Contentful Paint of 2.5 seconds or less. To ensure you're hitting this target for most of your users, a good threshold to measure is the 75th percentile of page loads, segmented across mobile and desktop devices.

Largest Contentful Paint

How to Optimize Your Site for Largest Contentful Paint (LCP)?

Optimizing your website for Largest Contentful Paint (LCP) is crucial for improving user experience and search engine rankings. LCP measures the time it takes for the largest element on a web page to load and become visible to users. Specifically, LCP measures the time from when the user initiates loading the page until the largest image or text block is rendered within the viewport. Here are some steps you can take to optimize your site for LCP:

1. Use a fast and reliable web hosting service:

Ensure your website is hosted on a reliable server with good response times. A slow hosting service can significantly impact your LCP and other core web vitals. Here are our recommendations on the best hosting service providers

2. Optimize your images:

Large, unoptimized images are a common cause of slow loading times. Compress your images using tools like Photoshop, TinyPNG, Cloudconvert or Squoosh to reduce file size without compromising quality. Additionally, consider using next-generation image formats like WebP, which offer better compression. If you have images in the first loading screen of your website, make sure those images are in Webp format only. This will improve your LCP. 

3. Minimize Render-Blocking Resources:

Render-blocking resources such as JavaScript and CSS files can delay rendering your page's content. Minimize the use of external scripts and stylesheets, and make sure they are loaded asynchronously or deferred when possible. This allows the browser to continue rendering the page while the resources are being fetched. Lighthouse flags two types of render-blocking URLs: scripts and stylesheets.

A <script> tag that:

  • Is in the <head> of the document.
  • Does not have a defer attribute.
  • Does not have an async attribute.

A <link rel="stylesheet"> tag that:

  • Does not have a disabled attribute. When this attribute is present, the browser does not download the stylesheet.
  • Does not have a media attribute that matches the user's device specifically. media="all" is considered render-blocking.

The first step towards reducing the impact of render-blocking resources is to identify what's critical and what's not. Use the Coverage tab in Chrome DevTools to identify non-critical CSS and JS. When you load or run a page, the tab tells you how much code was used, versus how much was loaded:

You can reduce the size of your pages by only shipping the code and styles that you need. Click on a URL to inspect that file in the Sources panel. Styles in CSS files and code in JavaScript files are marked in two colors:

  • Green (critical): Styles that are required for first paint; code that's critical to the page's core functionality.
  • Red (non-critical): Styles that apply to content not immediately visible; code not being used in page's core functionality.

Once you've identified critical code, move that code from the render-blocking URL to an inline script tag in your HTML page. When the page loads, it will have what it needs to handle the page's core functionality. If there's code in a render-blocking URL that's not critical, you can keep it in the URL, and then mark the URL with async or defer attributes.

Similar to inlining code in a <script> tag, inline critical styles required for the first paint inside a <style> block at the head of the HTML page. Then load the rest of the styles asynchronously using the preload link (see Defer unused CSS). Consider automating the process of extracting and inlining "Above the Fold" CSS using the Critical tool.

4. Prioritize above-the-fold content:

Load and display the most important content above the fold quickly. This ensures that users can start interacting with the page while the rest of the content loads in the background. Avoid delaying displaying critical elements with large file sizes or excessive JavaScript processing.

5. Enable browser caching:

Leverage browser caching to store static resources on the user's device. This way, subsequent visits to your website can load these resources from the cache, reducing the need for repeated downloads.

6. Remove unnecessary third-party scripts:

Evaluate your website's third-party scripts and services and determine if they are essential. Each additional script adds overhead and can impact LCP. Remove or minimize the use of non-essential scripts to improve loading times. Additionally, defer all analytics and user behaviours tracking scripts. 

7. Remove unused JavaScript:

Even if the JavaScript is asynchronous (not render-blocking), the code competes for bandwidth with other resources while it's downloading, which has significant performance implications. Sending unused code over the network is also wasteful for mobile users who don't have unlimited data plans. Lighthouse flags every JavaScript file with more than 20 kibibytes of unused code. Refer to this guide for more information on removing unused Javascript. 

8. Use a content delivery network (CDN):

A CDN can help distribute your website's content across multiple servers in various locations. This reduces the distance between your users and your website's server, improving the overall loading times. Here is a video that dives deep into how you can optimize your website's LCP. 

9. Remove Unused CSS:

The Opportunities section of your Lighthouse report lists all stylesheets with unused CSS with a potential savings of 2 KiB or more. Remove the unused CSS to reduce unnecessary bytes consumed by network activity. Refer to this guide for more information on removing unused Javascript. 

Remember, LCP is just one aspect of overall website performance. It's important to consider other performance metrics like First Contentful Paint (FCP), Time to Interactive (TTI), and Total Blocking Time (TBT) to ensure a smooth user experience. Optimizing your site for LCP improves user experience, search engine rankings, conversions, mobile-friendliness, and overall competitiveness. It is a vital aspect of web development that directly impacts user satisfaction, website performance, and business success. Refer to this LCP optimization guide for more information. 


Editorial Staff at Publisher Growth is a team of blogging and AdTech experts adept at creating how-to, tutorials, listings, and reviews that can publishers run their online businesses in a better way.

Frequently Asked Questions

Image optimization plays a vital role in improving LCP. Compress images to reduce file size without compromising quality, use next-generation image formats like WebP, and implement lazy loading techniques to load images only when they enter the viewport.

Yes, optimizing server response times is important for LCP. Ensure your server responds quickly to requests by working with your hosting provider to optimize server configurations, reduce latency, and leverage browser caching to store static resources on the user's device.

Suggested Reading