Design wechseln

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

Easton editorial illustration: island architecture model

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.

90%
JS-Volumen reduziert
Nach Migration von Next.js zu Astro
78→98
Lighthouse-Anstieg
Direkt 20 Punkte mehr
30 Min.
Konfigurationszeit
Kern-SEO-Setup abgeschlossen

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:

  1. Nur einzelne Sitemap in robots.txt (z. B. sitemap-0.xml), kein sitemap-index.xml
  2. 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:

  1. Property hinzufügen und verifizieren
  2. Menü „Sitemaps”
  3. sitemap-index.xml einreichen

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

  1. Schema.org Validator – URL prüfen, JSON-LD-Standard
  2. 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

  • site in astro.config.mjs
  • BaseHead.astro fü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/sitemap installiert
  • Sitemap-Link im <head>
  • robots.txt erstellt
  • 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?

  1. robots.txt blockiertDisallow: / entfernen
  2. Sitemap nicht eingereicht – Search Console
  3. Neue Site – 1–2 Wochen normal
  4. Schwache Inhalte – Mehrwert liefern

Q2: Sitemap-Fehler nach Einreichung?

  • site in astro.config.mjs prüfen
  • sitemap-URL im Browser testen
  • 404-Seiten bereinigen
  • Baidu: kein sitemap-index

Q3: Baidu-SEO?

  1. Kein sitemap-index.xml in robots.txt
  2. Baidu Webmaster Tools – manuelle Sitemap
  3. Längere Indexierung als Google
  4. 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:

  1. Meta-Tags: title, description, OG – BaseHead zentral
  2. Sitemap und robots.txt: Official Plugin, Search Console nicht vergessen
  3. 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. 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. 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. 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. 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. 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?
Natürliche Astro-SEO-Vorteile:
• 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?
Basis-Trio:
• 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?
Sitemap:
• 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?
Vorteile:
• 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?
Best Practices:
• 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?
Bei Mehrsprachigkeit hreflang-Tags setzen:
• <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

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog