Web · 17 Jan 2026 · 10 min read · Aashif Ahd

Getting to Lighthouse 95 without caching your way there

The four performance levers that actually matter for small-business sites, why Google rewards them, and how faster pages quietly bring you more clients.

95/95/95

You do not need a CDN, an edge worker or a full rebuild to get a small-business website over Lighthouse 95. You need to stop shipping the four things that are actually slow. Every time we hit that score on a new project, it is the same four fixes. Every time.

Why does Lighthouse even matter? Because Google uses Core Web Vitals as a ranking signal. A site that loads in 1.5 seconds outranks a similar site that loads in 4 seconds on the same keywords. On mobile that gap is bigger. And conversion rates on mobile drop roughly 7% for every additional second of load time. Faster pages bring in more visitors from search and convert more of those visitors into clients. That is the whole business case.

Lever 1: Images

Images are the biggest budget on nearly every small-business site we audit. Three fixes, in this order:

  1. Serve the right size. A hero image displayed at 1200 pixels wide on desktop does not need to be 4000 pixels wide in the source file. Generate responsive versions at 480, 768, 1200 and 2000 widths, use srcset, and let the browser pick. Astro's <Image /> component does this automatically; so does Next.js <Image />; so does modern WordPress if you configure it.
  2. Serve the right format. WebP is 25 to 35% smaller than equivalent JPEG. AVIF is another 20 to 30% smaller than WebP. Modern browsers all support both. The site you are reading loads AVIF on Chrome and Safari, falls back to WebP on old Android, and JPEG on genuinely ancient clients.
  3. Lazy-load everything below the fold. The HTML loading="lazy" attribute is two words and it is one of the best cost-per-second wins in web performance. Images not in the initial viewport should not block the initial render.

Do these three and your Largest Contentful Paint drops by roughly half on most small-business sites. That is the single biggest Lighthouse swing you can make.

Lever 2: Fonts

Custom fonts are beautiful and they are a performance tax. Three rules:

  1. One family, two weights. Most sites do not need six weights. A display font for headings, a body font for everything else, two weights in each (regular and bold). That is your budget.
  2. Subset to the characters you actually use. A full web font file for Bricolage Grotesque is 400 KB. Subset to Latin-only with the 200 most common characters plus punctuation, and you are at 40 KB.
  3. Use font-display: swap. Show the system fallback font immediately while the custom font loads. Yes, there is a brief FOIT or FOUT moment; yes, it is better than hiding your hero headline for 800ms.

For bonus points, self-host the fonts (do not load them from Google Fonts). Self-hosted fonts come from your own domain, hit the same cache, and avoid a second DNS lookup.

Lever 3: Third-party scripts

Every third-party embed is a tax someone has to pay. On a typical small-business site we audit, the third-party tax is 200 to 800 KB of JavaScript that the client never thinks about.

Audit what you actually need:

  • Google Analytics. 45 KB, necessary for most businesses. Keep it, but load it with async.
  • Google Tag Manager. 80 KB before you even add a tag. If you are only using it for Analytics, drop GTM and embed GA directly.
  • Live chat widget. 200 to 400 KB, often blocking. Load it on user interaction only (first scroll, first click) rather than on page load.
  • Social media embeds. Twitter, Instagram, Facebook embed scripts are all individually 100 to 300 KB. Replace with static screenshots or, if interactivity matters, a single embed lazy-loaded on scroll.
  • Cookie banner. If your CMP is 150 KB and blocking, either swap to a lighter CMP or configure it to render the banner in HTML first and load the preferences UI only when the user clicks.

Script audits are the fastest win. We often shave 40 points off Total Blocking Time by removing two scripts nobody had looked at in three years.

Lever 4: Layout shift

Cumulative Layout Shift (CLS) is the "stuff jumps around while loading" score. Low scores look unprofessional and Google penalises them. Three fixes:

  1. Reserve space for images. Every <img> element needs explicit width and height attributes. The browser uses them to pre-allocate space so the layout does not shift when the image loads.
  2. Reserve space for ads and embeds. A fixed-height container around every third-party embed. Yes, occasional empty space is worse visually; catastrophic layout shift is worse for conversion.
  3. Avoid late-injected fonts. Fonts swapping in with different metrics causes layout shift. Modern CSS size-adjust and ascent-override descriptors in your @font-face rule match the custom font metrics to your fallback and eliminate the visual jump.

Get CLS under 0.1 and you are in Google's good books.

The Lighthouse score is not the goal

Performance is a proxy for the two things you actually care about: ranking and conversion. A site that goes from Lighthouse 62 to 95 typically sees 15 to 40% more organic clicks within 90 days on unchanged content, and 10 to 25% more form submissions or WhatsApp clicks from the same traffic.

If your site is below 70 on mobile right now, it is quietly bleeding clients. You do not see them bounce because you never knew they arrived. Get to 90+ and the pipeline fills from the same marketing you were already doing.

Real fixes, real savings, no CDN required.

Ready to fix your site?

Book a free strategy call
or a same-day site review on WhatsApp.

We'll look at what you have, tell you honestly what's wrong, and what it would take to fix it. No pitch. No obligation. No card on file.

Book the call
✓ 30 min · no pitch✓ Reply within 1 business day✓ No card, no deposit until you sign