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.
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:
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.
Check yours
A free scan shows which of the things described here your site already does, and which it does not.