Next.js 15 shipped in late 2024 with a set of changes that initially looked incremental — React 19 support, improved caching defaults, the Turbopack compiler reaching stability. Twelve months on, those changes have compounded into a meaningful performance gap between App Router codebases and their Pages Router counterparts.
The Caching Rethink
Next.js 15's most consequential change was reversing the aggressive caching defaults that made version 14 a source of confusion for many teams. Fetch requests, route handlers, and client-side navigation are now uncached by default — you opt into caching explicitly rather than opting out. For agency websites where content freshness matters (pricing pages, portfolio updates, blog posts), this is a significant quality-of-life improvement that also eliminates a whole category of "why isn't this updating?" bugs.
React 19 and What It Unlocks
React 19's stable release brought Server Components into the mainstream and introduced Actions — a new way to handle form submissions and mutations that eliminates the need for separate API routes in many cases. For agency sites with contact forms, quote request forms, and newsletter signups, this means less code, fewer moving parts, and better performance because the logic runs server-side without the round-trip latency of a separate fetch call.
The compiler — previously React Forget, now just the React Compiler — automatically memoizes components that would previously have required manual useMemo and useCallback calls. Sites built with the compiler enabled consistently show 15–30% reductions in unnecessary re-renders, which translates directly to smoother interactions and better Interaction to Next Paint (INP) scores.
Core Web Vitals in 2026
Google's page experience signals continue to influence rankings, and INP — the metric that measures how quickly a page responds to user interactions — has separated well-optimised sites from mediocre ones more than LCP or CLS. Pages Router sites running client-side navigation with heavy JavaScript bundles are struggling to hit the "Good" threshold of under 200ms. App Router sites with proper Server Component architecture, where most rendering happens on the server and only the interactive pieces hydrate on the client, are consistently clearing it.
Should You Migrate?
If your site is under two years old and was built with the Pages Router, a migration is probably not urgent. Focus on performance optimisation within the existing architecture first. But if you're commissioning a new build, or if your current site is struggling with Core Web Vitals or has significant technical debt, App Router from the ground up is the right call.
The migration path from Pages to App Router is well-documented and can be done incrementally — both routers can coexist in the same codebase. Most migrations take three to six weeks depending on site complexity. The performance gains and reduced maintenance overhead make it worthwhile for any site that will be actively developed for the next two or more years.
The Build Stack We Recommend in 2026
For agency websites we build today: Next.js 15 with App Router, TypeScript strict mode, Tailwind CSS or SCSS modules depending on project requirements, Vercel or Cloudflare for deployment, and Sanity or Contentful for content management if the client needs editorial control. This stack has the best ecosystem support, the best performance ceiling, and the best developer experience currently available.