Skip to content
ARDURA Lab
·3 min

Lighthouse — Google's performance and SEO audit tool

Lighthouseperformancetechnical SEOCore Web Vitalsaudit

What is Lighthouse?

Lighthouse is Google's open-source web page audit tool (released 2017). It automatically tests performance, SEO, accessibility, best practices, and PWA. Available in Chrome DevTools, CLI, as a Node module, and integrated in PageSpeed Insights (PSI).

Lighthouse generates a score 0-100 for each category + detailed recommendations on what to improve.

5 audit categories

1. Performance

  • Core Web Vitals — LCP, INP, CLS
  • First Contentful Paint (FCP)
  • Speed Index
  • Total Blocking Time (TBT)
  • Time to Interactive (TTI) — deprecated in 2024

2. Accessibility

  • ARIA roles correctness
  • Color contrast (WCAG 2.1)
  • Form labels
  • Heading hierarchy
  • Image alt text
  • Keyboard navigation

3. Best Practices

  • HTTPS usage
  • Console errors
  • JS library vulnerabilities
  • Image aspect ratio
  • Browser compatibility

4. SEO

  • Meta tags (title, description)
  • Viewport meta
  • Crawlable links
  • robots.txt validity
  • Mobile-friendly

5. PWA (Progressive Web App)

  • Service worker
  • Manifest.json
  • Installable

Scoring

ScoreStatus
90-100Good (green)
50-89Needs Improvement (orange)
0-49Poor (red)

Performance score is a weighted composition: LCP 25%, TBT 30%, CLS 25%, FCP 10%, Speed Index 10%.

Lighthouse vs PageSpeed Insights vs CrUX

  • Lighthouselab data (controlled environment, single test run)
  • PageSpeed Insights (PSI) — web version of Lighthouse + CrUX field data (real users)
  • Chrome User Experience Report (CrUX)field data from real Chrome users (last 28 days)

Lab vs Field: Lab is simulation in specific throttle setting (Slow 4G, Moto G4 CPU). Field is what users actually experience.

For SEO, Google uses field data (CrUX) as a ranking signal. Lab data (Lighthouse) is for debugging.

How to run Lighthouse

Chrome DevTools

  • F12 → Lighthouse tab → Analyze page load
  • Options: Mobile/Desktop, categories, throttling

CLI

npm install -g lighthouse
lighthouse https://example.com --view --preset=desktop

Node module

const lighthouse = require('lighthouse');
const result = await lighthouse(url, { onlyCategories: ['performance'] });

CI/CD

  • Lighthouse CI (@lhci/cli) — automatic audits in PR
  • GitHub Actiontreosh/lighthouse-ci-action

Bulk audit

  • PageSpeed Insights API — programmatic CrUX + Lighthouse data
  • MarketingOScli cwv check <company> <url1> <url2> uses PSI API

Performance optimization checklist (Lighthouse)

  1. Image optimization — WebP/AVIF, responsive srcset, lazy loading
  2. Minify CSS/JS — at build (Next.js, Vite, Webpack do auto)
  3. Code splitting — dynamic imports for below-fold
  4. Font optimizationdisplay: swap, preconnect, subset
  5. Critical CSS — inline above-the-fold styles
  6. Defer non-critical JS<script defer> / <script async>
  7. CDN — global edge (Cloudflare Pages)
  8. HTTP/2 + brotli — server config
  9. Cache headers — long max-age for static, immutable
  10. Reduce 3rd-party — minimize trackers, lazy-load analytics

Common mistakes

  • Score chasing — 100/100 vs 95/100 doesn't change ranking, but +10 hours of work
  • Lab vs field disconnect — Lighthouse shows 95, but CrUX shows 70 → your optimization doesn't reflect real users
  • Single page audit — typically you test home, but each page has different score
  • No monitoring — one-time audit vs continuous monitoring (PSI weekly)

Related terms

Need help?

Strategy tailored to your goals — check out our offer.