Your site loads in 1.2 seconds? Mine loads in 0.4. Here is every trick I used to get there and which ones actually mattered.

Images, then everything else

On most content sites images account for the overwhelming majority of bytes. Correct sizing, modern formats, and lazy loading below the fold usually beat every JavaScript optimisation combined.

Fonts come next. Two weights of two families, subset and preloaded, with a sensible swap behaviour. Every extra weight is another file between the reader and the text.

// Note

Measure on a throttled connection and a mid-range phone. Local numbers on a fast laptop will tell you everything is fine when it is not.

What barely moved the needle

Micro-optimising component re-renders, shaving kilobytes off already-small utilities, and swapping libraries for marginally lighter ones. Real gains came from sending less, not from sending it cleverly.