Astro-Website SEO: Vollständiger Leitfaden von Meta-Tags bis bessere Suchrankings

Sie haben eine Woche mit Astro an einem schönen Blog gearbeitet und voller Vorfreude veröffentlicht. Zwei Monate später: Google-Suche nach Ihrem Titel – Seite drei, nichts zu sehen. Google Analytics zeigt täglich einstellige Besucher. Haben Sie etwas übersehen?
Das kenne ich. Nach der Migration von Next.js zu Astro hörte ich: Astro ist schnell, bis zu 40 % schneller als klassische React-Frameworks, Lighthouse 100 möglich. Die Site war schnell – aber Rankings blieben aus. Performance allein reicht nicht; SEO-Konfiguration ist entscheidend.
Die gute Nachricht: Astro-SEO ist überschaubar. Dieser Artikel führt Sie durch die vollständige Konfiguration: Meta-Tags, Sitemap, robots.txt, Strukturdaten. Jeder Abschnitt hat kopierbare Codebeispiele. In 30 Minuten ist das Kernsetup fertig; in ein bis zwei Wochen sehen Sie in der Google Search Console die ersten Indexierungen.
Warum eignet sich Astro besonders für SEO?
Bevor wir ins Detail gehen: Warum Astro für Content-Sites?
Natürliche Astro-SEO-Vorteile
Astros größtes Merkmal: standardmäßig null JavaScript. Kein Tippfehler – null. Seiten werden als statisches HTML ausgeliefert; Crawler sehen reinen HTML-Inhalt, ohne auf JS-Ausführung zu warten.
Die Islands Architecture ist clever: Der Seitenkörper ist statisches HTML; nur interaktive Teile (z. B. ein Like-Button) laden JS. First Paint ist sehr schnell – Google-Crawler mögen das.
Mit Next.js und SSR blieben meine JS-Bundles groß. Nach Astro: JS-Volumen −90 %, Lighthouse von 78 auf 98.
Wie schneidet Astro im Vergleich ab?
Ehrlich gesagt: Jedes Framework hat seinen Einsatz.
Astro: Blogs, Docs, Marketing-Sites – sehr schnell; 2025 ~18 % Entwickler-Nutzung.
Next.js: Komplexe Web-Apps, Admin, E-Commerce – viel Client-State.
Gatsby: Ebenfalls statisch, ähnlich Astro – aber größere Bundles und langsamere Builds.
Ein Bekannter migrierte seinen Tech-Blog von Next.js zu Astro: Ladezeit ~50 % schneller. Search Console: Verweildauer von 1:20 auf 2:10 Minuten – spürbar.
Basis-Pflicht – Meta-Tags vollständig konfigurieren
Meta-Tags sind Schritt eins – und werden oft vergessen.
Basis-Trio: title, description, keywords
Am Anfang wusste ich nicht, wo ich bei <meta> anfangen soll. Tatsächlich reichen drei Kernfelder:
title: Der große Titel in Google-SERPs. 50–60 Zeichen ideal, sonst Abschnitt. Dieser Artikel: „Astro-Website SEO: Vollständiger Leitfaden von Meta-Tags bis bessere Suchrankings”.
description: Grauer Text unter dem Titel. 120–160 Zeichen, Keywords enthalten. Google nutzt CTR als Signal – gute Descriptions steigern Klicks um 20–30 %.
keywords: Google ignoriert es weitgehend – schaden tut es nicht, 3–5 Keywords reichen.
In Astro direkt im <head> der .astro-Datei:
---
const title = "Astro-Website SEO: Vollständiger Leitfaden";
const description = "Schritt-für-Schritt-Anleitung zur vollständigen Astro-SEO-Konfiguration inkl. Meta-Tags, Sitemap, robots.txt und Strukturdaten.";
---
<head>
<title>{title}</title>
<meta name="description" content={description} />
<meta name="keywords" content="Astro SEO, Astro Optimierung, Meta-Tags, Sitemap" />
</head>
Open Graph und Twitter Card
Für Social Sharing: Titel, Beschreibung und Bild beim Teilen auf WeChat, Twitter usw. – das leisten Open-Graph-Tags.
Kern-Tags:
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content="https://ihre-website.com/og-image.jpg" />
<meta property="og:url" content="https://ihre-website.com/aktueller-pfad" />
<meta property="og:type" content="article" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content="https://ihre-website.com/twitter-image.jpg" />
og:image-Falle: 1200×630 px empfohlen. Mit 500×300 war mein WeChat-Preview unscharf – nach Umstellung auf 1200×630 sofort besser.
Zentral über Komponente verwalten
Meta-Tags pro Seite manuell ist mühsam. Besser: BaseHead.astro für alle Meta-Tags.
src/components/BaseHead.astro erstellen:
---
interface Props {
title: string;
description: string;
image?: string;
}
const { title, description, image = "/default-og-image.jpg" } = Astro.props;
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
---
<head>
<!-- Basis-Meta -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<!-- SEO -->
<title>{title}</title>
<meta name="description" content={description} />
<link rel="canonical" href={canonicalURL} />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:url" content={canonicalURL} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={new URL(image, Astro.site)} />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content={new URL(image, Astro.site)} />
</head>
In der Seite einbinden:
---
import BaseHead from '../components/BaseHead.astro';
---
<html>
<BaseHead
title="Mein Artikeltitel"
description="Artikelbeschreibung"
image="/my-article-cover.jpg"
/>
<body>
<!-- Seiteninhalt -->
</body>
</html>
Mit Content Collections können title und description aus Frontmatter kommen – Meta-Tags pro neuem Artikel automatisch.
Fortgeschritten – Sitemap und Robots.txt
Nach Meta-Tags: Google muss Ihre Seiten finden – Sitemap und robots.txt.
Sitemap: Alle Seiten der Suchmaschine mitteilen
Eine XML-Datei mit allen URLs. Crawler wissen, was zu indexieren ist. Mit Sitemap kann die Indexierungszeit ~50 % kürzer sein.
Astro bietet @astrojs/sitemap:
npx astro add sitemap
Astro passt astro.config.mjs an:
import { defineConfig } from 'astro/config';
import sitemap from '@astrojs/sitemap';
export default defineConfig({
site: 'https://ihre-website.com', // Ihre Domain eintragen
integrations: [sitemap()],
});
Wichtig: site muss gesetzt sein, sonst keine Sitemap. Beim ersten Mal vergessen – Build-Fehler.
Nach npm run build liegen sitemap-0.xml und sitemap-index.xml in dist/. Bei >50.000 Seiten automatische Aufteilung.
Sitemap-Link im <head> nicht vergessen:
<link rel="sitemap" href="/sitemap-index.xml" />
Robots.txt: Crawl-Regeln
robots.txt sagt, was indexiert werden darf – Admin, Testseiten usw. sollen oft ausgeschlossen bleiben.
Methode 1: Statische Datei (Empfehlung für Einsteiger)
public/robots.txt:
User-agent: *
Allow: /
Sitemap: https://ihre-website.com/sitemap-index.xml
Alle Crawler dürfen alles; Sitemap-Pfad angegeben.
Pfade sperren mit Disallow:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /test/
Sitemap: https://ihre-website.com/sitemap-index.xml
Methode 2: Dynamisch
site aus Config wiederverwenden – src/pages/robots.txt.ts:
import type { APIRoute } from 'astro';
const robotsTxt = `
User-agent: *
Allow: /
Sitemap: ${import.meta.env.SITE}/sitemap-index.xml
`.trim();
export const GET: APIRoute = () => {
return new Response(robotsTxt, {
headers: { 'Content-Type': 'text/plain' },
});
};
Methode 3: Plugin
npm install astro-robots-txt
In astro.config.mjs:
import robotsTxt from 'astro-robots-txt';
export default defineConfig({
site: 'https://ihre-website.com',
integrations: [
sitemap(),
robotsTxt(),
],
});
Besonderheiten bei Baidu-SEO
Baidu unterstützt kein sitemap-index.xml. In robots.txt verweist es auf „Robots blockiert”.
Optionen:
- Nur einzelne Sitemap in robots.txt (z. B. sitemap-0.xml), kein sitemap-index.xml
- Vereinfachte Sitemap manuell über Baidu Webmaster Tools
Mein Ansatz: Google im Fokus, Baidu manuell – für Tech-Blogs dominiert Google-Traffic.
In Google Search Console einreichen
Nach Sitemap und robots.txt: Google Search Console:
- Property hinzufügen und verifizieren
- Menü „Sitemaps”
sitemap-index.xmleinreichen
In 1–3 Tagen startet das Crawling. Wenn „Entdeckt” zu „Indexiert” wird – ein gutes Gefühl.
Erweitert – Strukturdaten (JSON-LD)
Strukturdaten klingen komplex – die Konfiguration ist überschaubar, der Effekt spürbar.
Was sind Strukturdaten? Warum konfigurieren?
Manche SERPs zeigen Bewertungen, Datum, Autor, Rezeptzeiten – Rich Snippets, basierend auf Strukturdaten.
Google versteht so: „Das ist ein Blogartikel”, Autor, Datum usw. Empfohlenes Format: JSON-LD. Mein Blog: CTR ~+15 % nach Konfiguration.
JSON-LD in Astro
Mit set:html – z. B. src/components/StructuredData.astro:
---
interface Props {
type: 'WebSite' | 'BlogPosting' | 'Article';
title: string;
description: string;
author?: string;
datePublished?: string;
image?: string;
}
const {
type = 'Article',
title,
description,
author = 'Ihr Name',
datePublished,
image
} = Astro.props;
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
const structuredData = {
"@context": "https://schema.org",
"@type": type,
"headline": title,
"description": description,
"author": {
"@type": "Person",
"name": author
},
"datePublished": datePublished,
"image": image ? new URL(image, Astro.site).href : undefined,
"url": canonicalURL.href,
"mainEntityOfPage": {
"@type": "WebPage",
"@id": canonicalURL.href
}
};
---
<script type="application/ld+json" set:html={JSON.stringify(structuredData)} />
In der Artikelseite:
---
import StructuredData from '../components/StructuredData.astro';
const frontmatter = {
title: "Astro-Website SEO: Vollständiger Leitfaden",
description: "Schritt-für-Schritt Astro-SEO",
author: "Max Mustermann",
pubDate: "2025-12-02",
coverImage: "/cover.jpg"
};
---
<html>
<head>
<StructuredData
type="BlogPosting"
title={frontmatter.title}
description={frontmatter.description}
author={frontmatter.author}
datePublished={frontmatter.pubDate}
image={frontmatter.coverImage}
/>
</head>
<body>
<!-- Artikelinhalt -->
</body>
</html>
Hinweis: set:html verwenden – sonst escaped Astro JSON und es wirkt nicht.
Häufige Schema-Typen
WebSite – Startseite:
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Ihr Website-Name",
"url": "https://ihre-website.com",
"description": "Website-Beschreibung"
}
BlogPosting – Blogartikel:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Artikeltitel",
"author": {
"@type": "Person",
"name": "Autorenname"
},
"datePublished": "2025-12-02",
"image": "Cover-URL"
}
Article – Nachrichtenartikel, ähnlich BlogPosting, strengere Google-Anforderungen.
TypeScript-Typen: schema-dts und astro-seo-schema:
npm install schema-dts astro-seo-schema
Validierung und Tests
- Schema.org Validator – URL prüfen, JSON-LD-Standard
- Google Rich Results Test – ob Google die Daten erkennt
Beide nutzen – manchmal unterschiedliche Warnungen. Beide grün = erfolgreich.
Typische Fehler:
- Pflichtfelder fehlen (
datePublished) - Bild-URL relativ statt absolut
- JSON-Syntaxfehler
Rich Snippets in Google zum ersten Mal – lohnenswert trotz Aufwand.
Performance ist auch SEO
Google: Ladegeschwindigkeit beeinflusst Rankings. ~55 % verlassen Sites, die länger als 3 Sekunden laden.
Core Web Vitals: Googles drei Kennzahlen
LCP (Largest Contentful Paint): Hauptinhalt geladen – Ziel <2,5 s, >4 s schlecht.
FID (First Input Delay): Reaktion auf erste Interaktion – Ziel <100 ms.
CLS (Cumulative Layout Shift): Layout-Sprünge – Ziel <0,1.
Astro startet mit guter Performance – leicht erreichbar.
Astro-Performance-Tipps
Bildoptimierung
Bilder bremsen oft. @astrojs/image (in Astro Core integriert):
# Ältere Version – heute in Astro Core
# npm install @astrojs/image
<Image>-Komponente:
---
import { Image } from 'astro:assets';
import myImage from '../assets/my-image.jpg';
---
<Image
src={myImage}
alt="Bildbeschreibung"
width={800}
height={600}
loading="lazy"
/>
Automatisch: responsive Varianten, WebP, Lazy Loading. Ein Projekt: LCP 4,2 s → 1,8 s mit zehn Hero-Bildern.
Schriftoptimierung
font-display: swap:
@font-face {
font-family: 'MyFont';
src: url('/fonts/my-font.woff2') format('woff2');
font-display: swap; /* wichtig */
}
Text sofort mit Systemschrift, dann Wechsel – kein leerer Screen.
Google Fonts mit &display=swap in der URL.
Code-Splitting und Lazy Loading
Islands-Architektur = Code-Splitting. Bei React/Vue-Komponenten:
---
import MyHeavyComponent from '../components/MyHeavyComponent.jsx';
---
<!-- JS erst bei Sichtbarkeit -->
<MyHeavyComponent client:visible />
client:visible lädt JS erst im Viewport – schnelleres First Paint.
Performance mit Lighthouse messen
Chrome F12 → Lighthouse → „Analyze page load”. Ziel: 90+. Unter 90 Ursachen suchen.
PageSpeed Insights – auch Field Data.
Mein Astro-Blog: Lighthouse 78 → 98 – spürbar sofort.
Praxis-Checkliste und häufige Probleme
SEO-Checkliste (15 Kernpunkte)
Basis
-
siteinastro.config.mjs -
BaseHead.astrofür Meta-Tags - Eindeutiger title pro Seite (50–60 Zeichen)
- description pro Seite (120–160 Zeichen)
- Open Graph (title, description, image, url)
- Twitter Card
Sitemap und Robots
-
@astrojs/sitemapinstalliert - Sitemap-Link im
<head> -
robots.txterstellt - Sitemap in Search Console eingereicht
Strukturdaten
- WebSite JSON-LD auf Startseite
- BlogPosting/Article auf Artikelseiten
- Schema.org Validator bestanden
- Google Rich Results Test bestanden
Performance
- Lighthouse ≥90
- Core Web Vitals (LCP <2,5 s, FID <100 ms, CLS <0,1)
Alles abgehakt – SEO-Kernsetup steht.
Häufige Probleme
Q1: Google indexiert nicht?
- robots.txt blockiert –
Disallow: /entfernen - Sitemap nicht eingereicht – Search Console
- Neue Site – 1–2 Wochen normal
- Schwache Inhalte – Mehrwert liefern
Q2: Sitemap-Fehler nach Einreichung?
siteinastro.config.mjsprüfen- sitemap-URL im Browser testen
- 404-Seiten bereinigen
- Baidu: kein sitemap-index
Q3: Baidu-SEO?
- Kein
sitemap-index.xmlin robots.txt - Baidu Webmaster Tools – manuelle Sitemap
- Längere Indexierung als Google
- Chinesische Originalinhalte wichtiger
Q4: Mehrsprachige SEO?
hreflang-Tags:
<link rel="alternate" hreflang="zh-CN" href="https://ihre-website.com/zh/article" />
<link rel="alternate" hreflang="en-US" href="https://ihre-website.com/en/article" />
<link rel="alternate" hreflang="x-default" href="https://ihre-website.com/en/article" />
x-default = Standardversion für Google.
Kontinuierliche Optimierung
SEO ist kein Einmal-Setup:
Inhalte aktualisieren – ~30 % besser laut Studien, 1–2 Artikel/Woche.
Search Console – Traffic-Keywords, niedrige CTR, Crawl-Fehler.
Suchkeywords – neue Inhalte, bestehende Artikel anpassen.
Niedrige CTR – title/description überarbeiten, Zahlen und Fragen im Titel.
Ich investiere ~1 Stunde/Woche in Search Console – Rankings verbessern sich merklich.
Fazit
Astro passt natürlich zu SEO; die Konfiguration ist überschaubar.
Drei Kerne:
- Meta-Tags: title, description, OG –
BaseHeadzentral - Sitemap und robots.txt: Official Plugin, Search Console nicht vergessen
- Strukturdaten: JSON-LD für Rich Results
Performance: Lighthouse 90+, Lazy Loading, font-display: swap.
30 Minuten Kernsetup; in ein bis zwei Wochen Indexierung in Search Console. Jetzt Astro-Projekt öffnen, Checkliste abarbeiten, Sitemap einreichen – eine Woche später überrascht Sie das Ergebnis.
Viel Erfolg!
Vollständiger Astro-Website-SEO-Konfigurationsablauf
In 30 Minuten vom Meta-Tag bis zu besseren Suchrankings – inklusive Sitemap, robots.txt und JSON-LD-Strukturdaten
⏱️ Estimated time: 30 min
- 1
Step 1: Astro-SEO-Vorteile verstehen und Basis-Meta-Tags konfigurieren
Natürliche Astro-SEO-Vorteile:
• Standardmäßig null JavaScript, statisches HTML
• Suchmaschinen-Crawler sehen reinen HTML-Inhalt
• Islands-Architektur: Seitenkörper ist statisches HTML, nur interaktive Teile laden JS
• JavaScript-Volumen um 90 % reduziert, Lighthouse von 78 auf 98 Punkte
Basis-Trio:
title (Titel)
• Jede Seite braucht einen eindeutigen, beschreibenden Titel
• Länge 50–60 Zeichen
• Keywords enthalten
description (Beschreibung)
• Jede Seite braucht eine Description
• Länge 150–160 Zeichen
• Klickanreiz schaffen
keywords (Schlüsselwörter)
• Google nutzt es nicht mehr, andere Suchmaschinen evtl. schon
• Beibehalten empfohlen, 3–5 Keywords reichen
In Astro konfigurieren:
• Head-Komponente im Layout hinzufügen
• title und description aus Frontmatter lesen
• Meta-Tags dynamisch generieren - 2
Step 2: Open Graph und Twitter Card konfigurieren
Open-Graph-Tags:
• og:title – Titel beim Teilen, meist identisch mit title
• og:description – Beschreibung beim Teilen, meist identisch mit description
• og:image – Bild beim Teilen, empfohlen 1200×630 Pixel
• og:url – vollständige Seiten-URL
• og:type – Seitentyp, blog = article, Startseite = website
Twitter-Card-Tags:
• twitter:card – Kartentyp, summary_large_image oder summary
• twitter:title – Titel beim Twitter-Teilen
• twitter:description – Beschreibung beim Twitter-Teilen
• twitter:image – Bild beim Twitter-Teilen
In Astro konfigurieren:
• SEO-Komponente erstellen, title, description, image als Parameter
• Alle Open-Graph- und Twitter-Card-Tags generieren
• Im Layout verwenden - 3
Step 3: Sitemap und robots.txt konfigurieren
Sitemap-Integration installieren:
• Ausführen: npm install @astrojs/sitemap
• Sitemap-Integration in astro.config.mjs hinzufügen
• Site-URL konfigurieren
Automatische sitemap.xml:
• Astro scannt alle Seiten
• Generiert sitemap.xml
• Enthält URL, letzte Änderung, Priorität usw.
robots.txt erstellen:
• robots.txt im public-Verzeichnis anlegen
• Crawler-Regeln (alle erlauben, Sitemap-Pfad angeben)
Sitemap einreichen:
• Google Search Console öffnen
• sitemap.xml-URL einreichen
• Indexierung regelmäßig prüfen - 4
Step 4: JSON-LD-Strukturdaten hinzufügen
Warum Strukturdaten:
• Reichere Suchergebnisse
• Mehr Infos in SERPs (Bewertung, Autor, Veröffentlichungsdatum)
• Höhere Klickrate
Häufige Strukturdatentypen:
Article (Artikelseite)
• Titel, Autor, Veröffentlichungsdatum, Kategorie
BreadcrumbList (Brotkrumen-Navigation)
• Hilft Nutzern, die Seitenstruktur zu verstehen
Organization (Organisationsinfos)
• Logo, Kontaktdaten usw.
In Astro konfigurieren:
• Strukturdaten-Komponente erstellen
• Je Seitentyp passendes JSON-LD generieren
• Im Layout verwenden
Strukturdaten validieren:
• Google Rich Results Test für JSON-LD
• Fehler und Warnungen prüfen - 5
Step 5: SEO-Best Practices und kontinuierliche Optimierung
SEO-Best Practices: Jede Seite braucht eindeutigen title und description; semantisches HTML (<article>, <section>, <header>); Bilder optimieren (alt, WebP, Lazy Loading); sinnvolle URLs mit Keywords; interne Links zu verwandten Artikeln. Kontinuierliche Optimierung: Inhalte regelmäßig aktualisieren (Studien zeigen ~30 % bessere Rankings bei regelmäßig aktualisierten Sites, mindestens 1–2 Artikel/Woche); Google Search Console überwachen (Traffic-Keywords, niedrige CTR optimieren, Crawl-Fehler beheben); Suchkeywords analysieren und Inhalte daran ausrichten. Performance nicht vernachlässigen: Lighthouse 90+ als Basis; Lazy Loading für Bilder; font-display: swap – Details verbessern Rankings.
FAQ
Warum eignet sich Astro besonders für SEO? Welche natürlichen Vorteile hat es?
• Standardmäßig null JavaScript, statisches HTML
• Crawler sehen reinen HTML-Inhalt, kein Warten auf JS-Ausführung
Islands-Architektur:
• Seitenkörper ist statisches HTML, nur interaktive Teile (z. B. Like-Button) laden JS
• Sehr schnelle First Paint – Google-Crawler mögen das
Meine Erfahrung mit Next.js: Auch mit SSR blieben JS-Bundles groß. Nach Migration zu Astro: JS-Volumen −90 %, Lighthouse von 78 auf 98.
Framework-Vergleich:
• Astro: Blogs, Docs, Marketing-Sites – schnell; 2025 ~18 % Entwickler-Nutzung
• Next.js: komplexe Web-Apps, Admin, E-Commerce
• Gatsby: ähnlich statisch, aber größere Bundles und langsamere Builds als Astro
Wie konfiguriere ich Meta-Tags für eine Astro-Website?
• title (eindeutig, 50–60 Zeichen, Keywords)
• description (150–160 Zeichen, klickstark)
• keywords (Google ignoriert, andere evtl. nicht – beibehalten)
In Astro: Head-Komponente im Layout, title/description aus Frontmatter, dynamische Meta-Tags.
Open Graph:
• og:title, og:description, og:image (1200×630), og:url, og:type (article/website)
Twitter Card:
• twitter:card, twitter:title, twitter:description, twitter:image
SEO-Komponente mit Parametern, alle Tags generieren, im Layout einbinden.
Wie konfiguriere ich Sitemap und robots.txt?
• npm install @astrojs/sitemap
• Integration in astro.config.mjs, site-URL setzen
• Astro generiert sitemap.xml mit URLs, Änderungsdatum, Priorität
robots.txt:
• Datei in public/
• Crawler-Regeln und Sitemap-Pfad
Einreichen:
• Google Search Console, sitemap.xml-URL einreichen
• Indexierung prüfen
Baidu-Hinweis:
• Kein sitemap-index.xml in robots.txt – einzelne Sitemap
• Manuell über Baidu Webmaster Tools
• Strengere Prüfung, längere Indexierung als Google
• Fokus auf chinesische Inhaltsqualität und Originalität
Wie füge ich JSON-LD-Strukturdaten hinzu?
• Reichere SERPs, mehr Metadaten, höhere CTR
Typen:
• Article – Titel, Autor, Datum, Kategorie
• BreadcrumbList – Seitenstruktur
• Organization – Logo, Kontakt
In Astro:
• Strukturdaten-Komponente, JSON-LD je Seitentyp
• Im Layout einbinden
Validierung:
• Google Rich Results Test
• Fehler und Warnungen prüfen
Häufige Fehler:
• Falsches JSON-LD-Format
• Fehlende Pflichtfelder
Welche SEO-Best Practices gibt es? Wie optimiere ich kontinuierlich?
• Eindeutiger title und description pro Seite
• Semantisches HTML
• Bilder: alt, WebP, Lazy Loading
• Sinnvolle URLs mit Keywords
• Interne Links zu verwandten Artikeln
Kontinuierlich:
• Inhalte regelmäßig aktualisieren (~30 % besser laut Studien, 1–2 Artikel/Woche)
• Search Console: Traffic-Keywords, niedrige CTR, Crawl-Fehler
• Suchkeywords analysieren, Inhalte anpassen
Performance: Lighthouse 90+, Lazy Loading, font-display: swap.
Wie konfiguriere ich SEO für mehrsprachige Websites?
• <link rel="alternate" hreflang="zh-CN" href="https://ihre-website.com/zh/article" />
• <link rel="alternate" hreflang="en-US" href="https://ihre-website.com/en/article" />
• <link rel="alternate" hreflang="x-default" href="https://ihre-website.com/en/article" />
x-default = Standardversion. Google erkennt Sprachbeziehungen.
Pro Sprache eigene Sitemap, in Search Console getrennt einreichen.
9 Min. Lesezeit · Veröffentlicht am: 2. Dez. 2025 · Aktualisiert am: 14. Juli 2026
Astro-Leitfaden
Wenn du über die Suche hier gelandet bist, kommst du am schnellsten weiter, indem du zum vorherigen oder nächsten Beitrag dieser Serie springst.
Vorheriger
Astro i18n Konfigurationsleitfaden: Mehrsprachige Website in 30 Minuten (inkl. Sprachumschalter)
Astro i18n in 30 Minuten meistern: Von der Basis-Konfiguration bis zum Sprachumschalter. Mit vollständigen Codebeispielen, Routing-Strategien, Content-Collections-Ansatz und SEO-Tipps.
Teil 6 von 18
Nächster
Astro Performance-Optimierung: 8 Praxis-Tipps von 60 Punkten zum Lighthouse-Vollwert
Systematische Astro-Performance-Optimierung: Islands-Architektur, Hydration-Strategien, Bild- und Font-Optimierung, Code-Splitting, Preloading, Core Web Vitals und 8 Kerntechniken für Lighthouse-Vollwert
Teil 8 von 18
Ähnliche Beiträge
Was ist Astro? In 3 Minuten Zero JS, Islands Architecture und Content-First verstehen

Was ist Astro? In 3 Minuten Zero JS, Islands Architecture und Content-First verstehen
Astro-Blog von Grund auf: In 1 Stunde von der Startseite bis zum Deployment


Kommentare
Melde dich mit GitHub an, um einen Kommentar zu hinterlassen