Insights / Technische Beiträge

Mehrsprachige Blogs mit Sveltia CMS betreiben

Ein praktischer Workflow: japanische Quellartikel in Sveltia CMS bearbeiten, Übersetzungs-PRs mit GitHub Actions und GitHub Copilot erstellen und lokalisierte statische Seiten veröffentlichen, die für Suchmaschinen klarer sind als reine UI-Übersetzung.

  • Technologie
  • GitHub Copilot
  • i18n
  • CMS
  • SEO
Mehrsprachige Blogs mit Sveltia CMS betreiben
Inhaltsverzeichnis
  1. Struktur
  2. Wann UI-Übersetzung reicht
  3. SEO-Vorteile statischer Sprachseiten
  4. 1. Jede Sprache ist direkt crawlbar
  5. 2. Metadaten sind lokalisiert
  6. 3. hreflang verbindet Varianten
  7. 4. RSS und Sitemap werden mehrsprachig
  8. Rolle von Sveltia CMS
  9. Regeln für Copilot
  10. Lehren aus den PRs
  11. Quellen
  12. Fazit

Acecore bearbeitet Inhalte hauptsächlich auf Japanisch, veröffentlicht den Blog aber in 9 Sprachen. Entscheidend ist: Text in der Oberfläche übersetzen und lokalisierte Seiten veröffentlichen sind verschiedene Dinge.

Browser-Übersetzung hilft Nutzern beim Lesen. Sie erzeugt aber keine /de/blog/.../ URL, keine lokalisierten Metadaten, kein RSS, keine Sitemap und kein hreflang.

Wenn mehrsprachiger Content auch Suchtraffic bringen soll, muss Übersetzung Teil des Veröffentlichungsprozesses sein.

Struktur

  • Japanische Quelle: src/content/blog/{slug}.md
  • Übersetzungen: src/content/blog/{locale}/{slug}.md
  • URLs: /blog/{slug}/, /en/blog/{slug}/, /de/blog/{slug}/
  • Bearbeitung: Sveltia CMS
  • Übersetzung: GitHub-Copilot-PRs
  • Veröffentlichung: Build und Review

Sveltia CMS ist die Oberfläche für die japanische Quelle. Übersetzungen laufen über Pull Requests, damit Review, Historie und CI erhalten bleiben.

Wann UI-Übersetzung reicht

Sie eignet sich für interne Lektüre, einmalige Recherche, Admin-Seiten oder Inhalte ohne Suchstrategie.

Das ist leichtgewichtig, erzeugt aber keine indexierbaren Sprachseiten.

SEO-Vorteile statischer Sprachseiten

Suchmaschinen, Social Previews und RSS-Reader arbeiten mit URLs und HTML.

Wenn nur die japanische Seite existiert, bleiben title, description, strukturierte Daten, RSS und Sitemap japanisch, auch wenn der Browser dem Nutzer eine Übersetzung zeigt.

Mit statischen Übersetzungen erhält jede Sprache eine URL.

/blog/copilot-translation-pipeline/
/en/blog/copilot-translation-pipeline/
/de/blog/copilot-translation-pipeline/
/fr/blog/copilot-translation-pipeline/

1. Jede Sprache ist direkt crawlbar

Google kann JavaScript verarbeiten, dokumentiert aber auch Einschränkungen und empfiehlt statisches oder serverseitiges Rendering als stabilere Lösung. Andere Crawler und RSS-Reader sind oft weniger leistungsfähig.

2. Metadaten sind lokalisiert

Frontmatter kann pro Sprache übersetzt werden:

title: "Mehrsprachige Blogs mit Sveltia CMS betreiben"
description: "Workflow für Übersetzungs-PRs mit Sveltia CMS und GitHub Copilot."

Das wirkt auf Suchergebnisse, OGP, Related Cards und RSS.

3. hreflang verbindet Varianten

Google empfiehlt hreflang, wenn verschiedene URLs verschiedene Sprachen oder Regionen bedienen. Ohne lokalisierte URL gibt es nichts zu verbinden.

4. RSS und Sitemap werden mehrsprachig

Mit Übersetzungsdateien kann die Website /de/rss.xml und lokalisierte Sitemap-URLs ausgeben.

Rolle von Sveltia CMS

Sveltia CMS übersetzt nicht. Es hält die Bearbeitung der japanischen Quelle schlank:

  • japanische Artikel
  • Autoren
  • Tags
  • japanische Source-JSON
  • Bilder
  • Frontmatter wie date, FAQ und linkCards

Die CMS-Einrichtung steht im Sveltia CMS Einrichtungsleitfaden.

Regeln für Copilot

Der Übersetzungs-PR muss klar trennen, was erhalten bleibt und was lokalisiert wird.

Keep:

- slug
- image path
- author id
- tag ids
- external URLs
- code blocks

Localize:

- title
- description
- FAQ
- body text
- internal blog URLs when locale-specific URLs exist

Lehren aus den PRs

  • Alte Artikel nannten noch Pages CMS, obwohl die Implementierung Sveltia CMS nutzt.
  • Bleibt date alt, erscheint ein neu geschriebener Artikel nicht oben im Blog.
  • Slugs müssen über Sprachen hinweg stabil bleiben.
  • Interne Links sollten zur Locale des Lesers führen.
  • KI-Übersetzung spart Zeit, braucht aber Review.

Quellen

Fazit

UI-Übersetzung hilft beim Lesen. Lokalisierte statische Seiten machen jede Sprache zu echtem Website-Content.

Sveltia CMS bearbeitet Japanisch, GitHub Copilot erstellt Übersetzungs-PRs, und Astro build prüft das Ergebnis vor der Veröffentlichung.

Translation Workflow

Ablauf von Sveltia CMS bis zum Übersetzungs-PR

Japanisch bleibt die source of truth, während Übersetzungen in den PR-Prozess auf GitHub ausgelagert werden.

  1. Nur Japanisch bearbeiten

    `src/content/blog/{slug}.md` mit Sveltia CMS oder Markdown aktualisieren.

  2. CMS-Commit erkennen

    Den Prefix `cms:` und den geänderten Path zum Vertrag auf der GitHub-Actions-Seite machen.

  3. Übersetzungs-PR erstellen

    Copilot Source Path, Locale und Übersetzungsregeln übergeben, damit die übersetzten Dateien erzeugt werden.

  4. Nach dem Build übernehmen

    Nur PRs nach main übernehmen, die Astro build, Pagefind und die Linkprüfung bestehen.

Unterschied zwischen UI-Übersetzung und der Erzeugung sprachspezifischer Seiten

UI-Übersetzung

  • Browser oder Übersetzungs-Widget des Nutzers übersetzen bei der Anzeige
  • URL, title, description und OGP bleiben leicht in der Ausgangssprache
  • Sprachspezifische Seiten lassen sich nur schwer in Sitemap, RSS und hreflang ausgeben
  • Text in geteilten URLs und Suchergebnissen orientiert sich an der Ausgangssprache

Statische mehrsprachige Seiten

  • Sprachspezifische URLs wie `/{locale}/blog/{slug}/` können veröffentlicht werden
  • title, description, Inhalt, FAQ und strukturierte Daten können pro Sprache vorliegen
  • hreflang teilt Suchmaschinen die Beziehung zwischen Sprachversionen mit
  • RSS, Sitemap, interne Links und Search Console können pro Sprache geprüft werden

Entscheidungen bei der Einführung

  • Den japanischen Artikel als Übersetzungsquelle behandeln
  • Den Slug der Übersetzungsdateien mit dem japanischen Artikel abgleichen
  • Auslösebedingungen des Workflows wie `cms:`-Commits festlegen
  • URLs, Bild-Paths, Codeblöcke und Tag-IDs bei der Übersetzung nicht verändern
  • Die Ausgabe von hreflang, canonical, RSS und Sitemap im Build prüfen

FAQ

Reicht UI-Übersetzung?

Zum Lesen kann sie reichen. Für SEO, RSS, Sitemap und interne Links pro Sprache braucht man echte lokalisierte Seiten.

Ist KI-Übersetzung schlecht für SEO?

Nicht die KI ist das Problem, sondern viele wertlose Seiten ohne Prüfung. Terminologie, Fakten, Links und Natürlichkeit müssen geprüft werden.

Sind übersetzte Seiten Duplicate Content?

Google betrachtet lokalisierte Seiten nur dann als Duplikate, wenn der Hauptinhalt nicht übersetzt ist. Varianten sollten mit hreflang verbunden werden.