Astro ist die beste WordPress-Alternative für inhaltsreiche Websites im Jahr 2026 -- Blogs, Dokumentation, Marketing-Seiten -- weil es standardmäßig null JavaScript ausliefert und WordPress bei Core Web Vitals um 60-80 Punkte schlägt. Ich habe in den letzten zwei Jahren ein Dutzend WordPress-Websites zu Astro migriert, von 50-Beiträge-Personal-Blogs bis hin zu 3.000-Seiten-Dokumentationsportalen, und die Ergebnisse sind durchgehend dramatisch: Sub-Sekunden-Ladezeiten, Lighthouse-Scores über 95 und Hosting-Rechnungen, die von $99/Monat auf praktisch null fallen.

Das ist keine "einfach XML exportieren und beten"-Anleitung. Ich werde Sie durch den exakten Prozess führen, den ich verwende, inklusive der Fallstricke, die Sie treffen werden, wenn Sie nicht planen -- kaputte URLs, fehlende Bilder, verwaiste Shortcodes und die Kommentar-System-Frage, die jeden verwirrt.

Inhaltsverzeichnis

Warum Astro statt WordPress

WordPress ist für die meisten Content-Websites überentwickelt. Sie führen PHP, MySQL, einen Web-Server, eine Caching-Schicht und wahrscheinlich ein Dutzend Plugins aus, nur um das zu servieren, was fundamentally statischer Inhalt ist. Jeder Seitenladevorgang trifft eine Datenbank. Jedes Plugin ist ein potenzielles Sicherheitsloch. Jedes Update ist ein Gebet, dass nichts kaputt geht.

Astro dreht dieses Modell um. Es rendet Ihre Seiten zur Build-Zeit in statisches HTML vor. Keine Datenbank. Keine Server-seitige Runtime. Kein PHP. Die Ausgabe ist reines HTML, CSS und -- nur wenn Sie explizit opt-in -- JavaScript.

Hier ist, was ich durchgehend bei Migrationen sehe:

Metrik WordPress (Verwaltet) Astro (Statisch) Verbesserung
Lighthouse Performance 34-55 95-100 +60-80 Punkte
First Contentful Paint 2,8-4,2s 0,4-0,8s ~80% schneller
Total Blocking Time 200-800ms 0-10ms ~98% Reduktion
Seitengröße (typischer Blogbeitrag) 1,5-3,5 MB 80-250 KB ~90% kleiner
Time to Interactive 4-8s 0,5-1,0s ~85% schneller
HTTP-Anfragen 60-130 8-15 ~85% weniger

Das sind keine Cherry-Picked. Das sind Durchschnittswerte aus echten Migrationen. WordPress-Websites mit Caching-Plugins und CDNs können immer noch nicht an ein statisches Astro-Build herangehen, weil sie pro Anfrage grundsätzlich mehr Arbeit leisten.

Der Sicherheitsaspekt

WordPress ist das am meisten angegriffene CMS im Internet. Nicht weil es schlecht ist, sondern weil es überall ist und eine massive Angriffsfläche hat -- PHP-Ausführung, Datenbankzugriff, Datei-Uploads, XML-RPC, REST-API-Endpoints, Admin-Anmeldeseiten. Jeden Monat bringt neue Plugin-Anfälligkeit.

Astro-Websites, die auf einem CDN bereitgestellt werden, haben praktisch keine Angriffsfläche. Es gibt keinen Server zum Ausnutzen, keine Admin-Panel zum Brute-Force, keine Datenbank zum Injizieren. Ihre Website ist ein Ordner mit HTML-Dateien auf einem globalen Edge-Netzwerk.

Die Entwickler-Erfahrung

Wenn Sie jemals versucht haben, ein WordPress-Theme anzupassen, kennen Sie den Schmerz: PHP-Template-Tags gemischt mit HTML, die Template-Hierarchie, die Auswendiglernen erfordert, functions.php-Dateien, die sich zu wartbaren Monstern entwickeln, ständige Plugin-Konflikte.

Astro verwendet eine komponentenbasierte Architektur mit einem Dateiformat, das wie HTML mit Superkräften aussieht. Sie können React-, Vue-, Svelte- oder Solid-Komponenten in Astro-Seiten verwenden -- aber nur wenn Sie wirklich Interaktivität brauchen. Für einen Blog oder eine Marketing-Website brauchen Sie wahrscheinlich nicht.

---
// src/pages/blog/[...slug].astro
import { getCollection } from 'astro:content';
import BlogLayout from '../../layouts/BlogLayout.astro';

export async function getStaticPaths() {
  const posts = await getCollection('blog');
  return posts.map(post => ({
    params: { slug: post.slug },
    props: { post },
  }));
}

const { post } = Astro.props;
const { Content } = await post.render();
---

<BlogLayout title={post.data.title} description={post.data.excerpt}>
  <article>
    <h1>{post.data.title}</h1>
    <time datetime={post.data.date.toISOString()}>
      {post.data.date.toLocaleDateString()}
    </time>
    <Content />
  </article>
</BlogLayout>

Das ist eine vollständige dynamische Blog-Post-Seite. Versuchen Sie, das in WordPress mit der gleichen Klarheit zu tun.

Astro vs Next.js vs Gatsby für WordPress-Migration

Astro

Astro wurde speziell für Content-Websites entwickelt. Seine "Islands Architecture" bedeutet, dass Sie null JS ausliefern, es sei denn, eine bestimmte Komponente braucht es. Content Collections bieten Ihnen typ-sichere Markdown-Verarbeitung mit integrierter Schema-Validierung. Build-Zeiten sind schnell, das mentale Modell ist einfach, und Sie brauchen React nicht zu verstehen, um es zu verwenden. Für Blogs, Dokumentation und Marketing-Websites ist es 2026 die offensichtliche Wahl. Wenn Sie diese Route erkunden, hat unser Astro-Entwicklungsteam Migrationen im großen Maßstab bearbeitet.

Next.js

Next.js ist ein vollständiges Anwendungs-Framework. Es verwaltet Authentifizierung, Server-seitiges Rendering, API-Routes, Middleware und hundert andere Dinge, die Sie für einen Blog nicht brauchen. Sie liefern die React-Runtime zu jedem Besucher, unabhängig davon, ob dieser Interaktivität braucht (App Router's Server-Komponenten helfen, aber die Baseline-Bundle ist immer noch schwerer). Next.js macht Sinn, wenn Sie ein SaaS-Produkt oder eine Website mit schwerer dynamischer Funktionalität bauen -- Benutzer-Dashboards, E-Commerce, Echtzeit-Features. Für eine Content-Migration von WordPress? Das ist Overkill. Aber wenn Ihre Website diese Features braucht, kann unser Next.js-Team Ihnen helfen, die richtige Architektur zu schreiben.

Gatsby

Gatsby ist praktisch im Wartungsmodus. Netlify erwarb es 2023, und die Entwicklung ist zu einem Schneckentempo verlangsamt. Die GraphQL-Datenschicht, die einst clever aussah, fühlt sich jetzt wie unnötige Komplexität an. Build-Zeiten für große Websites sind schmerzhaft. Das Plugin-Ökosystem ist veraltet. Ich würde dringend davon abraten, 2026 ein neues Gatsby-Projekt zu starten. Wenn Sie derzeit auf Gatsby sind, ist eine Migration zu Astro tatsächlich einfacher als eine Migration von WordPress, da Ihr Inhalt wahrscheinlich bereits in Markdown ist.

Feature Astro Next.js Gatsby
Standard JS ausgeliefert 0 KB ~85-100 KB ~70-90 KB
Content Collections Eingebaut, typ-sicher Manuelle Einrichtung GraphQL-Schicht
Build-Zeit (1000 Beiträge) ~30-45s ~60-90s ~120-300s
Lernkurve Niedrig Mittel-Hoch Mittel
Am besten für Content-Websites Web-Apps Legacy-Projekte
Aktive Entwicklung Sehr aktiv Sehr aktiv Minimal
SSR-Unterstützung Optional Standard Begrenzt

7-Schritte-Migrations-Playbook

Hier ist der exakte Prozess, den ich folge. Kein Hand-Waving.

Schritt 1: Überprüfen Sie Ihre WordPress-Website

Bevor Sie Code anfassen, müssen Sie wissen, womit Sie arbeiten. Melden Sie sich im WordPress-Admin an und machen Sie eine Bestandsaufnahme.

# Wenn Sie WP-CLI installiert haben (das sollten Sie)
wp post list --post_type=post --format=csv --fields=ID,post_title,post_name,post_date > posts.csv
wp post list --post_type=page --format=csv --fields=ID,post_title,post_name,post_date > pages.csv
wp plugin list --format=table
wp theme list --format=table

Dokumentieren Sie jedes Plugin und was es tut. Sie müssen Astro-Äquivalente finden oder sie fallenlassen. Häufige:

  • Yoast SEO → Astro's integriertes <head>-Management + @astrojs/sitemap
  • Contact Form 7 → Formspree, Formspark oder eine Serverless-Funktion
  • WP Super Cache / W3 Total Cache → Nicht notwendig (Ihre Website ist bereits statisch)
  • Wordfence / Sucuri → Nicht notwendig (kein Server zum Schützen)
  • Google Analytics Plugin → Direktes Script-Tag oder Partytown-Integration
  • WooCommerce → Snipcart, Shopify Buy Button oder eine dedizierte E-Commerce-Plattform

Schritt 2: WordPress-Inhalt exportieren

Sie haben zwei Optionen: XML-Export oder REST API. Ich empfehle den XML-Export für die meisten Websites, da er alles auf einmal erfasst.

Im WordPress-Admin: Tools → Export → All Content → Download Export File

Das gibt Ihnen eine .xml-Datei mit jedem Beitrag, Seite, Kommentar, benutzerdefiniertem Feld, Kategorie, Tag und Medienverweis.

Für größere Websites (1000+ Beiträge) ist der REST-API-Ansatz zuverlässiger:

// scripts/export-wp.mjs
import fs from 'fs/promises';
import path from 'path';

const WP_URL = 'https://your-wordpress-site.com/wp-json/wp/v2';
const PER_PAGE = 100;

async function fetchAllPosts() {
  let page = 1;
  let allPosts = [];
  
  while (true) {
    const res = await fetch(
      `${WP_URL}/posts?per_page=${PER_PAGE}&page=${page}&_embed`
    );
    
    if (!res.ok) break;
    
    const posts = await res.json();
    if (posts.length === 0) break;
    
    allPosts = allPosts.concat(posts);
    console.log(`Fetched page ${page} (${allPosts.length} posts total)`);
    page++;
  }
  
  return allPosts;
}

const posts = await fetchAllPosts();
await fs.writeFile('wp-posts.json', JSON.stringify(posts, null, 2));
console.log(`Exported ${posts.length} posts`);

Schritt 3: Strukturieren Sie Ihr Astro-Projekt

npm create astro@latest my-new-site
cd my-new-site

# Fügen Sie die Integrationen hinzu, die Sie brauchen
npx astro add mdx
npx astro add sitemap
npx astro add tailwind

# Installieren Sie zusätzliche Abhängigkeiten
npm install sharp @astrojs/rss

Ich empfehle, mit einem minimalen Setup anstelle eines Themes zu beginnen. Themes fügen Komplexität hinzu, die Sie während der Migration nicht brauchen. Bringen Sie zuerst den Inhalt zum Laufen, dann stylen Sie ihn.

Schritt 4: Konvertieren Sie Inhalt zu Markdown

Hier ist die echte Arbeit. Sie müssen WordPress-HTML-Inhalt in sauberes Markdown mit angemessenem Frontmatter konvertieren.

Ich verwende ein benutzerdefiniertes Node.js-Skript mit turndown für HTML-zu-Markdown-Konvertierung:

npm install turndown @wordpress/block-serialization-default-parser
// scripts/convert-posts.mjs
import TurndownService from 'turndown';
import fs from 'fs/promises';
import path from 'path';

const turndown = new TurndownService({
  headingStyle: 'atx',
  codeBlockStyle: 'fenced',
});

// Verarbeiten Sie WordPress-spezifisches HTML
turndown.addRule('wpCaption', {
  filter: (node) => {
    return node.nodeName === 'DIV' && 
           node.className.includes('wp-caption');
  },
  replacement: (content, node) => {
    const img = node.querySelector('img');
    const caption = node.querySelector('.wp-caption-text');
    return `![${caption?.textContent || ''}](${img?.src || ''})\n`;
  },
});

const posts = JSON.parse(await fs.readFile('wp-posts.json', 'utf-8'));

for (const post of posts) {
  const slug = post.slug;
  const markdown = turndown.turndown(post.content.rendered);
  
  const frontmatter = `---
title: "${post.title.rendered.replace(/"/g, '\\"')}"
date: ${post.date}
excerpt: "${(post.excerpt.rendered || '').replace(/<[^>]*>/g, '').trim().replace(/"/g, '\\"')}"
categories: [${(post._embedded?.['wp:term']?.[0] || []).map(c => `"${c.name}"`).join(', ')}]
tags: [${(post._embedded?.['wp:term']?.[1] || []).map(t => `"${t.name}"`).join(', ')}]
featuredImage: "${post._embedded?.['wp:featuredmedia']?.[0]?.source_url || ''}"
draft: false
---`;

  const content = `${frontmatter}\n\n${markdown}\n`;
  
  await fs.mkdir('src/content/blog', { recursive: true });
  await fs.writeFile(`src/content/blog/${slug}.md`, content);
  console.log(`Converted: ${slug}`);
}

Schritt 5: Laden Sie Medien herunter und organisieren Sie sie

WordPress speichert Medien in wp-content/uploads/YYYY/MM/-Verzeichnissen. Sie müssen alles herunterladen und Referenzen aktualisieren.

# Schnell und einfach: wget-Spiegel Ihres Uploads-Verzeichnisses
wget -r -np -nH --cut-dirs=2 -P public/uploads \
  https://your-wordpress-site.com/wp-content/uploads/

# Dann find-and-replace alte URLs in Ihren Markdown-Dateien
find src/content/blog -name '*.md' -exec sed -i '' \
  's|https://your-wordpress-site.com/wp-content/uploads/|/uploads/|g' {} +

Für Produktionsmigrationen verwende ich Astros Bildoptimierung mit der sharp-Bibliothek, um alles in WebP zu konvertieren und responsive Größen zur Build-Zeit zu generieren. Das allein kann die Bild-Payload um 40-60% reduzieren.

Schritt 6: Erstellen Sie Layouts und Komponenten

Erstellen Sie Ihre Astro-Layouts, um Ihre WordPress-Theme-Struktur zu entsprechen (oder zu verbessern). Mindestens brauchen Sie:

  • src/layouts/BaseLayout.astro -- HTML-Shell, <head>, Nav, Footer
  • src/layouts/BlogLayout.astro -- Single-Post-Template
  • src/pages/blog/index.astro -- Blog-Auflistung mit Paginierung
  • src/pages/blog/[...slug].astro -- Dynamische Post-Seiten
  • src/pages/index.astro -- Startseite

Schritt 7: Testen, Umleiten, Bereitstellen

Bauen Sie lokal und überprüfen Sie alles:

npm run build
npm run preview

# Prüfen Sie auf kaputte Links
npx linkinator http://localhost:4321 --recurse

Richten Sie Umleitungen ein (unten ausführlich behandelt), konfigurieren Sie Ihr DNS und stellen Sie es bereit. Ich werde Hosting-Optionen im Kostenvergleichsabschnitt behandeln.

WordPress-Datenexport zu Astro Content Collections

Astros Content Collections sind eines seiner besten Features. Sie bieten Ihnen typ-sicheren Zugriff auf Ihren Markdown-Inhalt mit Schema-Validierung. Hier ist, wie Sie diese richtig für migrierten WordPress-Inhalt einrichten.

Ihr Schema definieren

// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { glob } from 'astro/loaders';

const blog = defineCollection({
  loader: glob({ pattern: '**/*.{md,mdx}', base: './src/content/blog' }),
  schema: z.object({
    title: z.string(),
    date: z.coerce.date(),
    excerpt: z.string().optional(),
    categories: z.array(z.string()).default([]),
    tags: z.array(z.string()).default([]),
    featuredImage: z.string().optional(),
    draft: z.boolean().default(false),
  }),
});

export const collections = { blog };

Die Schönheit davon: Wenn einer Ihrer migrierten Posts fehlende oder falsch formatierte Frontmatter hat, wird Astro Ihnen es zur Build-Zeit mit einer klaren Fehlermeldung sagen. Keine stillen Ausfälle mehr.

Behandeln Sie WordPress-Shortcodes

Das ist der Fallstrick, den die meisten Migrationsleitfäden überspringen. Wenn Ihre WordPress-Posts Shortcodes wie [gallery], [caption], [embed] oder benutzerdefinierte Shortcodes von Plugins verwenden, werden sie als Rohtext in Ihrem Markdown angezeigt.

Sie haben drei Optionen:

  1. Vorverarbeitung während der Konvertierung -- Schreiben Sie Regex-Regeln in Ihr Konvertierungsskript, um Shortcodes in Markdown- oder HTML-Äquivalente umzuwandeln
  2. Verwenden Sie MDX -- Konvertieren Sie betroffene Posts zu .mdx und erstellen Sie Astro-Komponenten, die Shortcodes ersetzen
  3. Suchen und ersetzen Sie manuell -- Für kleine Websites ist manchmal der schnellste Ansatz
// Beispiel: Konvertierung des WordPress-Gallery-Shortcodes während der Konvertierung
function convertShortcodes(content) {
  // [gallery ids="1,2,3"]
  content = content.replace(
    /\[gallery ids="([^"]+)"\]/g,
    (match, ids) => {
      const imageIds = ids.split(',');
      return imageIds.map(id => `![](/uploads/gallery/${id.trim()}.jpg)`).join('\n');
    }
  );
  
  // [youtube url="..."]
  content = content.replace(
    /\[youtube[^\]]*url="([^"]+)"[^\]]*\]/g,
    (match, url) => `<iframe src="${url}" width="560" height="315" frameborder="0"></iframe>`
  );
  
  return content;
}

Inhalte abfragen

Sobald Ihr Inhalt in Collections ist, ist das Abfragen einfach:

---
// src/pages/blog/index.astro
import { getCollection } from 'astro:content';
import BlogLayout from '../../layouts/BlogLayout.astro';

const posts = (await getCollection('blog'))
  .filter(post => !post.data.draft)
  .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf());
---

<BlogLayout title="Blog">
  <ul>
    {posts.map(post => (
      <li>
        <a href={`/blog/${post.slug}/`}>
          <h2>{post.data.title}</h2>
          <time>{post.data.date.toLocaleDateString()}</time>
          <p>{post.data.excerpt}</p>
        </a>
      </li>
    ))}
  </ul>
</BlogLayout>

SEO-Erhaltung: 301-Umleitungen, Sitemap und Schema

Dieser Abschnitt ist kritisch. Eine verpfuschte Migration kann Jahre von SEO-Equity über Nacht zerstören. Überspringen Sie nichts davon.

URL-Struktur und 301-Umleitungen

WordPress standardisiert auf URLs wie /2024/03/my-post-title/ oder /?p=123. Sie müssen jede alte URL auf ihre neue Astro-Entsprechung abbilden.

Generieren Sie zuerst eine vollständige Liste alter URLs:

# Verwenden Sie WP-CLI
wp post list --post_type=post,page --field=url > old-urls.txt

# Oder crawlen Sie die Sitemap
curl -s https://your-site.com/sitemap.xml | grep -oP '<loc>\K[^<]+'

Für Vercel erstellen Sie eine vercel.json im Projektwurzel:

{
  "redirects": [
    { "source": "/2024/03/my-old-post/", "destination": "/blog/my-old-post/", "permanent": true },
    { "source": "/:year(\\d{4})/:month(\\d{2})/:slug/", "destination": "/blog/:slug/", "permanent": true },
    { "source": "/category/:slug/", "destination": "/blog/category/:slug/", "permanent": true },
    { "source": "/feed/", "destination": "/rss.xml", "permanent": true }
  ]
}

Für Netlify verwenden Sie _redirects in Ihrem public/-Ordner:

/2024/03/my-old-post/  /blog/my-old-post/  301
/category/*            /blog/category/:splat  301
/feed/                 /rss.xml  301

Für Cloudflare Pages verwenden Sie _redirects (gleiches Format wie Netlify) oder Bulk Redirects im Dashboard.

Sitemap-Generierung

Die @astrojs/sitemap-Integration verwaltet dies automatisch:

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

export default defineConfig({
  site: 'https://your-new-site.com',
  integrations: [sitemap()],
});

Nach der Bereitstellung reichen Sie Ihre neue Sitemap sofort in Google Search Console ein. Stellen Sie auch eine Entfernungsanfrage für alle URLs, die nicht mehr existieren und nicht umgeleitet werden.

Strukturierte Daten / Schema-Markup

Wenn Yoast Ihr Schema-Markup verwaltet hat, müssen Sie es replizieren. Erstellen Sie eine wiederverwendbare Komponente:

---
// src/components/ArticleSchema.astro
const { title, date, excerpt, image, author = 'Your Name' } = Astro.props;

const schema = {
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": title,
  "datePublished": date,
  "description": excerpt,
  "image": image,
  "author": {
    "@type": "Person",
    "name": author
  }
};
---

<script type="application/ld+json" set:html={JSON.stringify(schema)} />

RSS-Feed

Vergessen Sie nicht Ihre RSS-Abonnenten:

// src/pages/rss.xml.js
import rss from '@astrojs/rss';
import { getCollection } from 'astro:content';

export async function GET(context) {
  const posts = await getCollection('blog');
  return rss({
    title: 'Your Site',
    description: 'Your description',
    site: context.site,
    items: posts.map(post => ({
      title: post.data.title,
      pubDate: post.data.date,
      description: post.data.excerpt,
      link: `/blog/${post.slug}/`,
    })),
  });
}

Hosting-Kostenvergleich

Hier ist, wo der Business-Fall für Migration unmöglich zu ignorieren wird.

Hosting-Szenario Monatliche Kosten Jährliche Kosten Notizen
WP Engine (Verwaltetes WordPress) $30-60 $360-720 Startup-Growth-Pläne
Kinsta (Verwaltetes WordPress) $35-70 $420-840 Starter-Business-Pläne
Flywheel (Verwaltetes WordPress) $15-30 $180-360 Tiny-Personal-Pläne
Self-hosted (DigitalOcean + Wartung) $12-24 $144-288 Plus Ihre Zeit für Updates
Astro auf Vercel (Hobby) $0 $0 100GB Bandwidth/Mo
Astro auf Netlify (Kostenlos) $0 $0 100GB Bandwidth/Mo
Astro auf Cloudflare Pages (Kostenlos) $0 $0 Unbegrenzte Bandwidth
Astro auf Vercel (Pro) $20 $240 1TB Bandwidth, Team-Features

Für die überwiegende Mehrheit von Content-Websites -- Blogs, Portfolios, Dokumentations-Websites, Marketing-Websites -- sind die kostenlosen Tiers auf Vercel, Netlify oder Cloudflare Pages mehr als ausreichend. Sie servieren statische Dateien von einem globalen CDN. Eine Website mit 100.000 Seitenaufrufen pro Monat wird kaum die kostenlosen Tier-Limits kratzen.

Lassen Sie mich die Mathematik ausformulieren. Wenn Sie $50/Monat für verwaltetes WordPress-Hosting zahlen, das sind $600/Jahr. Über drei Jahre sind das $1.800. Addieren Sie Premium-Plugin-Lizenzen (Yoast Premium zu $99/Jahr, Elementor Pro zu $59/Jahr, WP Rocket zu $59/Jahr), und Sie schauen auf $800-$1.000 jährlich für eine Content-Website, die kostenlos gehostet werden könnte.

Die Migration selbst ist eine einmalige Kosten. Wenn Sie dies selbst verwalten, ist es Ihre Zeit. Wenn Sie ein Team wie unseres durch unsere Headless-CMS-Entwicklungsdienste einstellen, amortisiert sich der ROI typischerweise innerhalb von 6-12 Monaten nur durch Hosting-Einsparungen -- ohne die Leistungs- und SEO-Verbesserungen zu zählen. Überprüfen Sie unsere Preisseite für Einzelheiten.

Aber was ist mit dynamischen Features?

Der häufigste Einwand: "Meine WordPress-Website hat Kontaktformulare, Suche, Kommentare und E-Commerce."

  • Kontaktformulare: Formspree (kostenloses Tier: 50 Einsendungen/Monat), Formspark oder eine einfache Serverless-Funktion
  • Suche: Pagefind (kostenlos, läuft vollständig client-seitig, für statische Websites gebaut) -- es ist unglaublich
  • Kommentare: Giscus (kostenlos, GitHub-gestützt) oder Disqus, wenn Sie müssen
  • E-Commerce: Snipcart, Shopify Lite oder Stripe Checkout
  • Newsletter-Anmeldungen: Direkte API-Aufrufe zu ConvertKit, Mailchimp oder Buttondown

Keines davon erfordert einen Server. Keines davon addiert bedeutende Kosten.

FAQ

Wie lange dauert die WordPress-zu-Astro-Migration?

Für einen typischen Blog mit 50-200 Beiträgen erwarten Sie 1-2 Wochen Teilzeitarbeit, wenn Sie es selbst machen. Die Content-Konvertierung ist normalerweise ein Tageswerk mit einem guten Skript. Das Bauen der Astro-Layouts und Komponenten dauert 2-4 Tage je nach Design-Komplexität. Das Testen, die Umleitung-Einrichtung und die Bereitstellung dauern weitere 1-2 Tage. Für größere Websites (500+ Beiträge) oder Websites mit komplexen benutzerdefinierten Post-Typen und Plugin-Abhängigkeiten, budgetieren Sie 3-6 Wochen. Wenn Sie es lieber abgeben möchten, kontaktieren Sie unser Team -- wir schließen normalerweise Migrationen in 2-4 Wochen ab.

Kann Astro einen WordPress-Blog mit 1000+ Beiträgen verwalten?

Absolut. Ich habe Websites mit über 3.000 Beiträgen migriert und die Build-Zeiten sind unter 2 Minuten geblieben. Content Collections sind für große Datensätze optimiert, und da alles zu statischem HTML kompiliert, gibt es keine Runtime-Performance-Strafe unabhängig vom Content-Volumen. Der Build-Schritt ist der einzige Ort, wo Maßstab zählt, und Astros Build-Performance ist ausgezeichnet -- wesentlich schneller als Gatsby oder Next.js für statische Inhalte im Maßstab.

Unterstützt Astro WordPress-Kommentare?

Nicht nativ, und ehrlich gesagt ist das ein Feature, nicht ein Bug. WordPress-Kommentare sind ein Spam-Magnet, der ständige Moderation erfordert. Für Astro-Websites sind die besten Optionen: Giscus (verwendet GitHub Discussions -- kostenlos, kein Tracking, großartig für Developer-Zielgruppen), Disqus (der alte Standby, hat Anzeigen im kostenlosen Tier), Commento (privacy-fokussiert, $5/Monat) oder eine benutzerdefinierte Lösung mit einer Datenbank wie Turso oder Supabase mit einer Astro-API-Route. Wenn Sie bestehende WordPress-Kommentare erhalten möchten, exportieren Sie diese und zeigen Sie sie als statischen Inhalt an, verwenden Sie dann einen dieser Dienste für neue Kommentare.

Ist Astro schneller als WordPress?

Das ist nicht mal vergleichbar. Eine statische Astro-Website wird sogar die am meisten optimierte WordPress-Einrichtung überflügeln, weil es den fundamentalen Bottleneck eliminiert: Server-seitige Verarbeitung. WordPress muss PHP ausführen, eine Datenbank abfragen, die Seite zusammenführen und senden -- für jeden Request (wenn nicht gecacht). Astro baut alles vor. Ihre Besucher erhalten vorgeneriertes HTML direkt von einem CDN-Edge-Knoten in ihrer Nähe. Typische Verbesserungen sind 80-90% schnellere Ladezeiten und 60-80 Punkte Lighthouse-Score-Verbesserungen.

Was passiert mit meinem WordPress-Admin und WYSIWYG-Editor?

Sie verlieren das WordPress-Admin-Panel. Für die meisten Entwickler ist das eine Erleichterung. Sie werden Markdown-Dateien direkt bearbeiten, was schneller und portabler ist. Wenn Sie nicht-technische Content-Editoren haben, die ein visuelles Interface brauchen, ziehen Sie den Headless-Ansatz in Betracht: halten Sie WordPress als Content-Backend am Laufen und verwenden Sie Astro als Frontend. Oder paaren Sie Astro mit einem Headless CMS wie Sanity, Contentful, Storyblok oder Keystatic (das einen GitHub-basierten Editor hat, der wirklich nett ist). Unsere Headless-CMS-Entwicklungsdienste können Ihnen helfen, das richtige Content-Backend für Ihr Team zu wählen.

Werden meine Google-Rankings nach der Migration fallen?

Das sollten sie nicht, und in den meisten Fällen verbessern sie sich -- aber nur wenn Sie Umleitungen korrekt verwalten. Jede alte URL muss entweder noch funktionieren oder 301-Umleitung zu ihrem Äquivalent. Reichen Sie Ihre neue Sitemap in Google Search Console am selben Tag ein, an dem Sie starten. Überwachen Sie den Index Coverage Bericht für die ersten 30 Tage. Ich habe Websites gesehen, die innerhalb von 2-3 Monaten nach der Migration 15-30% organischen Traffic gewinnen, nur weil Core Web Vitals verbessert wurden, da Google Seiten-Experience-Signale als Ranking-Faktor verwendet.

Kann ich WordPress als Headless CMS halten und Astro für das Frontend verwenden?

Ja, und dies ist ein großartiger Middle-Ground-Ansatz. Sie halten die WordPress-Admin und Editor-Erfahrung aber ditch das PHP-Frontend vollständig. Astro holt Inhalt von der WordPress REST API (oder WPGraphQL) zur Build-Zeit und generiert statische Seiten. Sie müssen WordPress immer noch irgendwo hosten, daher sparen Sie bei den Hosting-Kosten nicht, aber Sie bekommen alle Frontend-Performance-Vorteile. Für Teams, die stark in den WordPress-Editing-Workflow investiert sind, ist dies oft die pragmatische Wahl.

Muss ich React oder ein anderes JavaScript-Framework kennen, um Astro zu verwenden?

Nein. Astro-Komponenten verwenden ein .astro-Dateiformat, das wie HTML mit einem Frontmatter-Skript-Block aussieht. Wenn Sie HTML und CSS schreiben können, können Sie eine Astro-Website bauen. JavaScript-Frameworks (React, Vue, Svelte) sind optional -- Sie würden sie nur einbringen, wenn Sie interaktive client-seitige Komponenten brauchen, wie ein Such-Widget, ein Formular mit Validierung oder ein Bildkarussell. Für einen Blog oder eine Marketing-Website können Sie alles bauen, ohne React zu berühren.