Blog

Why is your website slow? The 10 most common causes and how to measure them

“Our site feels kind of slow” is a feeling, not a diagnosis. Fixing speed always starts with measurement (Lighthouse, PageSpeed Insights, Core Web Vitals), not with guessing. Here are the ten most common reasons websites end up slow, roughly in the order they tend to show up in real measurements.

1. Oversized, unoptimised images

Images are usually the single biggest chunk of a page’s weight. A five-megabyte photo uploaded straight from a camera and displayed at 400 pixels wide still makes the browser download many times more data than it needs. Fix: the right size, a modern format (WebP or AVIF), and lazy loading for images that aren’t on the first screen.

2. No caching

If the page gets rebuilt from scratch for every single visitor, that’s time being spent that doesn’t need to be. Page caching, which stores the finished HTML and serves it directly, is one of the cheapest and highest-impact fixes a site can have.

3. Bloated page builders and too many plugins

Visual page builders make design convenient, but each element adds its own code that the browser has to load and process. Ten or fifteen plugins, half of them duplicating each other’s functions, make it worse still. Measure which plugins actually affect speed, and drop the rest.

4. Render-blocking JavaScript and CSS

When scripts and stylesheets load in a way that stops the browser from showing the page at all until they’ve fully downloaded, visitors stare at a blank screen longer than necessary. Extracting critical CSS and deferring scripts (defer/async) let the page render noticeably sooner.

5. No content delivery network (CDN)

If every file comes from one server, say in Frankfurt, a visitor on the other side of the world waits longer than they should. A CDN places copies of your files geographically closer to the visitor and shortens that trip significantly.

6. Slow or overloaded hosting

Cheap shared hosting means your server shares resources with hundreds of other sites on the same machine. When a neighbour’s site gets a traffic spike, yours slows down too. For speed, the hosting tier is often a bigger factor than any single technical fix.

7. Unminified files

CSS and JavaScript containing comments, whitespace and unused code are larger than they need to be. Minification and removing dead code shrink file sizes without changing anything visually.

8. Too many web fonts

Every font weight and style is a separate file that has to download before text displays correctly. Four fonts in three weights can mean twelve extra files. Two fonts in two weights almost always achieves the same result.

9. Third-party scripts

Chat widgets, tracking codes, ad scripts and social media buttons each load from their own server, at their own speed, and your server has no control over them. One slow third-party server can hold up the rendering of the entire page. Measure what each script actually costs, and keep only the ones that genuinely earn their place.

10. A bloated, unindexed database

Over the years, old post revisions, spam comments and expired temporary data pile up, making every database query a little slower. Adding a missing index on a frequently queried field alone can mean a multi-fold speedup for those queries.

Measure before and after

Each cause above has a specific, measurable effect on Core Web Vitals metrics like LCP (how fast the page shows its main content) and INP (how fast the page responds to a click). Measure before making a change, make the change, measure again. That way you know what actually helped, not just what seemed logical.

If you want to know which of these ten causes is slowing your site down the most, see the performance optimization service or send me your site’s address. I’ll run a first speed analysis and show you exactly where the numbers come from.