What actually makes a website fast
When a site is slow, the instinct is to look for a plugin that fixes it. There usually is not one. Speed is the sum of a lot of small decisions, and most of them were made long before anyone measured anything.
Images are almost always the problem
On the sites we are asked to rebuild, images account for the majority of page weight, and often the majority of the delay. Three things fix most of it:
- Correct format. WebP is widely supported and typically a third to a fifth the size of the equivalent JPG at the same visual quality.
- Correct dimensions. A 4000px photograph displayed in a 600px column is downloading roughly forty times the data it needs.
- Lazy loading. Images below the fold should not compete with the ones the visitor can actually see.
Reserve space before things load
Every image should carry width and height attributes, even when CSS controls the final size. Without them the browser does not know how much room to leave, so content jumps as each image arrives. That jumping is measured as Cumulative Layout Shift and it is a ranking signal, but the better reason to fix it is that it makes a site feel broken.
Stop loading things nobody sees
Fonts, icon libraries and analytics scripts all cost time before the page paints. Load the two font weights you use rather than the whole family. Defer scripts that are not needed for the first render.
Measure on the device people use
A site that feels instant on a desktop connection can take eight seconds on a mid-range phone, which is where most traffic comes from. Test there, not at your desk.
None of this is exotic. It is just a series of decisions that have to be made deliberately, because the default of every one of them is slow.