Why is your site slow? The real technical causes and how to measure them

Why is your site slow? The real technical causes and how to measure them

"Our site is slow" is the complaint we hear most. Most advice online stops at "compress your images" — that's one step out of ten. Let me break down the real causes in the order we check them.

First: find out where you're actually slow

Before changing anything, measure. Use Google's PageSpeed Insights (free) on your homepage, a product page and the checkout page.

You'll get three numbers that matter: - LCP — when the largest element appears. Should be under 2.5 seconds. - INP — how fast the site responds to a tap. Should be under 200 ms. - CLS — do elements jump while the user reads? Should be under 0.1.

Google uses these in search ranking, so they aren't cosmetic.

Causes, most common first

1. Unoptimized images. A 4MB camera photo used as-is. Fix: convert to WebP, set display dimensions, and lazy-load anything below the fold.

2. Excess database queries (the N+1 problem). The biggest cause on dynamic sites, and invisible to most people. A page shows 50 products and instead of one query it runs 51 — one for products and one per product to fetch its category.

The site feels fast while you test with 10 products and collapses at 5,000. Fix: eager-load relationships and index the columns you filter on.

3. Too much JavaScript. A whole library loaded for one small effect. A 300KB slider to show three images. Every kilobyte of JavaScript costs more than a kilobyte of image, because the browser must parse and execute it.

4. No caching. Every visit recomputes the same thing. A page whose content changes monthly has no reason to be rebuilt from the database on every request.

5. Hosting. A shared server with 200 sites on it, or a server on another continent from your audience. If your audience is Egyptian and the server is in the US, there's physical latency no code optimization removes.

6. Fonts and third-party tools. Every third-party script (tracking, chat, ads, fonts) adds a network request. A site with eight tracking tools is necessarily slow.

7. No compression. Enabling Gzip or Brotli shrinks text files by roughly 70% — a one-time setting with a large effect.

Practical order of work

With limited time, start here: 1. Images (fastest win). 2. Caching. 3. Database queries. 4. Reducing JavaScript. 5. Hosting, if that's the bottleneck.

Important: measure on mobile and a slow network

The site is always fast on the designer's laptop with excellent wifi. Try it on a mid-range phone over 3G — that's the real experience of a large share of your audience.

Bottom line

Speed isn't a cosmetic improvement; it directly affects your Google ranking and your sales. Measure first, fix in order, measure again. And if you want a full performance audit with causes and fixes ranked by impact, that's work we do regularly.

More articles

Custom ERP: the real cost and timeline, honestly →Native or Flutter? Choosing your app stack without regret →The spec document: what separates a shipped project from a year of delays →

Got a product idea? Let's turn it into working code.