Next.js 15 in Produktion: App Router, PPR und Caching at Scale
Ein praktischer Leitfaden zum Aufbau einer Next.js-15-Anwendung für die Produktion — Server Components, Partial Prerendering, Cache-Invalidierung und Deployment-Muster.

Next.js 15 bringt eine Reihe von Funktionen mit, die — richtig eingesetzt — Anwendungen ermöglichen, die gleichzeitig schnell laden, günstig auszuliefern und leicht zu warten sind. Falsch eingesetzt, erzeugen dieselben Funktionen Caching-Bugs, die in der Produktion schmerzhaft zu debuggen sind. Dieser Beitrag behandelt die Architekturentscheidungen, auf die es ankommt.
Das mentale Modell: Wo läuft der Code?
Bevor Sie eine einzige Zeile schreiben, beantworten Sie das für jede Komponente:
| Frage | Antwort → |
|---|---|
| Ändern sich diese Daten pro Request? | Server Component mit cache: 'no-store' |
| Ändern sich diese Daten nach Zeitplan? | Server Component mit revalidate |
| Ändern sich diese Daten nie? | Server Component, vollständig statisch |
| Braucht das Interaktivität? | Client Component ('use client') |
Der Standard im App Router sind Server Components. 'use client' hinzuzufügen ist ein bewusstes Opt-in, nicht der Ausgangspunkt.
Ordnerstruktur für eine echte Anwendung
app/
[locale]/
(public)/ ← Layout mit Navbar/Footer
page.tsx ← Startseite, statisch
blog/
page.tsx ← Übersicht, revalidate: 60
[slug]/page.tsx ← Detail, statisch + ISR
portfolio/
page.tsx ← statisch
(protected)/ ← Layout mit Auth-Prüfung
dashboard/
page.tsx ← dynamisch, kein Cache
api/
contact/route.ts ← POST, rate-limited
og/route.ts ← dynamisches OG-Bild
Route-Gruppen (public) und (protected) teilen unterschiedliche Layouts, ohne die URL zu beeinflussen. Das ist sauberer, als jede geschützte Seite einzeln in eine Auth-Prüfung zu wickeln.
Server Components: Muster für das Datenholen
Paralleles Fetching mit Promise.all
Warten Sie nie seriell, wenn die Requests unabhängig sind:
ts
Request-Deduplizierung mit React cache
Wenn mehrere Komponenten auf derselben Seite dieselben Daten brauchen, sorgt React.cache dafür, dass das Fetch nur einmal pro Render läuft:
ts
Sowohl <Header> als auch <Dashboard> können getUser(id) aufrufen — die Datenbankabfrage wird nur einmal ausgeführt.
Partial Prerendering (PPR)
PPR ist die bedeutendste Architekturänderung in Next.js 15. Sie erlaubt es, eine einzelne Route teilweise statisch zu machen:
ts
Die HTML-Hülle mit <HeroSection> wird am Edge gecacht. Die dynamischen Teile streamen hinter einer Suspense-Grenze nach. Der Nutzer sieht Inhalt in unter 100 ms; personalisierte Daten kommen kurz danach.
Strategie zur Cache-Invalidierung
Next.js 15 hat drei Cache-Ebenen. Wissen Sie, welche Sie invalidieren:
ts
Der revalidateTag-Ansatz skaliert besser als revalidatePath, weil Sie Daten auf Fetch-Ebene taggen, nicht auf Routen-Ebene. Ein API-Aufruf invalidiert jede Seite, die diese Daten verwendet hat.
Middleware für i18n und Auth
Middleware läuft am Edge, bevor irgendeine Seite rendert. Halten Sie sie minimal — sie läuft bei jedem Request:
ts
Vermeiden Sie Datenbankaufrufe in der Middleware. Prüfen Sie nur Cookies oder JWT-Claims — alles Schwerere gehört in die Server Component der Seite.
Checkliste fürs Produktions-Deployment
Vor dem Push zu Vercel:
bash
Achten Sie auf:
- Server Components, die versehentlich client-only Pakete importieren (
window,localStorage) cookies()oderheaders()außerhalb eines dynamischen Kontexts aufgerufen — das nimmt die gesamte Route aus der statischen Generierung- Bilder ohne explizite
width/height, die Layout-Shift verursachen
Fazit
Die Stärke des App Routers entsteht aus dem Verständnis der Grenze zwischen statisch und dynamisch — und daraus, sie bewusst zu setzen. Standardmäßig statisch, Suspense-Grenzen für dynamische Abschnitte, getaggte Fetches für granulare Invalidierung und eine schlanke Middleware. Diese vier Entscheidungen decken 90 % der Performance-Probleme in der Produktion ab, bevor sie entstehen.
Ähnliche Artikel
Restaurant-Website mit digitaler Speisekarte: Best Practices 2026
Wie Restaurants mit einer schnellen Website, digitaler Speisekarte und Online-Reservierung mehr Gäste gewinnen — mobil-optimiert, auffindbar und appetitlich.
Artikel lesenZahnarzt-Website 2026: Online-Terminbuchung, Datenschutz, Patientenvertrauen
Worauf es bei einer modernen Zahnarzt-Website ankommt: Online-Terminbuchung, DSGVO-konformer Umgang mit Patientendaten und Vertrauen, das neue Patienten gewinnt.
Artikel lesen