Read more articles
Published October 8, 2025 · Updated September 28, 2026

Lighthouse performance monitoring: a practical guide

Lighthouse performance monitoring explained: how the score works, current Core Web Vitals thresholds (LCP, INP, CLS) and how to track and fix regressions.

What is Lighthouse performance monitoring?

Google Lighthouse is an open-source tool that audits a web page for performance, accessibility, best practices and SEO. A single audit shows how a page performs today; Lighthouse performance monitoring runs those audits on a regular schedule so you can see trends, spot regressions after a release and prove that optimizations worked. This guide explains what Lighthouse measures, how the performance score is calculated, which Core Web Vitals thresholds apply today – including INP, which replaced FID in 2024 – and how to act on the results.

What Lighthouse measures

Every Lighthouse report scores a page from 0 to 100 in four categories:

Performance

How quickly the page loads, becomes usable and stays visually stable, based on lab metrics such as Largest Contentful Paint, Total Blocking Time and Cumulative Layout Shift.

Accessibility

Whether people using assistive technology can use the page: color contrast, alt text, form labels, heading order and keyboard navigation.

Best practices

Modern web standards such as HTTPS, no browser errors in the console, secure third-party code and correctly sized images.

SEO

Basic search engine requirements: a title and meta description, crawlable links, valid hreflang and a page that isn't blocked from indexing.

How the Lighthouse performance score is calculated

Since Lighthouse 10, the performance score is a weighted average of five lab metrics. Total Blocking Time and the two Core Web Vitals that Lighthouse can measure carry most of the weight:

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

Scores of 90–100 are rated good, 50–89 need improvement and 0–49 are poor. Time to Interactive (TTI) is no longer part of the score.

Scores vary between runs because of network conditions, server load and browser extensions. That's why trends over many runs are more reliable than any single audit.

Core Web Vitals: LCP, INP and CLS

Core Web Vitals are Google's three user-experience metrics for loading, responsiveness and visual stability. Interaction to Next Paint (INP) officially replaced First Input Delay (FID) as the responsiveness metric on March 12, 2024. Google recommends measuring each metric at the 75th percentile of page loads, separately for mobile and desktop.

Largest Contentful Paint (LCP)

Good: 2.5 s or less · Poor: over 4 s

LCP measures how long it takes for the largest image or text block in the viewport to render. It's the best proxy for when users see the main content.

Why it matters: A slow LCP means visitors stare at an incomplete page. Slow server responses, render-blocking resources and large hero images are the usual causes.

How to improve it:

  • Reduce server response time (TTFB) with caching and a CDN
  • Serve the LCP image in a modern format (WebP or AVIF) at the right size
  • Don't lazy-load the LCP image; give it fetchpriority="high"
  • Remove or defer render-blocking CSS and JavaScript

Interaction to Next Paint (INP)

Good: 200 ms or less · Poor: over 500 ms

INP measures how quickly the page responds to clicks, taps and key presses throughout the whole visit, and reports one of the slowest interactions. FID only measured the delay before the first interaction was processed.

Why it matters: A poor INP makes a page feel sluggish or broken, even if it loaded quickly. Long JavaScript tasks that block the main thread are the most common cause.

How to improve it:

  • Break up long tasks and yield to the main thread
  • Reduce and defer third-party scripts
  • Keep event handlers small and move heavy work off the main thread
  • Avoid large, complex DOM updates after each interaction

Cumulative Layout Shift (CLS)

Good: 0.1 or less · Poor: over 0.25

CLS measures how much visible content moves unexpectedly while the page is open. A shift happens when an element changes position between frames without user input.

Why it matters: Layout shifts make users lose their place or tap the wrong button. They're usually caused by images without dimensions, late-loading ads or embeds, and web fonts.

How to improve it:

  • Set width and height (or aspect-ratio) on images, videos and iframes
  • Reserve space for ads, embeds and dynamic content
  • Don't insert content above existing content unless the user asked for it
  • Use font-display and preload key fonts to limit text shifts

Measuring INP with Lighthouse

A standard Lighthouse audit loads the page without interacting with it, so it can't measure INP. Use Total Blocking Time as the lab proxy: a high TBT usually means poor INP for real users. To see actual INP values, check field data from the Chrome UX Report in PageSpeed Insights or the Core Web Vitals report in Google Search Console.

Lab data vs. field data

Lighthouse produces lab data: a controlled test on a simulated device and network. Field data comes from real Chrome users. You need both.

Lab data (Lighthouse)

Repeatable and available immediately, even for pages with little traffic. Ideal for catching regressions before and after a release and for debugging specific problems.

Field data (Chrome UX Report)

Reflects real devices, networks and interactions, and is what Google uses for Core Web Vitals in Search. It's aggregated over the previous 28 days, so changes show up slowly.

Mobile vs. desktop performance

Mobile and desktop results often differ widely, and Google evaluates Core Web Vitals for each separately. Test both.

Mobile

Lighthouse's mobile audit simulates a mid-range phone with a throttled CPU and a slower network. Mobile scores are usually lower and closer to what many real visitors experience.

Desktop

The desktop audit uses a faster simulated connection and no mobile CPU throttling. A good desktop score doesn't mean the mobile experience is good too.

How to improve your Lighthouse performance score

Most gains come from a handful of techniques. Start with whichever area your report flags most:

Critical rendering path

Get the first and largest content on screen faster (FCP, LCP).

Techniques:
  • Inline critical CSS and defer the rest
  • Preload the LCP image and key fonts
  • Remove render-blocking JavaScript
  • Improve server response time (TTFB)

Images and media

Images are often the largest resources on a page (LCP, CLS).

Techniques:
  • Use WebP or AVIF with fallbacks
  • Serve responsive images with srcset and sizes
  • Lazy-load below-the-fold images only
  • Always set image dimensions

JavaScript

Less main-thread work means better responsiveness (TBT, INP).

Techniques:
  • Split bundles and load code on demand
  • Remove unused code with tree shaking
  • Break up long tasks
  • Limit and defer third-party scripts

Network and caching

Deliver every resource faster (all metrics).

Techniques:
  • Use a CDN close to your users
  • Serve over HTTP/2 or HTTP/3
  • Set long cache lifetimes for static assets
  • Reduce DNS lookups and reuse connections

Common performance problems and fixes

Performance problems tend to follow familiar patterns. Here are three you'll recognize, with the metrics they affect and where to start.

1

Online shop slows down during a sale

Product pages get heavier and the server slower just when traffic peaks.

Symptoms:
  • Slow LCP from large, unoptimized product images
  • Layout shifts from late-loading banners and reviews
  • High TBT from marketing and tracking scripts
Impact:

Shoppers wait longer, and more of them give up before checkout

Fixes:
  • Resize and compress product images and serve WebP or AVIF
  • Reserve space for banners and dynamic widgets
  • Audit tag managers and defer non-essential scripts
  • Cache pages at the edge with a CDN
2

News site under a traffic spike

A breaking story sends traffic far above normal levels.

Symptoms:
  • Slow FCP and LCP as the origin server struggles
  • Layout shifts from ads and embedded media
  • Poor responsiveness from heavy ad scripts
Impact:

Readers bounce before the article appears

Fixes:
  • Serve cached or static versions of article pages
  • Reserve fixed slots for ads and embeds
  • Load third-party scripts after the main content
  • Scale server capacity ahead of expected peaks
3

Web app gets slower with every release

New features gradually add JavaScript until the app feels sluggish.

Symptoms:
  • Growing JavaScript bundles
  • Long tasks that raise TBT and hurt INP
  • More third-party dependencies
Impact:

Users notice lag in everyday tasks

Fixes:
  • Split code by route and load features on demand
  • Set a performance budget and check it on every release
  • Remove unused dependencies
  • Track Lighthouse scores continuously to catch regressions early

Lighthouse performance monitoring with nanokoi.io

nanokoi.io includes Google Lighthouse performance monitoring and Core Web Vitals tracking on every plan, alongside website monitoring for uptime, SSL certificates and DNS.

Automated Lighthouse audits

Instead of running Lighthouse by hand, nanokoi.io audits your monitored URLs for you, so you always have up-to-date performance, accessibility, best-practice and SEO scores.

Core Web Vitals tracking

Track scores and Core Web Vitals over time to see whether a release made things better or worse. Monitoring data can be exported as CSV, JSON or XML for your own analysis.

AI-generated optimization reports

AI-generated optimization reports turn Lighthouse findings into a prioritized list of fixes. The Professional plan adds AI-powered performance insights – see pricing for what each plan includes.

Getting started

You can set up Lighthouse performance monitoring in a few minutes. New to monitoring? Our website monitoring guide covers the basics.

  1. 1Add your website: Create a free account and add the URLs you want to monitor – the Free plan covers up to 5.
  2. 2Review your baseline: Check the first Lighthouse scores and Core Web Vitals for each page and note the weakest metric.
  3. 3Fix the biggest issue first: Work through the AI-generated optimization report, starting with the metric that's furthest from 'good'.
  4. 4Track the trend: Compare scores after each release to confirm improvements and catch regressions early.
nanokoi.io Lighthouse performance monitoring dashboard
Lighthouse scores and Core Web Vitals tracked over time in nanokoi.io

Lighthouse performance monitoring FAQ

What is a good Lighthouse performance score?

90 or above is rated good, 50–89 needs improvement and below 50 is poor. Treat the score as a guide: the individual metrics – especially LCP, TBT and CLS – tell you what to fix.

Does Lighthouse still measure FID?

No. FID was retired as a Core Web Vital in March 2024 and replaced by INP. Lighthouse can't measure INP in a standard page-load audit, so it reports Total Blocking Time as a lab proxy.

Why do my Lighthouse scores change between runs?

Network conditions, server load, CPU availability and browser extensions all affect lab results. Monitoring over time smooths out this noise and shows the real trend.

Do Lighthouse scores affect Google rankings?

Not directly. Google's ranking systems use Core Web Vitals from real-user field data as part of page experience, not the Lighthouse score itself. Lighthouse helps you find and fix the problems that affect those metrics.

Start monitoring your Lighthouse performance

Track Lighthouse scores and Core Web Vitals for your key pages and get AI-generated optimization reports. The Free plan covers up to 5 URLs.

Start monitoring for free

No credit card required

Lighthouse performance monitoring: a practical guide