Blog / Performance

Your slow website is quietly costing you clients

What Lighthouse scores measure, Google's real Core Web Vitals thresholds, and a real measured before-and-after: HD Installs, 74 to 84 on mobile.

Performance · 6 min · By Avinoam Freedman, Founder · Updated 2026-08-18

Sruly, the HD Installs owner-operator, on a ladder mid-install in daylight.
Sruly mid-install, from the HD Installs build we designed.

From the HD Installs build we designed.

Key takeaways

  • Google's good bar: LCP under 2.5s, CLS under 0.1, Lighthouse performance 90+.
  • A real fix: HD Installs went 74 to 84 on mobile, LCP 8.9s to 4.1s, by removing 639 KB from the critical path.
  • The cause was a preload bypassing srcset, not the image format. Format conversion alone did nothing.
  • The biggest levers are fonts, images and third-party scripts, in that order of pain.

What do Lighthouse scores actually measure?

A Lighthouse performance score is a synthetic lab test of how fast and stable a page feels to load, scored 0 to 100. It combines metrics like Largest Contentful Paint (how long until the biggest thing on screen appears) and Cumulative Layout Shift (how much the page jumps while loading). Google's published thresholds put a good LCP under 2.5 seconds, a good CLS under 0.1, and a performance score of 90 or above in the strong band. These are lab numbers on an emulated device: a diagnostic, not a promise about any one visitor's connection.

A real before-and-after: HD Installs

Here is one we measured. HD Installs, a low-voltage installer we built a site for, was scoring 74 on mobile with a Largest Contentful Paint of 8.9 seconds. After the fix it scores 84 with an LCP of 4.1 seconds. That 84 is the floor across sixteen retained runs, so a re-measure meets or beats it.

The one fully-diagnosed before-and-after, measured, not asserted:

Performance7484 Largest Contentful Paint8.9s4.1s Hero image weight759 KB120 KB

639 KB removed from the critical path: a <link rel="preload"> was bypassing srcset and double-downloading the hero. Fixing it to imagesrcset and right-sizing the mobile image moved the number, format conversion alone did nothing. Synthetic lab test results · Lighthouse 13.4.0 · mobile preset · 16 retained runs.

The cause was specific. A <link rel="preload" as="image"> in the head was force-fetching the full hero at high priority and bypassing srcset, so the page downloaded both the 759 KB original and a smaller variant. Fixing the preload to use imagesrcset and imagesizes, right-sizing the mobile image, and recompressing removed 639 KB from the critical path. Worth stating plainly: image-format conversion alone did nothing here, the source files were already well compressed. The preload bug was the whole story.

Where the weight actually hides

Three levers move a score more than anything else. Fonts: a render-blocking third-party font stylesheet cost roughly 900ms in one real mobile audit; self-hosting a subsetted variable font and preloading it removes that. Images: serving a modern format at the right dimensions, with width and height set so nothing shifts, is usually the single biggest transfer saving, exactly the HD Installs story above. Third-party scripts: analytics, chat widgets and pixels loaded eagerly in the head block the main thread; deferring them until after load protects the interaction score.

Why it decides trust

Speed is the first signal a visitor gets, before a single word is read. A page that paints in under two seconds reads as competent and cared-for; a page that hangs reads as neglected, and the visitor transfers that feeling to the business behind it. That is why performance is treated here as the product, and why the fastest way to see whether a studio can build a quick site is to measure the one they built for themselves.

Sources

  1. Google: Core Web Vitals thresholds (web.dev)
  2. Google: Largest Contentful Paint (web.dev)
  3. Lighthouse performance scoring (Chrome for Developers)

Frequently asked.

90 or above is the "good" band. Google's Core Web Vitals put LCP under 2.5 seconds and CLS under 0.1 in the good range.

Speed is the first trust signal a visitor gets, before they read a word. A page that paints instantly reads as competent; one that hangs reads as neglected. It is also a measured ranking input on Google.

The ask

Get this run on your own site.

A free 15-minute visibility review turns this into a ranked list of fixes for your pages.

The honest version of a testimonial: measure this site now, then measure yours. If a build we make for you does not beat your current site’s real score, that is on us to fix.