Voraussetzungen
Bevor du mit der Implementierung beginnst, stelle sicher, dass folgende Punkte erfüllt sind:
- Separate URLs für jede Region: Du benötigst eigene URLs für jede Zielregion – z. B.
/de/,/at/,/ch/oder separate Domains wieexample.de,example.at,example.ch. - Zugriff auf den HTML-Code oder das CMS: Du musst entweder direkt im
<head>-Bereich der Seiten Änderungen vornehmen oder über dein CMS (z. B. WordPress mit Yoast SEO) hreflang Tags setzen können. - Zugriff auf die XML-Sitemap: Alternativ oder ergänzend kannst du hreflang-Einträge in der Sitemap pflegen.
- Google Search Console: Richte für jede Domain oder Subdomain eine eigene Property ein, um Fehler zu überwachen.
- Vollständige Liste aller zu verlinkenden URLs: Erstelle eine Tabelle mit allen Seiten und ihren regionalen Entsprechungen, bevor du anfängst.
Schritt-für-Schritt Anleitung
Schritt 1: Sprachcodes und Regionscodes festlegen
Für die DACH-Region verwendest du folgende Kombinationen aus ISO-639-1-Sprachcode und ISO-3166-1-Ländercode:
de-DE– Deutsch für Deutschlandde-AT– Deutsch für Österreichde-CH– Deutsch für die Schweizx-default– Fallback für alle anderen Nutzer (empfohlen)
Wichtig: Schreibe den Sprachcode immer klein (de) und den Ländercode immer groß (DE, AT, CH). Google akzeptiert zwar beide Schreibweisen, die offizielle Empfehlung lautet jedoch Kleinschreibung für den Sprachcode und Großschreibung für den Ländercode.
Schritt 2: hreflang Tags im HTML-Head einfügen
Füge in den <head>-Bereich jeder Seite die entsprechenden <link rel='alternate'>-Tags ein. Jede Seite muss auf sich selbst sowie auf alle anderen regionalen Varianten verweisen – das nennt sich gegenseitige Verlinkung.
Beispiel für die deutsche Version (example.de/produkt/):
<link rel='alternate' hreflang='de-DE' href='https://www.example.de/produkt/' />
<link rel='alternate' hreflang='de-AT' href='https://www.example.at/produkt/' />
<link rel='alternate' hreflang='de-CH' href='https://www.example.ch/produkt/' />
<link rel='alternate' hreflang='x-default' href='https://www.example.de/produkt/' />Dieselben vier Zeilen müssen identisch auch auf der österreichischen und der Schweizer Version der Seite erscheinen.
Schritt 3: Gegenseitige Verlinkung sicherstellen
Ein häufig übersehener Pflichtschritt: Jede regionale Seite muss auf alle anderen verweisen – und zwar mit exakt denselben URLs. Wenn example.de auf example.at zeigt, muss example.at auch auf example.de zurückzeigen. Google ignoriert hreflang-Angaben, die nicht gegenseitig bestätigt werden.
Erstelle dazu eine Mapping-Tabelle:
DE-Seite AT-Seite CH-Seite
example.de/produkt/ example.at/produkt/ example.ch/produkt/
example.de/ueber-uns/ example.at/ueber-uns/ example.ch/ueber-uns/Schritt 4: x-default Tag korrekt setzen
Der x-default-Tag definiert, welche Seite Nutzern angezeigt wird, deren Sprache oder Region nicht explizit abgedeckt ist – zum Beispiel Nutzern aus der Schweiz, die Französisch sprechen. Setze x-default auf deine Hauptseite oder eine neutrale Einstiegsseite:
<link rel='alternate' hreflang='x-default' href='https://www.example.de/produkt/' />Für reine DACH-Websites ohne weitere Sprachversionen empfiehlt es sich, x-default auf die deutsche Hauptdomain zu setzen.
Schritt 5: Implementierung via XML-Sitemap (Alternative)
Wenn du keine Möglichkeit hast, den HTML-Head zu bearbeiten, kannst du hreflang-Angaben auch in der XML-Sitemap pflegen. Das ist besonders bei großen Websites mit vielen Seiten praktisch. Das Format sieht so aus:
<url>
<loc>https://www.example.de/produkt/</loc>
<xhtml:link rel='alternate' hreflang='de-DE'
href='https://www.example.de/produkt/'/>
<xhtml:link rel='alternate' hreflang='de-AT'
href='https://www.example.at/produkt/'/>
<xhtml:link rel='alternate' hreflang='de-CH'
href='https://www.example.ch/produkt/'/>
<xhtml:link rel='alternate' hreflang='x-default'
href='https://www.example.de/produkt/'/>
</url>Vergiss nicht, den Namespace xmlns:xhtml='http://www.w3.org/1999/xhtml' im öffnenden <urlset>-Tag zu deklarieren.
Schritt 6: Implementierung in WordPress mit Yoast SEO
Falls du WordPress verwendest, navigiere zu Yoast SEO → Suchdarstellung → Mehrsprachigkeit. Yoast SEO Premium unterstützt hreflang nativ in Kombination mit dem WPML- oder Polylang-Plugin. Gehe wie folgt vor:
- Installiere WPML oder Polylang und erstelle für jede DACH-Region eine Sprachvariante.
- Aktiviere in Yoast SEO Premium unter Einstellungen → Integrationen die WPML- oder Polylang-Integration.
- Yoast generiert die hreflang-Tags automatisch für alle verknüpften Sprachversionen.
- Überprüfe die Ausgabe im Quellcode einer Seite mit
Strg+Uund suche nachhreflang.
Schritt 7: Absolute URLs verwenden
Stelle sicher, dass alle URLs in den hreflang-Tags absolut angegeben sind – also inklusive Protokoll (https://) und Domain. Relative URLs wie /produkt/ werden von Google nicht akzeptiert und führen dazu, dass die Tags ignoriert werden.
Falsch: href='/produkt/'
Richtig: href='https://www.example.de/produkt/'
Häufige Fehler bei hreflang DACH
- Fehlende Gegenseitigkeit: Wenn Seite A auf Seite B verweist, aber Seite B nicht auf Seite A zurückverweist, ignoriert Google die Angaben. Prüfe jede Seite einzeln.
- Falsche Sprachcodes:
de-destattde-DEodergerstattde– Google akzeptiert nur ISO-639-1-Codes. Verwende niemals dreistellige Sprachcodes. - Nur den Sprachcode ohne Ländercode verwenden:
hreflang='de'allein reicht für DACH nicht aus, da es nicht zwischen Deutschland, Österreich und der Schweiz unterscheidet. Nutze immer die Kombinationde-DE,de-AT,de-CH. - Nicht-kanonische URLs verwenden: Die URLs in den hreflang-Tags müssen identisch mit den Canonical-Tags sein. Wenn deine Canonical-URL
https://www.example.de/produkt/lautet, darf im hreflang-Tag nichthttps://example.de/produkt/(ohne www) stehen. - x-default vergessen: Ohne
x-defaulterhalten Nutzer aus nicht abgedeckten Regionen möglicherweise eine falsche Seite ausgespielt. Setze immer einen Fallback.
Verifizierung: So testest du deine hreflang-Implementierung
Nach der Implementierung solltest du die korrekte Funktion auf mehreren Wegen prüfen:
- Quellcode-Prüfung: Öffne eine deiner regionalen Seiten im Browser, drücke
Strg+U(Windows) oderCmd+Option+U(Mac) und suche mitStrg+Fnachhreflang. Prüfe, ob alle vier Tags (de-DE, de-AT, de-CH, x-default) vorhanden und korrekt sind. - Google Search Console: Navigiere in der Search Console zu Internationales Targeting → Sprache. Dort siehst du erkannte hreflang-Tags und eventuelle Fehler wie „Keine Rückbestätigung" oder „Ungültiger Sprachcode".
- hreflang-Validator-Tools: Nutze kostenlose Online-Tools wie den hreflang Tag Checker von Aleyda Solis (
hreflang.aleydasolis.com) oder das Merkle hreflang Testing Tool. Gib deine URL ein und das Tool prüft automatisch Gegenseitigkeit, Sprachcodes und x-default. - Screaming Frog SEO Spider: Crawle deine Website mit Screaming Frog. Unter Reports → Hreflang erhältst du eine vollständige Übersicht aller hreflang-Angaben und markierten Fehler.
- Google-Indexierung abwarten: Nach der Implementierung dauert es in der Regel 1–4 Wochen, bis Google die neuen Tags verarbeitet hat. Beobachte in dieser Zeit die Impressionen und Klicks in der Search Console für jede regionale Property.