Next.js 16.3: instant navigations and what it means for your website SEO
Web Development

Next.js 16.3: instant navigations and what it means for your website SEO

24 July 2026·7 min

The latest version of Next.js solves one of its long-standing problems: server-driven websites that felt slow to navigate. Here is how it works and what your business gains.

On 25 June 2026, the Next.js team released the preview of version 16.3 with a feature that has been the main criticism of the framework for years: navigating between pages felt slow. You clicked a link and for a moment — sometimes more than a moment — nothing happened. The screen was blank waiting for the server.

That is no longer going to be the case.

The problem it solves

Websites built with Next.js (and any server-driven framework) have a disadvantage compared to classic SPAs: when navigating between pages, the browser has to go to the server, wait for the response and render. That network round trip introduces visible latency.

Single-page applications (SPAs) solve this by loading all the code upfront and showing a skeleton of the next screen the instant you click, before having the data. That makes them feel instant even when data takes time.

With 16.3, Next.js adopts exactly that pattern — without giving up the advantages of the server.

How it works: Stream, Cache or Block

The framework introduces three behaviours you can choose per route:

Stream with Suspense: the user instantly sees a skeleton of the page (loading state) while data arrives. Full SPA feel.

Cache with use cache: Next.js serves a cached version of the UI instantly. Zero wait.

Block: if you need a navigation to wait for the server (for example, a blog article where you never want to show an empty skeleton), you use `export const instant = false` and classic behaviour is maintained.

Prefetching changes radically

Until now, Next.js fired a prefetch request for every link visible on screen. If your sidebar had 20 links, there were 20 background requests. It was inefficient and generated a cascade of requests in the network panel.

With 16.3 and the `partialPrefetching: true` option, only one shell is preloaded per route — not per link. If you have 20 chats pointing to the same `/chat/[id]` pattern, a single shell is downloaded for that route. Lighter, faster, more predictable.

What your website gains in practice

For corporate websites and online stores, this translates into:

  • Less time between click and visible content (lower perceived LCP)
  • Improvement in interaction metrics Google measures with INP
  • User experience comparable to a native app without SPA development costs
  • When does it reach production?

    Version 16.3 has been in preview since late June 2026. The stable release is expected in the coming weeks. The `cacheComponents` and `partialPrefetching` options are opt-in now and will become the default behaviour in the next major version.

    Have a project in mind?

    Tell us what you want to achieve.

    Let's talk