Why is my website slow, and where do I start?

Almost always three things, and almost always in this order: oversized images, render-blocking CSS and JavaScript, and a slow server response. Everything else is detail that only becomes visible once those three are handled.

SeoScore

The important thing is not to be fooled by the score. A PageSpeed number is a simulation on a throttled connection, not a measurement of what your visitor experiences. What is useful is not the score but the metrics underneath.

Three metrics that mean something

LCP — when the largest visible element is painted. Usually the first image or the headline. A bad LCP almost always means either a heavy image or a font being waited on.

INP — how long the page ignores a click. A bad INP means JavaScript working at the moment the person wants to act.

CLS — how much the content jumps while loading. Almost always images without width and height, or ad slots arriving late.

Where to start

Images. One 2 MB image costs more than every other optimisation combined. Convert to WebP, resize to the size actually displayed, add width and height.

Render-blocking files. The browser paints nothing until it has the CSS. If that file is large, or there are several, each one is a separate request before the first pixel.

Server response. If TTFB is above ~600 ms, no front-end work will help — the wait is the server. Caching or a CDN usually fixes this, not rewriting code.

What people fix for no reason

Minification, while the page weighs 3 MB in images. Font preloading, with three fonts in total. "Optimising" third-party scripts, when there is one.

Order matters because the first item often gives more than all the rest.

A free scan shows LCP, INP and CLS from Google's own measurement, plus the specific files blocking the render.

Related articles

The same subject from another angle — each answers its own question:

How this feeds into the score is described under what we check.

Sources

What this article is based on — primary sources, not retellings:

Three metrics that mean something — LCP — when the largest element appears; INP — how fast a tap responds; CLS — does the content jump; Start with images, not with caching.

Frequently asked

Does speed really affect rankings?

It does, less than people assume. Google describes it as a tiebreaker between pages with comparable content: the faster one wins when the content is equal. Speed does not lift weak content.

Why is my score different every time?

Because it is a simulation. The same page with no changes swings by three to five points. Watch the trend, not a single run.

What does "not enough field data" mean?

That your site has too few real Chrome visitors for Google to report on. It is not an error, just a sign that traffic is still small.

Is enabling a CDN enough?

It speeds up the response and static files, but it will not shrink a 2 MB image. A CDN helps TTFB and repeat visits, not the first paint.

Speed →

Check yours

A free scan shows which of the things described here your site already does, and which it does not.

Scan a website →