Lighthouse scores — what actually matters for a small business site
A straight-shooting guide to Google Lighthouse — what it measures, which scores move the needle for ranking and conversion, and the handful of fixes that get you from a red score to green.
If you've ever had someone quote you a website and mention "Lighthouse scores" or "Core Web Vitals", you've probably nodded along without being 100% sure what they meant. Fair enough — the tool is opinionated, the scores are weird percentiles, and the advice online is a mix of genuine wins and pointless micro-optimisation.
Here's the short version of what matters and what doesn't.
What Lighthouse actually is
Lighthouse is a free auditing tool built by Google, baked into Chrome DevTools (F12 → Lighthouse tab) and also runnable as a CLI or a GitHub action. It loads your page in a simulated browser, measures a bunch of signals, and spits out four category scores from 0 to 100.
The four categories:
| Category | What it measures | Why you care |
|---|---|---|
| Performance | How fast your page loads and becomes usable | Directly tied to Google ranking via Core Web Vitals. Biggest conversion lever. |
| Accessibility | Whether screen readers and keyboard users can navigate | Legal exposure (DDA in AU), plus ~20% of your audience benefits. |
| Best Practices | Modern web hygiene (HTTPS, no console errors, secure deps) | Mostly freebies — fixing these takes hours, not weeks. |
| SEO | Basic crawlability + tags, not ranking | A floor, not a ceiling. Green here doesn't mean you rank. |
The only Performance number Google cares about
Of the Performance category, three metrics — the Core Web Vitals — are the ones Google actually uses in its ranking algorithm. Everything else is a means to those ends.
| Metric | What it means | Good threshold |
|---|---|---|
| LCP (Largest Contentful Paint) | Time until the biggest above-the-fold element finishes loading | ≤ 2.5s |
| INP (Interaction to Next Paint) | How quickly the page responds to clicks/taps | ≤ 200ms |
| CLS (Cumulative Layout Shift) | How much the page jumps around while loading | ≤ 0.1 |
If all three are in the "good" zone on 75% of your real user visits, you pass. You can see your field data at search.google.com/search-console → Core Web Vitals.
What a "good" Lighthouse score looks like
The score colours have specific cutoffs most people don't realise:
Aim for 90+ on all four categories on mobile. Desktop is easier — if you pass mobile, desktop follows. The gap between 90 and 100 usually isn't worth chasing; the gap between 60 and 90 almost always is.
The handful of fixes that move the needle
90% of small business sites that land in the 40-70 range are there for the same four reasons.
1. Unoptimised images
The biggest, boringest, most common problem. A 3MB hero photo tanks LCP on mobile in a way no amount of clever caching can fix.
Fix it by:
- Exporting at the actual display size (not a 4000×3000 photo shown at 600×400)
- Serving modern formats (WebP, or AVIF if you're being fancy)
- Using
loading="lazy"on below-the-fold images - Setting explicit
widthandheightso the browser reserves space (kills CLS)
2. Render-blocking fonts and scripts
Every <script> and <link rel="stylesheet"> in your <head> without the right attributes delays your first render. Fixes:
- Self-host web fonts and use
font-display: swap - Add
deferorasyncto non-critical scripts - Inline the critical CSS, load the rest asynchronously
Static site generators (VitePress, Astro, 11ty) handle most of this for you. WordPress/Wix sites usually don't, which is why they're frequently the ones in the 40-70 range.
3. JavaScript bloat
Shipping a full React + analytics + chat widget + tracking pixel stack to a brochure site is the mobile-performance equivalent of towing a caravan to Woolies. Cut what you don't need.
4. No caching or compression
If your hosting doesn't send Cache-Control headers and gzip/brotli compression, every repeat visitor re-downloads the whole page. Most modern hosts (Netlify, Vercel, Cloudflare Pages) do this by default. If you're on cPanel shared hosting, you probably aren't.
What doesn't matter
Ignoring the noise is as valuable as chasing the signal:
- Score obsession past 90. The difference between 94 and 100 on Performance is usually a browser extension your dev environment has that real users don't. Diminishing returns kick in hard.
- Best Practices nags about deprecated APIs your analytics vendor emits. You can't fix third-party code; don't pretend the audit is telling you something useful.
- Accessibility warnings about colour contrast on parts of your design system you've deliberately chosen. Fix real a11y issues (labels, alt text, focus states) — don't repaint your brand because Lighthouse prefers WCAG AAA.
How to run it yourself
Three options, in order of ease:
- PageSpeed Insights — paste your URL into pagespeed.web.dev. Runs Lighthouse for you and includes field data from Chrome User Experience Report. Start here.
- Chrome DevTools — F12 → Lighthouse tab → "Analyze page load". Good for iterating while you fix stuff.
- CLI / CI —
npm install -g @lhci/cliand run it on every pull request. Worth it if you're maintaining a site long-term and want to catch regressions before they ship.
The realistic bar
Here's what I tell clients their target should be:
Every site we ship hits those thresholds on day one. If yours doesn't, it's almost always one of the four fixes above — and none of them are week-long projects.
If your current site is slow and clunky and none of the four fixes above are realistic on your stack — it's probably time for a rebuild rather than a patch job. We ship fast, mobile-first sites on a modern stack with 90+ Lighthouse scores on day one, usually in a couple of weeks. Get in touch if that sounds like you.
Sources & further reading
| Source | What to verify |
|---|---|
| web.dev — Core Web Vitals | Current Core Web Vitals thresholds, metric definitions, and measurement methodology. |
| Google Search Central — Page experience | Official statement of how page experience signals feed ranking. |
| PageSpeed Insights | Run a Lighthouse + field-data audit on any URL. |
| Chrome UX Report | The field dataset Google's ranking signals are drawn from. |
| Lighthouse scoring calculator | See exactly how each metric weighting contributes to your Performance score. |
| web.dev — Fast load times | Deep library of practical performance fixes from the Chrome team. |
If anything here conflicts with what those sources say today, trust them — the web performance landscape shifts every few months.