Speed isn't a vanity metric. On real projects, shaving load time directly moves conversion and Google rankings — Core Web Vitals are a ranking signal, and users bounce before a slow page even paints. Here's the checklist I actually run through on Next.js builds, in the order that gives the biggest wins first.
1. Ship less JavaScript to the client
The single biggest lever. Most "slow React site" problems are really "we hydrated 400KB of JS the user never needed" problems.
Keep components as Server Components by default (App Router). Only add 'use client' where you genuinely need state or browser APIs.
Push 'use client' down the tree, not up. A whole page doesn't need to be client just because one button is interactive.







