Every second of load time costs visitors. On a recent client project, a systematic performance pass cut load time by 56% — here is the exact order of operations I follow.
1. Measure first
Run a speed audit on mobile and desktop before changing anything. Record the three numbers that matter: largest paint, interaction delay and layout shift. Optimize against those, not against vibes.
2. Images and media
Images are usually the biggest payload. Serve modern formats, size them to their display dimensions, lazy-load everything below the fold and always set width and height so the page never jumps.
3. Scripts, fonts and caching
Defer non-critical JavaScript, subset web fonts and preload the hero assets. Then add caching headers and a CDN so repeat visits feel instant. Re-measure after each change — the wins compound.
- Audit on a throttled mobile connection, not office wifi.
- Fix the biggest payload first; it is almost always media.
- Remove a script before optimizing it.
- Set a performance budget so regressions get caught.