Web Development• 8 min read

Next.js 15: The Performance Wins You Should Adopt Today

Server actions, PPR, and the new caching model — explained with benchmarks from 120 production sites.

WT
Next.js 15 performance wins: What to adopt today

Next.js 15 is the most opinionated release yet — and for most teams, that's a good thing. We audited 120 production sites over the last quarter and the teams seeing the biggest wins share a few patterns.

Partial Prerendering (PPR)

PPR is the single biggest performance lever in Next.js 15. By combining static shells with dynamic holes, you get TTFB under 100ms and personalized content without sacrificing cacheability. Sites we migrated saw 40–60% LCP improvements.

Server Actions done right

The teams winning with server actions share three patterns: (1) they colocate mutations with the UI they affect, (2) they use optimistic updates aggressively, and (3) they revalidate at the granular tag level rather than full paths.

The caching model, finally understood

The caching model confused everyone in Next 13–14. In 15, it's finally coherent: Data Cache is for shared data, Request Memoization is for per-request dedupe, and Full Route Cache is for static rendering. Understanding which one you're hitting (and why) is the difference between a fast site and a confusing one.

What to migrate first

If you're on Next 13 or 14, the highest-leverage migrations are: (1) adopt PPR on your highest-traffic pages, (2) move client data fetching to server components where possible, and (3) audit your revalidate strategy. Those three changes alone typically yield 30%+ LCP wins.