February 15, 2025
12 min
A deep dive into how Lighthouse measures your website, what each score means, and proven strategies to achieve 90+ across all four categories.

Pio Greeff
Founder & Lead Developer
Deep dive article
In the modern web, performance is not a luxury—it is a competitive advantage. According to Google's research, a 1-second delay in page load can result in a 7% reduction in conversions, an 11% decrease in page views, and a 16% drop in customer satisfaction.
Every 100ms of latency costs Amazon 1% in sales. For a company that size, that translates to billions in lost revenue annually.
Google Lighthouse is an open-source, automated tool for measuring the quality of web pages. It audits performance, accessibility, best practices, and SEO, providing actionable insights that directly impact your search rankings, user experience, and bottom line.
This guide will teach you everything you need to know about Lighthouse: how it works, what each metric means, and concrete strategies to improve your scores.
Lighthouse evaluates your website across four key categories, each scored from 0 to 100. Here is what optimal performance looks like:
Core Web Vitals
Performance metrics for SEO
PASSED
Largest Contentful Paint
LCP
1.8
s
Good
Interaction to Next Paint
INP
120
ms
Good
Cumulative Layout Shift
CLS
0.03
Good
And here is what poor performance looks like—the kind of scores that actively hurt your business:
Core Web Vitals
Performance metrics for SEO
Largest Contentful Paint
LCP
4.5
s
Poor
Interaction to Next Paint
INP
450
ms
Needs Work
Cumulative Layout Shift
CLS
0.28
Poor
Let us break down each category.
The Performance score measures how quickly your page loads and becomes interactive. It is calculated using a weighted average of six metrics:
| Metric | Weight | Description |
|---|---|---|
| First Contentful Paint (FCP) | 10% | Time until the first text or image is painted |
| Largest Contentful Paint (LCP) | 25% | Time until the largest content element is visible |
| Total Blocking Time (TBT) | 30% | Sum of time the main thread was blocked |
| Cumulative Layout Shift (CLS) | 25% | Measures visual stability during load |
| Speed Index | 10% | How quickly content is visually displayed |
According to web.dev's scoring documentation, the weights are designed to prioritize metrics that most closely correlate with perceived user experience.
TBT carries the highest weight (30%) because blocking JavaScript is the primary killer of interactivity on modern websites.
Target Thresholds:
The Accessibility score evaluates how well your site can be used by people with disabilities. Lighthouse runs over 50 automated checks based on the Web Content Accessibility Guidelines (WCAG).
Common Issues That Tank Scores:
alt attributes on imagesA WebAIM study of the top 1 million websites found that 96.8% of home pages had detectable WCAG 2 failures. Accessibility is not a feature—it is a legal and ethical requirement.
This category covers a range of security, modern web development, and user-trust indicators:
The SEO score verifies that your page follows basic search engine optimization guidelines:
<title> element<meta name="description">robots.txtWhile Lighthouse's SEO checks are relatively basic, they cover the foundational requirements. For advanced SEO, tools like Ahrefs or Screaming Frog provide deeper analysis.
Understanding the mechanics helps you interpret and debug results more effectively.
Lighthouse simulates a mid-tier mobile device on a throttled 4G connection by default:
| Setting | Value |
|---|---|
| CPU Throttling | 4x slowdown |
| Network | 150ms RTT, 1.6Mbps download |
| Device Emulation | Moto G4 equivalent |
This explains why your scores in Lighthouse are often lower than what you see on your MacBook Pro with gigabit fiber. Lighthouse is testing the experience for the average user, not the developer.
Lighthouse scores can fluctuate between runs due to:
Google recommends running Lighthouse 3-5 times and taking the median, or using PageSpeed Insights which provides field data alongside lab data.
1. Optimize Images
Images are often the largest payloads. Use modern formats and responsive sizing:
2. Minimize JavaScript
Large JavaScript bundles block the main thread. Strategies include:
3. Use a CDN
Content Delivery Networks like Cloudflare or Vercel Edge Network cache assets at edge locations, reducing latency dramatically.
4. Implement Caching
Set appropriate Cache-Control headers:
For static assets that rarely change, this allows browsers to skip network requests entirely.
1. Run axe DevTools
The axe browser extension provides more detailed accessibility auditing than Lighthouse alone.
2. Use Semantic HTML
3. Ensure Keyboard Navigation
All interactive elements must be reachable and operable via keyboard. Test by tabbing through your entire page.
<title> and <meta description> for each page<h1> per page)<meta name="viewport" content="width=device-width, initial-scale=1">Lighthouse is a point-in-time audit. For production monitoring, consider:
| Tool | Purpose |
|---|---|
| PageSpeed Insights | Lab + field data from real Chrome users |
| Lighthouse CI | Run Lighthouse in your CI/CD pipeline |
| Web Vitals Library | Measure Core Web Vitals in production |
| SpeedCurve | Continuous performance monitoring |
The question we hear most often: "What's a good score?"
Our recommendation for business websites:
| Category | Target | Why |
|---|---|---|
| Performance | 90+ | Directly impacts bounce rate and conversions |
| Accessibility | 100 | Legal liability (ADA) and inclusive design |
| Best Practices | 90+ | Security and modern web standards |
| SEO | 95+ | Foundation for organic discoverability |
Achieving perfect 100s across all categories is often impractical due to third-party scripts, dynamic content, and CMS limitations. The goal is sustainable excellence, not perfection theater.
We target 90+ and verify with real-user monitoring.
Lighthouse scores are not just vanity metrics. They correlate directly with business outcomes:
At grEEff.dev, we treat performance as a first-class product feature. Every site we launch targets 90+ Lighthouse scores, verified across multiple runs and real-world conditions.
Want to see how your current site scores? Run a free audit at PageSpeed Insights and reach out if you would like help closing the gap.
Found this useful?
Share it with your network
<picture> <source srcset="image.avif" type="image/avif"> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="Description" loading="lazy"></picture>Cache-Control: public, max-age=31536000, immutable<!-- Inaccessible --><div class="button" onclick="submit()">Submit</div> <!-- Accessible --><button type="submit">Submit</button>