All posts

Your website is not slow. Your choices are.

A Lighthouse score below 80 is a business problem, not a technical one. Here is what founders get wrong about web performance and how to fix it in a week.

Every week we audit a website for a founder who tells us the same thing: "Our developer said it's fine." Then we run Lighthouse and see a performance score of 43.

It is not fine. And the developer is not lying — they genuinely believe it. The problem is that performance decisions get made in isolation, one at a time, and nobody adds up the cost until a user bounces in two seconds and the blame lands on the ads.

A slow website is not a technical problem. It is a conversion problem you have not diagnosed yet.

The four choices that kill performance

1. Unoptimised images

This is responsible for roughly 60% of the performance issues we see. A founder uploads a 4MB JPEG from their camera roll, the CMS stores it as-is, and now every visitor on mobile downloads a full-resolution photo that displays at 400px wide.

The fix is boring and completely worth it: convert everything to WebP, use srcset so mobile gets smaller files, and add loading="lazy" to anything below the fold. Done right, this alone can cut page weight by 60-70%.

Quick win

Run your homepage URL through squoosh.app right now. If your hero image is over 200KB, that is your first fix.

2. Loading JavaScript you do not need on page load

Every third-party script you add — chat widgets, heatmaps, A/B testing tools, social embeds — runs before your page is interactive. A site with seven marketing tools can easily add 2-3 seconds to Time to Interactive even on fast connections.

Audit your scripts. Ask which ones actually need to load immediately. Most chat widgets can load after the page is interactive. Most analytics can be deferred. The ones that cannot are very rare.

3. Google Fonts loaded the wrong way

The default Google Fonts embed blocks rendering. You request the CSS, the browser parses it, then requests the font files, then renders text. Every step is a round trip.

The fix: add font-display: swap, preload the font files you actually use, and consider self-hosting the fonts entirely. Fontshare gives you high-quality fonts you can host yourself for free.

4. No caching strategy

If your server sends the same files on every visit with no cache headers, you are forcing every returning visitor to redownload everything. Static assets — images, CSS, JS — should be cached aggressively. A good CDN handles most of this automatically.

What a week of focused work looks like

Day 1: Run Lighthouse, PageSpeed Insights, and WebPageTest. Document every issue and its estimated impact.

Day 2-3: Images. Compress everything, convert to WebP, implement lazy loading.

Day 4: Scripts audit. Remove anything you are not actively using. Defer everything that can be deferred.

Day 5: Fonts and caching. Fix the loading strategy, set cache headers.

We have taken sites from a 38 to an 89 Lighthouse score in five days doing exactly this. The business result was a measurable drop in bounce rate within two weeks.

Performance is not a one-time project. It is a habit you build into every decision you make.

The honest takeaway

Most performance problems are not hard to fix. They are easy to fix and easy to deprioritise. The cost of that deprioritisation is paid in conversions you never see, not in error logs you do.

If your Lighthouse score is below 70, you have a business problem. Start treating it like one.


Want a free performance audit for your site? Get in touch.