Performance advice online is mostly a list of thirty items, presented as equally important, most of which will not change your numbers. In practice three or four things dominate, and everything else is rounding.
Here is the short list, ordered by how much it usually matters.
1. Images, and it is not close
On most sites the largest element on the screen is an image, which makes it the thing Largest Contentful Paint measures. A 2.4MB hero photo is a four-second wait on a mid-range phone regardless of what else you optimise.
- Serve modern formats. AVIF or WebP typically cuts 60 to 80 percent off a JPEG at the same visual quality.
- Size them to the space they occupy. A 3000px image in a 600px slot wastes 96 percent of the bytes.
- Set width and height, or an aspect ratio. Without it the page reflows when the image lands, which is most of your CLS score.
- Do not lazy-load the hero. Lazy-loading the largest above-the-fold image delays exactly the thing being measured.
2. Third-party scripts
Every analytics tool, chat widget, review embed, heatmap and A/B tester is code from someone else, running on your main thread, blocking your page. They are also the part of the site nobody audits, because each one was added by a different person for a good reason.
Open the network tab and count them. On a typical store the number is between eight and twenty, and at least a third are for tools nobody has opened in a year. Removing those is the highest-value work available on most sites, and it costs nothing.
3. Fonts
A custom font blocks text from rendering until it downloads, or renders in a fallback and then visibly swaps. Both are bad; the second is at least readable.
- Self-host rather than loading from a third-party domain. It removes a DNS lookup and a connection to another server.
- Use font-display: swap so text is readable immediately.
- Subset to the characters you actually use. A full Latin Extended set is several times the size of what an English site needs.
- Two weights is usually enough. Every extra weight is another file.
4. What the server sends
If the HTML is assembled per request by querying a database, everyone waits for that. If it was built ahead of time and sits on a CDN, nobody does. The gap between those two is often larger than every other optimisation combined.
Not everything can be pre-rendered, but on most marketing sites and a surprising amount of a store, the answer is that it can and simply is not.
Things that get recommended and rarely matter
- Minifying HTML. Real saving: a few kilobytes, after compression, almost nothing.
- Combining CSS files. This was advice for HTTP/1.1. Every browser now uses HTTP/2 or later, where parallel requests are cheap.
- Chasing a Lighthouse score of 100. Lighthouse runs a simulation. Field data from real visitors is what Google actually ranks on, and the two often disagree.
- Switching hosting providers. Worth it if the server is genuinely slow to respond, and a distraction if your problem is a 2MB image.
How to know what your problem is
Do not guess and do not start with a plugin. Load the site on a real mid-range phone on a normal connection and watch it. The bottleneck is almost always visible to the naked eye: a blank screen while a font loads, a banner that shoves the page down, a hero image that arrives late.
Then check field data in Search Console rather than a lab score. Lab tools tell you what could happen; field data tells you what is happening to the people you already have.
Working on something like this?
We build websites, stores and custom applications, and we will tell you honestly if the thing you are describing does not need one.