Zum Inhalt springen
SEO

Mehrsprachige Website: hreflang richtig umsetzen

Sprachverzeichnisse, hreflang-Paare mit x-default, übersetzte Slugs und Sitemap: So setzen Unternehmen eine mehrsprachige Website sauber und dauerhaft auf.

12 Min. Lesezeit hreflangMehrsprachigkeitSEOInternationalisierung

Eine zweite Sprache auf der Website ist selten ein Übersetzungsprojekt. Sie ist ein Strukturprojekt. Wer Texte übersetzen lässt, aber URL-Struktur, hreflang-Auszeichnung und Sitemap unverändert lässt, erzeugt in der Regel zwei Effekte gleichzeitig: Suchmaschinen liefern Besuchern die falsche Sprachversion aus, und die Versionen konkurrieren untereinander um dieselben Suchanfragen. Dieser Beitrag zeigt, wie eine mehrsprachige Website technisch tragfähig aufgebaut wird — von der Verzeichnisstruktur über reziproke hreflang-Paare mit x-default bis zu übersetzten Slugs und der passenden Sitemap.

hreflang: Sprachverzeichnisse, Paare und Sitemapx-default gesetztURL-Struktur mit Sprachverzeichnissenbeispiel.de//de//de/leistungen//en//en/services//fr//fr/services/Übersetzte Slugs statt Auto-WeiterleitungJede Sprachversion behält eine eigene, stabile URLReziproke hreflang-Paaredeenfrx-defaultSeite /de/Seite /en/Seite /fr/Jede Sprachversion verweist auf alle anderen und auf sich selbst.24EU-Amtssprachen90 %Muttersprache bevorzugt1Sitemap für alleSitemap mit hreflang-AnnotationenAlle Sprachen in einer Dateixhtml:link je SprachversionStatuscode 200 je URLKeine Sprachweiterleitunglang-Attribut im HTMLWCAG 2.2 Kriterium 3.1.1

Mehrsprachigkeit ist ein Strukturthema

Der wirtschaftliche Hebel ist gut dokumentiert.

In einer Erhebung der Europäischen Kommission zu Sprachpräferenzen im Internet gaben rund 90 Prozent (Europäische Kommission, Eurobarometer) der befragten Internetnutzer an, eine Website in ihrer eigenen Sprache aufzurufen, sobald sie die Wahl haben. 42 Prozent (Europäische Kommission, Eurobarometer) erklärten, Produkte oder Dienstleistungen nicht in einer anderen Sprache zu kaufen. Für einen Betrieb, der über die Landesgrenze hinaus liefert, Fachkräfte aus dem Ausland anspricht oder Zulieferer in mehreren Märkten hat, ist die Sprachfrage damit keine Frage des Anspruchs, sondern der Erreichbarkeit. Allein die Europäische Union arbeitet mit 24 Amtssprachen (Europäische Union); ein Markt wie die Schweiz verlangt in der Regel schon für sich genommen mehr als eine Sprachversion. Der Punkt ist weniger, möglichst viele Sprachen anzubieten, als die angebotenen Sprachen technisch so auszuliefern, dass sie auffindbar bleiben.

Der eigentliche Aufwand entsteht dabei nicht beim Text, sondern bei der Buchführung. Jede Seite existiert nun mehrfach, jede Version braucht eine eigene, dauerhaft stabile URL, und jede dieser URLs muss allen anderen bekannt sein. Bei fünf Seiten ist das eine überschaubare Fleißarbeit. Bei fünfzig Seiten in drei Sprachen sind es 150 URLs mit rund 600 wechselseitigen Verweisen, die über Jahre konsistent bleiben müssen — und die bei jeder neuen Seite, jeder Umbenennung und jeder Löschung mitgezogen werden wollen. Genau an dieser Stelle brechen viele mehrsprachige Projekte ein: nicht am Übersetzer, sondern an der Pflege. Wie eine vollständige Website heute aus einem Briefing entsteht und welche Strukturarbeit sich dabei automatisieren lässt, beschreibt der Beitrag Website mit KI erstellen.

Die URL-Struktur zuerst festlegen

Vor der ersten Übersetzung steht die Entscheidung, wo die Sprachversionen liegen. Drei Muster sind etabliert: Sprachverzeichnisse unterhalb einer Domain, eine Subdomain je Sprache und eigene länderspezifische Domains.

Alle drei funktionieren, sie unterscheiden sich aber deutlich in Aufwand, Signalwirkung und Betriebskosten. Für mittelständische Unternehmen ist das Sprachverzeichnis in der Regel die tragfähigste Wahl: Es bündelt alle Signale auf einer Domain, verursacht keine zusätzlichen Zertifikate oder DNS-Einträge und lässt sich später um weitere Sprachen erweitern, ohne dass die bestehende Seite umzieht. Eigene Länderdomains lohnen sich typischerweise erst dann, wenn je Markt eine eigene Rechtsform, eine eigene Preisliste und ein eigenes Team dahinterstehen.

Tabelle waagerecht wischen

MusterBeispielEinordnung
Sprachverzeichnisbeispiel.de/de/ und beispiel.de/en/Ein Hostname, ein Zertifikat, alle Signale gebündelt; erfahrungsgemäß die pragmatische Wahl für den Mittelstand
Subdomain je Sprachede.beispiel.de und en.beispiel.deSauber trennbar und getrennt betreibbar, dafür mehr Verwaltung, eigene Zertifikate und getrennte Auswertung
Eigene Länderdomainbeispiel.de und beispiel.frStarkes Länder-Signal, dafür je Markt eigene Domain, Zertifikate, Rechtstexte und Redaktion
Sprache als Parameterbeispiel.de/?lang=enWird von Crawlern schlecht als eigenständige Seite erkannt; als dauerhafte Sprachstruktur nicht empfehlenswert

Wichtig ist die Konsequenz in der Umsetzung. Wenn Sprachverzeichnisse gewählt werden, liegt auch die Ausgangssprache in einem Verzeichnis. Eine Struktur, in der Deutsch direkt unter beispiel.de/ und Englisch unter beispiel.de/en/ liegt, funktioniert zwar, führt aber regelmäßig zu doppelten Einstiegspunkten: Die Startseite ist dann sowohl unter dem Root als auch unter /de/ erreichbar, beide Varianten sammeln Verweise ein, und die hreflang-Zuordnung muss sich für eine der beiden entscheiden. Sauberer ist ein neutraler Root, der auf die passende Sprachversion führt, während sämtliche Inhalte konsistent unter /de/, /en/ oder /fr/ liegen. Wie dieser Aufbau in einem konkreten Projekt entsteht, zeigt die Übersicht zum Ablauf eines Website-Projekts.

Den Root sauber lösen

Das Wurzelverzeichnis einer mehrsprachigen Website sollte entweder eine echte Sprachauswahl anbieten oder serverseitig auf eine Standardsprache verweisen — und in beiden Fällen als x-default ausgezeichnet sein. Eine Weiterleitung, die Besucher anhand der IP-Adresse in eine Sprache zwingt und keinen Rückweg anbietet, ist erfahrungsgemäß die häufigste Ursache dafür, dass Crawler am Ende nur eine einzige Sprachversion zu sehen bekommen.

hreflang: was die Auszeichnung leistet

hreflang ist kein Ranking-Signal, sondern ein Zuordnungssignal. Es teilt Suchmaschinen mit: Diese URLs sind derselbe Inhalt in unterschiedlichen Sprachen oder für unterschiedliche Regionen.

Ohne diese Zuordnung behandelt ein Crawler die Versionen als getrennte Seiten, die sich inhaltlich stark ähneln — mit dem Risiko, dass er sich für eine Version entscheidet und die übrigen selten ausspielt. Der Sprachcode folgt dem etablierten Standard für Sprach-Tags (W3C, Internationalization): zwei Kleinbuchstaben für die Sprache, optional ein Bindestrich und zwei Großbuchstaben für die Region, also de, de-AT, en oder en-GB. Eine Region ohne Sprache ist ungültig — einen Wert wie at gibt es nicht. Die Angabe der Region ist zudem nur dann sinnvoll, wenn es tatsächlich regional unterschiedliche Inhalte gibt, etwa abweichende Preise, Lieferbedingungen oder Ansprechpartner. Ansonsten reicht der reine Sprachcode und hält die Auszeichnung schlank.

head-bereich-jeder-sprachversion.html
<link rel="alternate" hreflang="de-DE" href="https://beispiel.de/de/leistungen/">
<link rel="alternate" hreflang="en-GB" href="https://beispiel.de/en/services/">
<link rel="alternate" hreflang="fr-FR" href="https://beispiel.de/fr/services/">
<link rel="alternate" hreflang="x-default" href="https://beispiel.de/de/leistungen/">
  • Jede Sprachversion listet alle Versionen des Clusters auf — einschließlich sich selbst.
  • Die Verweise sind reziprok: Verweist /en/ auf /de/, muss /de/ auch auf /en/ verweisen.
  • Alle genannten URLs antworten mit Statuscode 200 und sind indexierbar — keine Weiterleitungen, kein noindex, keine per robots.txt gesperrten Pfade.
  • Die URL im Verweis ist absolut, also inklusive Protokoll und Hostname; relative Pfade werden ignoriert.
  • Der Sprachcode ist gültig: Sprache zuerst, Region optional, Großschreibung ausschließlich im Regionsteil.
  • Genau eine URL trägt x-default — und zwar dieselbe in allen Versionen des Clusters.
  • Die Auszeichnung steht entweder im Kopfbereich, im HTTP-Header oder in der Sitemap, aber nicht widersprüchlich in mehreren Quellen gleichzeitig.

Der klassische Selbstverweis-Fehler

Ein hreflang-Block, der die eigene URL nicht enthält, wird von Suchmaschinen häufig vollständig verworfen. Dasselbe gilt, wenn nur eine einzige Version im Cluster den Rückverweis vergisst: Das Paar ist dann nicht mehr reziprok, und die betroffene Sprache fällt aus der Zuordnung heraus. Wer hreflang von Hand in Templates pflegt, sollte deshalb vor jedem Rollout stichprobenartig prüfen, ob jede Version wirklich alle anderen und sich selbst auflistet.

Übersetzte Slugs statt automatischer Weiterleitungen

Eine mehrsprachige Website, deren englische Seiten unter /en/leistungen/ liegen, ist halb fertig.

Der Pfad ist Teil des Inhalts: Er erscheint in den Suchergebnissen, er wird kopiert und weitergeschickt, er steht in Angeboten und E-Mail-Signaturen, und er enthält in aller Regel den wichtigsten Begriff der Seite. Ein englischer Pfad wie /en/services/ ist deshalb kein Kosmetik-Thema, sondern ein Auffindbarkeits- und Vertrauensfaktor. Praktisch bedeutet das: Jede Seite braucht je Sprache einen eigenen, redaktionell gepflegten Slug, und die Zuordnung zwischen diesen Slugs muss im System hinterlegt sein — sonst weiß der Sprachumschalter nicht, wohin er zeigen soll, und landet ersatzweise auf der Startseite. Wie XICflow Seiten samt Struktur, Texten und Metadaten verwaltet, ist unter Leistungen im Überblick beschrieben.

Slug je Sprache

Der Pfad wird übersetzt, nicht durchgereicht. /de/leistungen/ und /en/services/ sind eigenständige, dauerhaft stabile URLs mit eigener Historie.

Feste Zuordnung

Das System kennt zu jeder Seite das Gegenstück in den anderen Sprachen. Der Umschalter springt auf die entsprechende Unterseite, nicht auf die Startseite.

Alte Pfade bleiben erreichbar

Wird ein Slug später geändert, führt eine dauerhafte Weiterleitung vom alten auf den neuen Pfad. Verweise von außen laufen dadurch nicht ins Leere.

Der zweite Teil dieser Regel ist ebenso wichtig: keine automatischen Sprachweiterleitungen anhand von Browsersprache oder IP-Adresse. Solche Weiterleitungen wirken auf den ersten Blick nutzerfreundlich, sind aber aus drei Gründen problematisch. Erstens sehen Crawler, die aus einer bestimmten Region kommen, nur eine einzige Sprachversion — die übrigen werden dann kaum oder gar nicht erfasst. Zweitens verlieren Besucher die Kontrolle: Wer die englische Seite bewusst aufruft, weil er sie weiterleiten möchte, will nicht auf die deutsche Fassung geworfen werden. Drittens brechen geteilte Links, weil sie beim Empfänger in einer anderen Sprache landen als beim Absender, was Angebote und Dokumentationen unbrauchbar machen kann. Der etablierte Weg ist ein sichtbarer, tastaturbedienbarer Sprachumschalter, ergänzt um einen dezenten Hinweis, dass die Seite auch in einer anderen Sprache vorliegt.

Sitemap, Statuscodes und Crawling

hreflang lässt sich an drei Stellen ausliefern: im Kopfbereich jeder Seite, im HTTP-Header oder in der XML-Sitemap.

Für Websites mit vielen Seiten und vielen Sprachen ist die Sitemap-Variante die sparsamste, weil sie die Annotationen aus dem HTML heraushält und damit jede einzelne Seite kleiner macht. Für kleinere Websites ist die Variante im Kopfbereich die transparentere Lösung, weil sie sich unmittelbar im Quelltext prüfen lässt. Entscheidend ist, dass nur eine Quelle verwendet wird: Widersprüchliche Angaben in Kopfbereich und Sitemap führen dazu, dass Suchmaschinen die Auszeichnung im Zweifel ignorieren. Wer den Seitenaufbau ohnehin schlank hält — etwa durch statische Auslieferung mit PageSpeed 100 —, hat bei der Variante im Kopfbereich deutlich mehr Spielraum, weil zusätzliche Zeilen im HTML dort kaum ins Gewicht fallen.

sitemap.xml
<url>
  <loc>https://beispiel.de/de/leistungen/</loc>
  <xhtml:link rel="alternate" hreflang="de-DE" href="https://beispiel.de/de/leistungen/"/>
  <xhtml:link rel="alternate" hreflang="en-GB" href="https://beispiel.de/en/services/"/>
  <xhtml:link rel="alternate" hreflang="fr-FR" href="https://beispiel.de/fr/services/"/>
  <xhtml:link rel="alternate" hreflang="x-default" href="https://beispiel.de/de/leistungen/"/>
</url>

Die häufigsten Fehler in mehrsprachigen Projekten

  1. Fehlender Selbstverweis: Die Seite listet alle anderen Sprachen auf, nur sich selbst nicht — der gesamte Block wird dadurch häufig unbrauchbar.
  2. Einseitige Paare: /de/ verweist auf /en/, aber /en/ verweist nicht zurück. Nur reziproke Angaben werden zuverlässig ausgewertet.
  3. Relative URLs im Verweis. Zulässig sind ausschließlich absolute URLs mit Protokoll und Hostname.
  4. Verweise auf weiterleitende oder nicht indexierbare Ziele. Jede genannte URL muss mit Statuscode 200 antworten und darf nicht auf noindex stehen.
  5. Ungültige Sprachcodes, etwa en-UK statt en-GB, oder ein reiner Ländercode ohne vorangestellte Sprache.
  6. Automatische Sprachweiterleitung nach IP-Adresse ohne Rückweg — Crawler sehen dann nur eine Version, Besucher verlieren die Wahl.
  7. Nicht übersetzte Slugs, sodass englische Inhalte dauerhaft unter deutschen Pfaden liegen.
  8. Halb übersetzte Seiten: Navigation und Fließtext übersetzt, aber Formularbeschriftungen, Fehlermeldungen, Consent-Dialog und Rechtstexte in der Ausgangssprache.
  9. Sitemap und Auszeichnung laufen auseinander, weil die Sitemap nur bei Bedarf von Hand aktualisiert wird.

Die Kurzfassung

Eine mehrsprachige Website funktioniert dann verlässlich, wenn drei Dinge zusammenpassen: eine stabile, übersetzte URL je Sprachversion, ein vollständiger und reziproker hreflang-Block inklusive x-default, und eine Sitemap, die genau dieselben URLs führt. Alles Weitere — Umschalter, Übersetzungsqualität, regionale Varianten, zusätzliche Sprachen — baut darauf auf und lässt sich später ergänzen, ohne die Struktur erneut anzufassen.

Eine zusätzliche Sprache verdoppelt nicht den Text, sondern die Zahl der Zustände, die dauerhaft konsistent bleiben müssen.

Faustregel für mehrsprachige Web-Projekte

Wie XICflow mehrere Sprachen verwaltet

In XICflow ist die Sprache eine Eigenschaft der Seitenkonfiguration und nicht eine Kopie der Website. Eine Seite existiert einmal als Struktur und trägt je Sprache Titel, Texte, Metadaten und einen eigenen Slug.

Aus dieser Konfiguration erzeugt die Auslieferung die Sprachverzeichnisse, die reziproken hreflang-Paare inklusive x-default, das lang-Attribut, die Sitemap-Einträge und den Sprachumschalter — ohne dass jemand Link-Tags von Hand pflegt oder eine Liste in einer Tabelle nachzieht. Kommt später eine weitere Sprache dazu, werden die bestehenden Cluster ergänzt, statt dass alle vorhandenen Seiten einzeln angefasst werden müssen. Wie das im fertigen Ergebnis aussieht, lässt sich an den Beispiel-Websites nachvollziehen; welche Sprachumfänge in welchem Paket enthalten sind, steht in der Paket- und Preisübersicht.

  • Sprachverzeichnisse je Sprache, mit stabilen URLs und redaktionell übersetzten Slugs
  • Reziproke hreflang-Paare inklusive x-default, automatisch aus der Seitenzuordnung erzeugt
  • lang-Attribut je Seite und je fremdsprachigem Abschnitt, passend zu WCAG 2.2
  • Sitemap mit allen Sprachversionen, bei jeder Veröffentlichung neu geschrieben
  • Sprachumschalter, der auf die entsprechende Unterseite verweist statt auf die Startseite
  • Rechtstexte, Formulare, Fehlermeldungen und Consent-Dialog in jeder aktiven Sprache
  • Dauerhafte Weiterleitungen, wenn ein Slug später geändert oder eine Seite verschoben wird
Dieser Artikel basiert auf Daten aus: Europäische Kommission (Eurobarometer zu Sprachpräferenzen im Internet), Europäische Union (Amtssprachenregelung), WebAIM Million, Google Web Almanac, HTTP Archive sowie den Veröffentlichungen des W3C zu WCAG 2.2 und zur Internationalisierung.