DMX Digital
← Free speed test

Free Guide

Why Is My Website Slow — and How Do I Fix It?

You ran the test. Maybe the score came back in the 40s. Maybe it was worse. Either way, you're looking at a list of problems and wondering what any of it means — and whether fixing it requires a computer science degree.

It doesn't. Most slow websites have the same handful of problems, and most of those problems have straightforward solutions. This guide walks through them in plain English, starting with what the score actually measures and ending with what to do about it.

If you'd rather skip straight to getting it fixed, jump to the contact form at the bottom of the page.

What the score actually measures

The performance score Google's Lighthouse tool returns is a composite of six measurements taken while your page loads in a simulated browser. It isn't a grade for your whole site. It's a snapshot of how your homepage behaves on a mobile connection on a given day.

Here's what the number means in plain terms:

  • 90–100 — Good. Your site loads quickly and Google won't penalize you for speed.
  • 50–89 — Needs work. Visitors on slower connections are getting a noticeably sluggish experience.
  • Below 50 — This is costing you customers. Google's own research shows 53% of mobile users abandon a page that takes more than three seconds to load. They don't fill out your contact form. They don't call. They leave and find someone else.

If your score is below 50, don't spend the afternoon reading guides. Get in touch — we can fix this faster than you can.

The score is made up of six metrics. Here's what each one actually measures.

First Contentful Paint (FCP)
How long it takes for anything at all to appear on screen. A blank white page for three seconds feels broken to a visitor, even if the page eventually loads fine.
Largest Contentful Paint (LCP)
How long it takes for the main content — usually your hero image or headline — to load. This is the one Google weights most heavily, because it reflects what users are actually waiting to see.
Total Blocking Time (TBT)
How long your page is frozen and unresponsive — visitors can see it, but can't click, tap, or scroll. This is almost always caused by too much JavaScript running at the wrong time.
Cumulative Layout Shift (CLS)
How much the page jumps around as it loads. If a button shifts down just as someone's about to tap it, that's a layout shift. It's annoying and Google penalizes it.
Speed Index (SI)
How quickly the visible content fills in — not just when it starts, but how fast the whole picture comes together.
Time to First Byte (TTFB)
How long your server takes to respond at all. Before your page can load, your server has to answer. A slow server means a slow start to everything that follows.

The most common reasons sites are slow

After testing thousands of sites, the same culprits show up again and again. Here are the eight most common ones — what they are, why they matter, and what to do about each.

1. Images that haven't been optimized

This is the single most common cause of slow websites. A photo taken on a modern phone is typically 4–8 megabytes. Put three of those on your homepage and you've just asked every visitor to download 20 megabytes of data before they can see anything.

The fix is compression and format. Images served on the web should be no larger than they need to be, compressed without visible quality loss, and ideally served in a modern format like WebP, which is significantly smaller than JPEG for the same visual quality.

If your site is on WordPress, a plugin like ShortPixel or Imagify handles this automatically. If your site is custom-built, your developer should be resizing and compressing images at upload time and converting them to WebP on output.

If "efficiently encode images" appears in your Lighthouse results and your score is below 75, this is likely your biggest single fix. It's also one of the faster things for a developer to implement. We can take care of it for you.

2. No caching

Every time a visitor loads your page, their browser makes requests to your server for every file — HTML, CSS, images, fonts. Without caching, the browser does this fresh every single visit. With caching, the browser saves a copy of files that don't change often and reuses them on the next visit.

Proper cache headers on static assets — images, stylesheets, fonts — can dramatically reduce load times for returning visitors and reduce the load on your server.

If you're on a managed WordPress host, caching is often built in. If you're not sure whether it's configured correctly, that uncertainty is itself a signal worth investigating.

3. Render-blocking scripts and stylesheets

When a browser reads your HTML and encounters a <script> tag, it stops — it won't render anything else until that script has downloaded and run. If you have six third-party scripts loading in the head of your page, your visitor is staring at a blank screen while all six of them load in sequence.

The fix is to defer scripts that don't need to run immediately. Most analytics tags, chat widgets, and tracking pixels can be deferred without any impact on functionality.

This is a developer fix. If it's showing up in your results and your score is below 65, it's worth getting someone in to address it.

4. Too many third-party scripts

Most small business websites accumulate third-party scripts quietly over time. A chat widget here. A heatmap tool there. A booking widget, a cookie consent banner, a Facebook pixel, a Google tag. Each one adds a network request, and some of them block the page from loading until they respond.

Audit what's running on your site. If you haven't used that heatmap tool in six months, remove it. Every script you eliminate is a faster page — and one fewer thing that can break.

5. A slow hosting server

Your Lighthouse score includes Time to First Byte — how long it takes your server to respond at all. If this is above 800 milliseconds, your server is the bottleneck, and no amount of image compression will fully fix the experience.

Shared hosting plans — the cheapest tier at most providers — put your website on a server alongside hundreds or thousands of other websites. When traffic spikes on any of them, yours slows down. A VPS or a managed hosting plan gives you dedicated resources.

If your TTFB is rated "Poor" and your score is below 60, your hosting is likely the first thing to address — not the last. This isn't a code fix; it's a conversation with your host or a platform migration. We handle both.

6. No content delivery network (CDN)

A content delivery network stores copies of your static files — images, fonts, CSS — on servers distributed around the world. When a visitor loads your page, they get those files from the server closest to them, rather than from wherever your origin server happens to be located.

Most modern hosting platforms include a CDN. Cloudflare offers a free tier that works with almost any website. If you're not using one, you should be.

7. Unminified CSS and JavaScript

When a developer writes CSS or JavaScript, it contains spaces, line breaks, comments, and readable variable names. All of that is useful while writing the code. None of it is necessary when the browser reads it. Minification strips all of that out, producing files that are 20–40% smaller with no change in how they work.

Modern build tools minify automatically. If your site is on WordPress, a plugin like WP Rocket or Autoptimize handles this. It's a relatively quick fix and often produces an immediate score improvement.

8. Web fonts loaded carelessly

Custom fonts make a site look polished. They can also delay how quickly text appears. If your font files are large, loaded from a slow provider, or loaded in a way that blocks rendering, visitors may see a flash of invisible text while the right font loads in.

The fixes: preload your font files, use font-display: swap in your CSS so text renders immediately in a fallback font while the custom one loads, and limit yourself to two font families. Every additional weight and style is an additional file to download.

A note on mobile vs. desktop scores

If you tested your site and got a much lower score on mobile than on desktop, that's normal — and it matters more than you might expect.

Lighthouse's mobile test simulates a mid-range Android phone on a throttled 4G connection. It's deliberately harsh because it reflects how a large portion of real visitors experience your site. In most industries, more than half of website visits come from mobile devices. A desktop score of 90 and a mobile score of 45 means half your visitors are getting a bad experience.

Desktop performance is relatively easy to achieve. Mobile performance is harder and more important. If you can only focus on one, focus on mobile.

If your mobile score is below 50, that's not a tuning problem — it's a structural one. It usually means the site was built without mobile performance in mind. A targeted audit and a few targeted fixes can move the number significantly. Talk to us about what that looks like.

What you can realistically do yourself

Some of these fixes require a developer. Some you can tackle on your own this afternoon. Here's a quick breakdown.

You can do these yourself:

  • Compress and resize images before uploading. Tools like Squoosh (free, browser-based) let you drag in an image, convert it to WebP, and download a compressed version in under a minute.
  • Remove third-party scripts you're no longer using. Log into your website platform and deactivate plugins or widgets that aren't earning their keep.
  • Check your hosting plan. If you're on shared hosting and your site is important to your business, it's worth looking at a managed plan.

These typically require a developer:

  • Implementing proper cache headers
  • Deferring render-blocking scripts
  • Setting up a CDN correctly
  • Fixing layout shift issues
  • Optimizing the critical rendering path
  • Migrating to faster hosting

A rough guide by score:

75 and above
You're in reasonable shape. The self-serve fixes above are worth trying, and a developer can likely get you to 90+ with a focused session.
50–74
There are real issues here that a developer should look at. The self-serve fixes will help at the margin, but the core problems are structural.
Below 50
Don't tinker. The time it would take you to diagnose and fix these issues yourself is almost certainly worth more than the cost of having someone who does this every day fix them properly. Let's talk.

Not sure where your score falls?

If you haven't tested yet, run a free analysis now. Real Lighthouse data, explained in plain English, in about 30 seconds.

Test your site for free →

DMX Digital

Ready to get it fixed?

If your score is below 75 — or you've read this far and realised you'd rather hand it off than handle it yourself — we're happy to take a look. DMX Digital builds fast, clean websites for small businesses on the Delmarva Peninsula, and we fix performance problems on existing sites too.

Tell us your URL and your score. We'll come back to you with a straight answer about what it would take to fix.

No obligation. No sales pitch. Just a look at your site and an honest assessment.

We only store the details you enter above. Privacy notice.

How to Fix a Slow Website — A Plain-English Guide | DMX Digital Speed Test