Skip to content
2.6Advanced8 min

Next.js 15 SEO Architecture: SSR, PPR and Server Components

Lucas Blochberger
Definition

Next.js 15 App Router with React Server Components and experimental Partial Prerendering (PPR) provides the optimal SEO architecture for AI visibility: server-rendered components ship zero client JavaScript, PPR delivers a static shell from CDN while dynamic content streams as HTML.

Key Takeaways

  • App Router is preferable to Pages Router for new SEO work
  • Server Components send zero client JavaScript, ideal for AI crawlers
  • PPR pre-renders static shell at build, streams dynamic content as HTML
  • Metadata API offers type-safe, hierarchical metadata with auto-deduplication
  • sitemap.ts and robots.ts replace third-party plugins
  • metadataBase is critical: without it, OG image URLs become relative
  • View Transitions API has zero crawlability impact

Next.js 15 is the preferred framework architecture for SEO and AI visibilityprovided you use the App Router correctly.

App Router vs. Pages Router

The App Router should be preferred over the Pages Router for all new SEO work. Its Metadata API (generateMetadata, metadata export) offers type-safe, hierarchical metadata with automatic deduplication. File conventions sitemap.ts and robots.ts replace third-party plugins. Critical: set metadataBase, since without it, Open Graph image URLs become relative and social platforms cannot retrieve them.

Partial Prerendering (PPR)

PPR is still experimental in Next.js 15, but the most promising rendering innovation. It pre-renders a static HTML shell at build time while Suspense boundary gaps remain open for dynamic content that streams as HTML at request time. The static shell is served immediately from the CDN (improves TTFB and LCP), while streamed content as HTML, not client JavaScript, is visible to all crawlers.

View Transitions API

The View Transitions API achieved Baseline Newly Available in October 2025. It has zero impact on crawlability, since transitions are purely visual CSS animations, invisible to crawlers. Next.js 15.2+ offers experimental integration via experimental.viewTransition: true.

Data & Statistics

None of the six major AI crawlers (GPTBot, ClaudeBot, Meta-ExternalAgent, PerplexityBot, Bytespider) renders JavaScript; ChatGPT fetches 11.50% and Claude 23.84% of JS files but does not execute them.

Vercel - The rise of the AI crawler [international] (2025)

GPTBot, Claude, AppleBot and PerplexityBot together ~1.3 billion fetches/month, slightly more than 28% of Googlebot's 4.5 billion fetches/month.

Vercel Blog - The rise of the AI crawler [international] (2025)

Google needed 313 hours for JavaScript-rendered pages versus 36 hours for pure HTML (around 9 times as long).

Onely - Google Needs 9X More Time To Crawl JS Than HTML [international] (2022)

Googlebot now crawls only the first 2 MB per resource instead of previously 15 MB (reduction of 86.7%).

PPC Land - Google slashes web crawl limit by 86.7% as cost pressures mount [international] (2026)

31.02% of multilingual websites contain contradictory hreflang directives; 16.04% of hreflang clusters without self-referencing tags.

Search Engine Land - Study: 31% of international websites contain hreflang errors (Dan Taylor, SALT.agency) [international] (2023)

JSON-LD is present on 41% of all pages in 2024, plus 7 percentage points compared to 34% in 2022.

Web Almanac 2024 (HTTP Archive) — Structured Data [international] (2024)

Google holds a search engine market share of 81.87% in Austria in May 2026, Bing 9.01%.

StatCounter Global Stats - Search Engine Market Share Austria [Austria] (2026)

IndexNow delivers 18% of all clicked new URLs in web search; over 3.5 billion URLs/day submitted

Bing Webmaster Blog - IndexNow Expands Adoption Across Industries [international] (2024)

48% of mobile and 56% of desktop origins pass all three Core Web Vitals; mobile LCP 62%, INP 77%, CLS 81% in green range (CrUX, July 2025)

Web Almanac 2025 (HTTP Archive) - Performance [international] (2025)

In 2024, only 43% of mobile sites had good CWV under INP compared to 48% under the old FID; INP replaced FID as Core Web Vital (March 2024)

Web Almanac 2024 (HTTP Archive) - Performance [international] (2024)

Next.js is used by 59% of respondents, with 21% positive versus 17% negative sentiment

InfoQ - State of JavaScript Survey 2025 [international] (2026)
Summarize with AIChatGPTClaudePerplexity

Opens the chat with a prepared prompt.

FAQ

Why is Server-Side Rendering in Next.js 15 important for AI crawlers?
Because none of the six major AI crawlers (GPTBot, ClaudeBot, Meta-ExternalAgent, PerplexityBot, Bytespider) execute JavaScript. While Claude fetches 23.84% of JS files, it does not execute them. Only server-rendered HTML, as delivered by SSG, SSR and PPR, is fully readable for these crawlers. Client-side loaded content remains invisible to them.
What is Partial Prerendering (PPR) and how does it help SEO?
PPR combines static and dynamic rendering in a single route. A static shell is prerendered at build time and served from the CDN, which reduces TTFB and LCP. Dynamic parts within Suspense boundaries are streamed server-side as HTML. Since the streamed content is HTML and not client-side JavaScript, AI crawlers without JS execution also receive the complete content.
App Router or Pages Router for SEO in Next.js 15?
For new projects, the App Router is preferable. It brings React Server Components (zero client JavaScript for their logic, better for INP and crawl budget), the type-safe Metadata API, and convention-based files like sitemap.ts and robots.ts. PPR is exclusively available in the App Router.
How do I correctly implement hreflang for Austria and the DACH region in Next.js?
Via the alternates.languages field of the Metadata API, you output de-AT, de-DE and x-default. It is important that each language variant references itself and all others. An international study found that 31.02% of multilingual websites have conflicting hreflang directives and 16.04% of clusters lack self-referencing tags, so avoid precisely these two errors.
Which rendering strategy does each route need in Next.js 15?
Basic rule: as static as possible, as dynamic as necessary. Content pages such as KB articles, blog and service pages belong on SSG or ISR. Personalized or real-time pages use SSR or PPR with tightly scoped Suspense boundaries, so that the SEO-relevant static shell is preserved and only truly dynamic parts stream.
Why is metadataBase so important in Next.js?
Without metadataBase, the Metadata API generates relative URLs for Open Graph and Twitter images. Crawlers and social platforms often cannot correctly resolve relative image URLs, causing preview images to break. metadataBase defines the absolute base URL and is therefore mandatory for valid OG tags.
What role does Googlebot's 2 MB crawl limit play for Next.js?
Googlebot now only crawls the first 2 MB per resource, a reduction of 86.7% compared to the previous 15 MB. The limit applies to HTML, JavaScript and CSS individually. Bloated client bundles risk being cut off. Server Components and code splitting keep bundles small and thus within the limit.

How does your website perform?

Get a free, AI-powered SEO report of your website by email: technical SEO, on-page, keywords & competitors. No obligation.

Get a free SEO audit →

Or go straight to SEO Agency in Vienna