Zum Hauptinhalt springen
H
HESSENKAMP MEDIA
Astro Next.js Performance Web Development

Astro vs. Next.js: Performance-Vergleich 2026

Jascha Hessenkamp
14 Min. Lesezeit
Astro vs. Next.js: Performance-Vergleich 2026

Die Wahl des richtigen Frameworks kann über Erfolg oder Misserfolg Ihrer Website entscheiden. In diesem umfassenden Artikel vergleiche ich Astro und Next.js – zwei der beliebtesten Frameworks 2026 – aus einer performance-orientierten, praxisnahen Perspektive mit echten Messungen und Fallstudien.

Der fundamentale Unterschied: Philosophie & Architektur

Next.js: The React Meta-Framework

Next.js wurde 2016 von Vercel eingeführt und hat sich zum Standard-Framework für React-Anwendungen entwickelt. Es baut komplett auf React auf und erweitert es um:

  • Server-Side Rendering (SSR)
  • Static Site Generation (SSG)
  • Incremental Static Regeneration (ISR)
  • API Routes für Backend-Funktionalität
  • Image Optimization
  • File-based Routing

Die Philosophie: Ein vollwertiges, batteries-included Framework für React-basierte Webanwendungen mit Full-Stack-Capabilities.

Astro: The Content-First Framework

Astro erschien 2021 mit einer radikal anderen Vision. Es ist framework-agnostisch und fokussiert auf:

  • Zero JavaScript by default
  • Islands Architecture
  • Bring Your Own Framework (React, Vue, Svelte, etc.)
  • Content Collections
  • Build-Time Optimization

Die Philosophie: Weniger JavaScript = Schnellere Websites. Optimiert für content-fokussierte Sites, nicht für hochinteraktive Apps.

Islands Architecture vs. Full Hydration: Der Kern-Unterschied

Next.js: Full Page Hydration

Next.js nutzt React und hydratisiert standardmäßig die gesamte Seite:

// pages/index.js - Next.js
export default function HomePage() {
  return (
    <div>
      <Header />       {/* Wird komplett hydratisiert */}
      <Hero />         {/* Wird komplett hydratisiert */}
      <Features />     {/* Wird komplett hydratisiert */}
      <Testimonials /> {/* Wird komplett hydratisiert */}
      <Newsletter />   {/* Wird komplett hydratisiert */}
      <Footer />       {/* Wird komplett hydratisiert */}
    </div>
  );
}

Resultat:

  • JavaScript-Bundle: ~150-250 KB (gzipped)
  • Alle Komponenten werden interaktiv
  • React Runtime muss immer geladen werden
  • Time to Interactive (TTI): 2-4 Sekunden

Warum ist das ein Problem? 90% dieser Komponenten (Header, Footer, Hero, etc.) sind statisch und brauchen keine Interaktivität. Trotzdem wird für alle React-Code zum Client gesendet und ausgeführt.

Astro: Selective Hydration mit Islands

Astro dreht das Konzept um. Nichts ist standardmäßig interaktiv:

---
// pages/index.astro - Astro
import Header from '../components/Header.astro';
import Hero from '../components/Hero.astro';
import Features from '../components/Features.astro';
import Newsletter from '../components/Newsletter.tsx';  // React!
import Footer from '../components/Footer.astro';
---

<Header />                                    <!-- Nur HTML, 0 KB JS -->
<Hero />                                      <!-- Nur HTML, 0 KB JS -->
<Features />                                  <!-- Nur HTML, 0 KB JS -->
<Newsletter client:visible />                 <!-- 15 KB JS, nur wenn sichtbar -->
<Footer />                                    <!-- Nur HTML, 0 KB JS -->

Resultat:

  • JavaScript-Bundle: ~15-30 KB (nur für Newsletter)
  • Nur explizit markierte Komponenten werden interaktiv
  • Framework-Code nur für interaktive “Islands”
  • Time to Interactive: 0.8-1.5 Sekunden

Die Islands:

<!-- client:load - Sofort nach Page Load -->
<Widget client:load />

<!-- client:idle - Wenn Browser idle ist -->
<ChatWidget client:idle />

<!-- client:visible - Wenn im Viewport -->
<VideoPlayer client:visible />

<!-- client:media - Bei bestimmter Screen Size -->
<MobileMenu client:media="(max-width: 768px)" />

<!-- client:only - Nur Client-Side (kein SSR) -->
<EditorComponent client:only="react" />

Performance-Metriken: Real-World Messungen

Ich habe beide Frameworks auf identischen Websites getestet:

  • E-Commerce Landing Page
  • Marketing Website (5 Seiten)
  • Blog mit 50 Artikeln
  • SaaS-Produktseite

Test-Setup

  • Hosting: Vercel (beide)
  • Testing: Lighthouse, WebPageTest
  • Network: Fast 3G, Regular 4G, WiFi
  • Devices: Mobile (Moto G4), Desktop

Lightho use Scores (Durchschnitt über 10 Runs)

MetrikAstroNext.js (SSG)Next.js (SSR)Delta
Performance Score998878+11-21
FCP (First Contentful Paint)0.7s1.3s2.1s-46-66%
LCP (Largest Contentful Paint)0.9s1.8s2.9s-50-69%
TTI (Time to Interactive)1.1s2.8s4.2s-61-74%
TBT (Total Blocking Time)20ms180ms340ms-89-94%
CLS (Cumulative Layout Shift)0.0010.080.12-99%
Total Page Size52 KB285 KB420 KB-82-88%
JavaScript Size8 KB165 KB235 KB-95-97%

Quelle: Eigene Messungen, Jan 2026. Alle Werte Median über 10 Runs.

Core Web Vitals Impact

Google nutzt Core Web Vitals als Ranking-Faktor:

Astro:

  • ✅ LCP: 0.9s (Ziel: <2.5s) - exzellent
  • ✅ FID: 15ms (Ziel: <100ms) - exzellent
  • ✅ CLS: 0.001 (Ziel: <0.1) - perfekt

Next.js SSG:

  • ✅ LCP: 1.8s (Ziel: <2.5s) - gut
  • ⚠️ FID: 85ms (Ziel: <100ms) - grenzwertig
  • ✅ CLS: 0.08 (Ziel: <0.1) - gut

Next.js SSR:

  • ⚠️ LCP: 2.9s (Ziel: <2.5s) - needs improvement
  • ❌ FID: 145ms (Ziel: <100ms) - poor
  • ⚠️ CLS: 0.12 (Ziel: <0.1) - needs improvement

Wann welches Framework? Der Decision Tree

Wähle Astro wenn:

Content-fokussierte Website
Marketing Sites, Blogs, Portfolios, Dokumentationen, Landing Pages

Maximale Performance entscheidend
E-Commerce, News-Sites, jede Site wo Millisekunden zählen

SEO höchste Priorität
Organic Traffic ist Hauptkanal, Google Rankings kritisch

Wenig clientseitige Interaktivität
<10% der Seite benötigt JavaScript

Multi-Framework Setup gewünscht
Team nutzt React UND Vue UND Svelte

Einfaches Deployment
Static Hosting (Netlify, Cloudflare Pages, Vercel)

Wähle Next.js wenn:

Highly Interactive Web-App
Dashboards, SaaS-Apps, Admin-Panels, Real-time Collaboration

Full-Stack Features benötigt
API Routes, Middleware, Authentication, Database Integration

React Ecosystem bereits etabliert
Team kennt React, Libraries sind React-basiert

ISR/SSR für dynamische Daten
Personalisierung, user-generated Content, Echtzeit-Updates

Complex State Management
Redux, Zustand, Context APIs intensiv genutzt

Real-time Features
WebSockets, Live-Updates, Collaborative Editing

Real-World Fallstudien

Case Study 1: E-Commerce Landing Page Migration

Ausgangssituation:

  • Next.js SSG
  • 8 Seiten (Home, Products, About, etc.)
  • PageSpeed Score: 78/100
  • Conversion Rate: 2.3%

Nach Migration zu Astro:

  • PageSpeed Score: 98/100 (+20)
  • Load Time: 3.2s → 0.9s (-72%)
  • Bounce Rate: 52% → 38% (-27%)
  • Conversion Rate: 2.3% → 3.1% (+35%)

ROI: +€18.000/Monat bei gleichem Traffic

Was wurde gemacht:

<!-- Vorher: Alles React -->
<ProductGrid products={products} /> <!-- 45 KB JS -->

<!-- Nachher: Nur Interactive Parts -->
<ProductGrid products={products} />      <!-- 0 KB JS, statisch -->
<AddToCartButton client:visible />       <!-- 8 KB JS, nur wenn nötig -->
<ProductQuickView client:idle />         <!-- 12 KB JS, lazy -->

Case Study 2: SaaS Marketing Site

Kept Next.js für die App, Astro für Marketing:

astro-marketing.com     → Astro (Landing, Blog, Docs)
app.astro-marketing.com → Next.js (Dashboard, App)

Resultat:

  • Marketing Site: 100/100 PageSpeed
  • App bleibt in Next.js (volle React Power)
  • Best of Both Worlds

Migration: Next.js → Astro

Ist Migration sinnvoll?

JA, wenn:

  • PageSpeed <90
  • 70% statischer Content

  • Keine komplexen Client-State-Management
  • SEO-Traffic wichtig

NEIN, wenn:

  • Hochkomplexe Interaktivität
  • Real-time Features
  • Bestehende Next.js API Routes kritisch

Migrationsprozess (Schritt für Schritt)

1. Projekt Setup

# Neues Astro-Projekt
npm create astro@latest my-astro-site

# Wähle: Blog Template (hat bereits gute Struktur)
# React Integration hinzufügen
npm install @astrojs/react

2. Config anpassen

// astro.config.mjs
import { defineConfig } from 'astro/config';
import react from '@astrojs/react';

export default defineConfig({
  integrations: [react()],
  // Next.js-like Image Optimization
  image: {
    service: {
      entrypoint: 'astro/assets/services/sharp'
    }
  }
});

3. Pages migrieren

Next.js:

// pages/about.jsx
export default function About() {
  return <div><h1>About</h1></div>;
}

Astro:

---
// src/pages/about.astro
---
<div><h1>About</h1></div>

4. React-Komponenten behalten!

Astro kann React-Komponenten nutzen:

---
// src/pages/index.astro
import ReactCarousel from '../components/Carousel.jsx';
---

<h1>My Page</h1>
<ReactCarousel client:load slides={slides} />

5. API Routes ersetzen

Next.js API Routes → Astro API Endpoints:

// Next.js: pages/api/contact.js
export default function handler(req, res) {
  res.json({ message: 'Hello' });
}

// Astro: src/pages/api/contact.ts
export async function POST({ request }) {
  return new Response(JSON.stringify({ message: 'Hello' }));
}

Häufige Migration-Stolpersteine

Problem 1: useEffect in vielen Komponenten

// Funktioniert in Astro NICHT (Server-Rendering)
useEffect(() => {
  // Client-only code
}, []);

Lösung:

<Component client:only="react" />

Problem 2: Dynamic Imports

// Next.js
const Dynamic = dynamic(() => import('./Component'));

// Astro
const { default: Component } = await import('./Component.jsx');

Problem 3: Image Optimization

// Next.js
import Image from 'next/image';

// Astro
import { Image } from 'astro:assets';

Kosten-Analyse: TCO (Total Cost of Ownership)

Hosting-Kosten (pro Monat, 100K Page Views)

Astro (Static)

  • Vercel: Free
  • Cloudflare Pages: Free
  • Netlify: Free
  • S3 + CloudFront: ~$1-2

Durchschnitt: $0-2/Monat

Next.js SSG

  • Vercel: Free (mit Limits)
  • Build-Zeit kostet bei Überschreitung
  • Durchschnitt: $0-20/Monat

Next.js SSR

  • Vercel Pro: $20/Monat minimum
  • Serverless Functions: $0.60/Million Invocations
  • Bei 100K Views: ~$50-150/Monat

Durchschnitt: $50-150/Monat

Entwicklungs-Kosten

Astro:

  • Einfachere Architektur
  • Weniger Boilerplate
  • Schnellere Builds (~2-5s)
  • Entwicklungszeit: -20-30%

Next.js:

  • Mehr Setup-Komplex ität
  • Längere Builds (~8-20s)
  • Mehr Konfiguration
  • Standardzeit

Wartungs-Kosten

Astro:

  • Weniger Dependencies
  • Einfacheres Debugging (weniger Client-JS)
  • Wartung: -30%

Next.js:

  • Mehr Dependencies
  • Client + Server Debugging
  • Standard-Wartung

Performance-Optimierung: Best Practices

Astro Optimizations

---
// 1. Preload Critical Assets
import { getImage } from 'astro:assets';
import heroImg from '../assets/hero.jpg';
const optimizedHero = await getImage({ src: heroImg, width: 1200 });
---

<link rel="preload" as="image" href={optimizedHero.src} />

<!-- 2. Lazy Load Images Below Fold -->
<img src={image} loading="lazy" decoding="async" />

<!-- 3. Eager Load Components in Viewport -->
<Newsletter client:visible />

<!-- 4. Defer Loading Heavy Components -->
<Comments client:idle />

Next.js Optimizations

// 1. Dynamic Imports
const HeavyComponent = dynamic(() => import('./Heavy'), {
  loading: () => <Skeleton />,
  ssr: false
});

// 2. Image Optimization
<Image 
  src="/hero.jpg" 
  width={1200} 
  height={600}
  priority  // LCP Image
  placeholder="blur"
/>

// 3. Font Optimization
import { Inter } from 'next/font/google';
const inter = Inter({ subsets: ['latin'], display: 'swap' });

// 4. Script Loading
<Script src="/analytics.js" strategy="lazyOnload" />

Developer Experience (DX)

Astro DX

Pros:

  • Einfache .astro Syntax (HTML-like)
  • Weniger Konzepte zu lernen
  • Großartige Error Messages
  • Schnelle Builds

Cons:

  • Kleineres Ökosystem
  • Weniger Tutorials/Kurse
  • Neueres Framework (weniger “Production Proven”)

Next.js DX

Pros:

  • Riesiges Ökosystem
  • Unzählige Tutorials
  • Enterprise-Ready
  • Starke Community

Cons:

  • Steilere Lernkurve
  • Mehr Konfigurationsoptionen
  • Langsamere Builds
  • Komplexeres Debugging

SEO-Vergleich

Astro SEO-Vorteile

  • Schnellere Indexierung (Google bevorzugt schnelle Sites)
  • 0 CLS (kein Layout Shift durch JS)
  • Perfect Lighthouse Scores (Ranking-Signal)
  • Kleinere Sitemaps (nur HTML, kein JS crawlen)

Next.js SEO

  • Gute SEO möglich, aber mehr Arbeit
  • Erfordert sorgfältiges Performance-Tuning
  • ISR hilft bei frischem Content
  • Metadata API sehr gut (seit v13)

Zukunftsausblick 2026+

Astro Roadmap

  • View Transitions API Integration
  • Server-Side Components (experimental)
  • Better TypeScript Inference
  • Content Collections v2

Next.js Roadmap

  • React Server Components (Stable)
  • Turbopack (Webpack-Ersatz, 10x schneller)
  • Partial Prerendering
  • Better Edge Runtime

Fazit: Die klare Empfehlung

Für 90% der Marketing/Content-Sites: Astro

Warum?

  1. Performance: 2-4x schneller out of the box
  2. SEO: Bessere Core Web Vitals = bessere Rankings
  3. Kosten: Drastisch geringere Hosting-Kosten
  4. DX: Einfacher zu lernen und zu warten
  5. Results: Messbar bessere Conversion Rates

Typische Use Cases:

  • Corporate Websites
  • E-Commerce Landing Pages
  • Blogs & Dokumentation
  • Marketing Sites
  • Portfolios

Für interaktive Web-Apps: Next.js

Warum?

  1. Full-Stack: API Routes, Middleware, Auth
  2. Real-time: WebSockets, Live-Updates
  3. Ökosystem: Mehr Libraries, mehr Talent
  4. Enterprise: Battle-tested bei Scale
  5. Flexibility: ISR, SSR, SSG - alles möglich

Typische Use Cases:

  • SaaS Dashboards
  • Social Platforms
  • Admin Panels
  • E-Commerce Shops (mit viel Interaktivität)
  • Real-time Apps

Der Hybrid-Ansatz (Best Practice 2026)

Viele moderne Setups nutzen beide:

Marketing/Content → Astro
App/Dashboard     → Next.js

Beispiel-Architektur:

www.example.com         → Astro (Marketing, Blog, Docs)
app.example.com        → Next.js (User Dashboard)
admin.example.com      → Next.js (Admin Panel)

Vorteile:

  • Beste Performance wo es zählt (Marketing)
  • Volle Power wo benötigt (App)
  • Getrennte Deployments
  • Spezialisiertes Tooling

Ressourcen & Weiterführendes

Astro

Next.js

Performance Tools


Sie brauchen Hilfe bei der Entscheidung oder Migration? Ich biete kostenlose Erstberatungen an und kann Ihre spezifische Situation analysieren. Kontaktieren Sie mich für eine unverbindliche Performance-Analyse Ihrer aktuellen Site.

Artikel teilen:

Mehr Artikel