Prioritize above-the-fold rendering
Your page might load in 2 seconds total. But if the first thing the user sees is a blank white screen for 1.5 seconds, it feels slow. Perceived performance is about the first screen, not the total load time.
Critical CSS inlining, font preloading, and server-side rendering of above-the-fold content can make your first paint happen in under 500ms even if the full page takes 3 seconds. The user sees content immediately. Everything else loads while they're reading.
The biggest offenders: web fonts that cause a flash of invisible text while loading, hero images without width/height attributes that cause layout shift, and JavaScript that blocks rendering of content that doesn't need JavaScript.
Preload your primary font. Set explicit dimensions on hero images. Defer all JavaScript that isn't needed for the first screen. These three changes typically cut perceived load time in half without touching your backend.
Open your page on a throttled connection (Chrome DevTools, Slow 3G). If the first screen takes more than 1 second to appear, prioritize above-fold rendering.
Get ideas like this every week. Free.