The metrics that matter
- TTFB (Time To First Byte) — how fast your server starts responding. Server/network problem if high.
- LCP (Largest Contentful Paint) — when the main content appears. Front-end problem if high.
- FID / INP — input responsiveness. Usually JavaScript blocking the main thread.
- CLS (Cumulative Layout Shift) — content jumping around. Reserve space for images and embeds.
- Total page weight — under 1.5MB is healthy; over 3MB hurts mobile.
Optimization priorities (in order)
- Enable a CDN — often the single biggest improvement.
- Compress images (WebP/AVIF) and serve responsive sizes.
- Defer or async non-critical JavaScript.
- Add HTTP caching headers and a server cache (Redis/Varnish).
- Eliminate render-blocking resources in the <head>.
- Remove unused JS (tree-shaking, code splitting).
- Self-host or async-load third-party tags (chat, analytics).
- Preconnect to critical third-party origins.
How to interpret your numbers
If TTFB is high but page render is fast → server/hosting work. If TTFB is fast but LCP is slow → front-end work. If both are slow → start with the server (a slow backend makes front-end fixes invisible). After every change, re-measure from the same conditions to confirm improvement.