Du betreibst eine Website in mehreren Sprachen oder für verschiedene Länder — und fragst dich, warum Google manchmal die falsche Sprachversion in den Suchergebnissen anzeigt? Der Grund ist meistens ein fehlender oder fehlerhafter Hreflang-Tag. Dieses kleine Stück HTML-Code entscheidet darüber, welche Version deiner Website Nutzer aus welchem Land sehen.
In diesem Artikel erklärst du dir, wie Hreflang-Tags funktionieren, wie du sie korrekt implementierst und welche Fehler du unbedingt vermeiden musst. Dazu zeige ich dir die häufigsten Fallen, die selbst erfahrene SEOs immer wieder treffen.
Was sind Hreflang-Tags?
Hreflang ist ein HTML-Attribut, das Google (und Yandex) mitteilt, für welche Sprache und welche Region eine bestimmte Seite erstellt wurde. Es wurde 2011 von Google eingeführt, um das Problem der mehrsprachigen und länderspezifischen Inhalte zu lösen.
Ohne Hreflang hat Google keine verlässliche Möglichkeit zu wissen, welche Version einer Seite es einem Nutzer aus Deutschland, Österreich oder der Schweiz zeigen soll — auch wenn alle drei dieselbe Sprache sprechen. Mit Hreflang sagst du Google exakt: "Diese Seite ist auf Deutsch für Nutzer in Deutschland."
Hreflang ist kein Ranking-Faktor — es ist ein Signal für die Sprach- und Regionszuweisung. Es verhindert, dass die falsche Version deiner Seite in den Suchergebnissen erscheint.
Wichtig: Hreflang wird von Google und Yandex unterstützt, aber nicht von Bing. Bing nutzt stattdessen das content-language HTTP-Header-Attribut.
Wann brauchst du Hreflang-Tags?
Hreflang ist notwendig, wenn deine Website:
- Mehrere Sprachen hat (z.B. Deutsch und Englisch)
- Denselben Inhalt in verschiedenen Ländern zeigt (z.B. de-DE, de-AT, de-CH)
- Verschiedene URLs für verschiedene Sprachversionen nutzt (Unterverzeichnisse, Subdomains oder separate Domains)
Wenn deine Website nur auf Deutsch ist und sich ausschließlich an deutsche Nutzer richtet, brauchst du keine Hreflang-Tags. Das gilt auch dann, wenn du technisch korrekte Canonical-Tags verwendest, um Duplicate-Content zu vermeiden.
URL-Strukturen für mehrsprachige Websites
Es gibt drei gängige Ansätze, wie du mehrsprachige Inhalte auf verschiedene URLs verteilst:
| Struktur | Beispiel | Empfehlung |
|---|---|---|
| Unterverzeichnisse (ccTLD) | example.de/de/, example.de/en/ | Empfohlen für die meisten Websites |
| Subdomains | de.example.com, en.example.com | Möglich, aber SEO-Kraft verteilt sich |
| Separate Domains | example.de, example.com | Maximal länderspezifisch, aber teuer |
Hreflang-Syntax: So sieht ein Tag aus
Ein Hreflang-Tag hat folgendes Format im <head>-Bereich deiner HTML-Seite:
<link rel="alternate" hreflang="de" href="https://example.de/produkt/">
<link rel="alternate" hreflang="de-AT" href="https://example.de/at/produkt/">
<link rel="alternate" hreflang="en" href="https://example.com/product/">
<link rel="alternate" hreflang="x-default" href="https://example.com/product/">
Jede Seite verweist auf alle ihre Sprachvarianten — inklusive sich selbst. Das ist die Grundregel der Hreflang-Implementierung.
Sprachcodes und Ländercodes
Der Wert des hreflang-Attributs besteht aus einem zweistelligen ISO 639-1 Sprachcode und einem optionalen zweistelligen ISO 3166-1 Ländercode:
| Hreflang-Wert | Bedeutung |
|---|---|
de |
Deutsch, alle deutschsprachigen Länder |
de-DE |
Deutsch, speziell für Deutschland |
de-AT |
Deutsch, speziell für Österreich |
de-CH |
Deutsch, speziell für die Schweiz |
en |
Englisch, alle englischsprachigen Länder |
en-US |
Englisch, speziell für die USA |
x-default |
Standard für alle anderen Sprachen/Länder |
Der x-default-Tag ist besonders wichtig: Er zeigt Google, welche Seite für Nutzer angezeigt werden soll, die zu keiner der anderen Sprachversionen passen.
Drei Implementierungsmethoden
Du kannst Hreflang-Tags auf drei verschiedene Wege implementieren. Jede Methode hat Vor- und Nachteile:
1. HTML-Tags im <head>
Die direkteste Methode. Füge alle Hreflang-Referenzen direkt in den <head>-Bereich jeder Seite ein:
<!-- Auf der deutschen Seite (example.de/produkt/) -->
<link rel="alternate" hreflang="de-DE" href="https://example.de/produkt/">
<link rel="alternate" hreflang="de-AT" href="https://example.de/at/produkt/">
<link rel="alternate" hreflang="en-US" href="https://example.com/product/">
<link rel="alternate" hreflang="x-default" href="https://example.com/product/">
<!-- Dieselben Tags auch auf example.de/at/produkt/ und example.com/product/ einfügen! -->
Vorteil: Einfach, direkt, von Google sicher erkannt.
Nachteil: Bei vielen Seiten aufwändig zu pflegen.
2. HTTP-Header (für PDFs und andere Nicht-HTML-Dateien)
Wenn du Hreflang für PDFs oder andere Nicht-HTML-Ressourcen benötigst, kannst du es über den HTTP-Header setzen:
Link: <https://example.de/dokument.pdf>; rel="alternate"; hreflang="de-DE",
<https://example.com/document.pdf>; rel="alternate"; hreflang="en-US"
Für HTML-Seiten ist diese Methode nicht empfohlen, da sie schwieriger zu debuggen ist. Mehr dazu im Artikel zu HTTP-Headern und robots.txt.
3. In der Sitemap.xml
Die skalierbarste Methode für große Websites. Du fügst Hreflang-Informationen direkt in deine sitemap.xml ein:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.de/produkt/</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://example.de/produkt/"/>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/product/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/product/"/>
</url>
<url>
<loc>https://example.com/product/</loc>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://example.de/produkt/"/>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/product/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/product/"/>
</url>
</urlset>
Vorteil: Zentral verwaltet, skaliert gut bei hunderten Seiten.
Nachteil: Fehler in der Sitemap können alle Hreflang-Signale auf einmal korrumpieren.
Die Gegenseitigkeitsregel: Das wichtigste Prinzip
Die wichtigste Regel bei Hreflang ist die Gegenseitigkeit (Reciprocity): Wenn Seite A auf Seite B verweist, muss Seite B auch auf Seite A zurückverweisen.
Konkret: Wenn deine deutsche Seite eine Hreflang-Referenz auf die englische Version hat, muss die englische Seite genau dieselbe Referenz zurück auf die deutsche Seite haben — und außerdem auf sich selbst.
<!-- Deutsche Seite: /de/produkt/ -->
<link rel="alternate" hreflang="de" href="https://example.de/de/produkt/">
<link rel="alternate" hreflang="en" href="https://example.de/en/product/">
<!-- Englische Seite: /en/product/ — MUSS DIESELBEN TAGS HABEN! -->
<link rel="alternate" hreflang="de" href="https://example.de/de/produkt/">
<link rel="alternate" hreflang="en" href="https://example.de/en/product/">
Google ignoriert Hreflang-Tags, wenn die Gegenseitigkeit fehlt. Das ist der häufigste Fehler überhaupt.
Die 7 häufigsten Hreflang-Fehler
1. Fehlende Gegenseitigkeit
Seite A verweist auf Seite B, aber Seite B verweist nicht zurück auf Seite A. Folge: Google ignoriert den Tag komplett.
2. Relative statt absolute URLs
Falsch: hreflang="de" href="/produkt/"
Richtig: hreflang="de" href="https://example.de/produkt/"
Hreflang-Tags funktionieren nur mit absoluten URLs.
3. Falsche Sprachcodes
hreflang="german" oder hreflang="ger" sind ungültig. Es muss hreflang="de" sein. Nutze ausschließlich ISO 639-1 Codes.
4. Kein x-default Tag
Wenn kein x-default gesetzt ist, hat Google keine Fallback-URL für Nutzer, die zu keiner der definierten Sprachversionen passen.
5. Mehrere Seiten mit demselben Hreflang-Wert
Wenn zwei verschiedene Seiten dasselbe Hreflang-Paar haben (z.B. beide claimen hreflang="de-DE"), entsteht ein Konflikt. Google muss dann raten, welche die richtige ist.
6. Canonical und Hreflang im Widerspruch
Wenn eine Seite einen Canonical-Tag hat, der auf eine andere URL zeigt, sollte das Hreflang-Tag auf die kanonische URL zeigen — nicht auf die aktuelle. Widersprüche führen zur Verwirrung des Crawlers.
7. Noindex-Seiten mit Hreflang
Eine Seite, die per robots.txt oder noindex blockiert ist, sollte keine Hreflang-Referenzen verwenden. Google kann diese Seiten nicht crawlen und die Tags werden ignoriert.
Hreflang testen und debuggen
Bevor du Hreflang live schaltest, solltest du deine Implementierung auf Fehler prüfen. Nutze dazu unseren kostenlosen Hreflang-Tag-Validator — er prüft Syntax, Sprachcodes und die Gegenseitigkeitsregel in Sekundenschnelle.
Zusätzlich hilft die Google Search Console: Unter "Internationale Ausrichtung" → "Sprache" siehst du alle erkannten Hreflang-Fehler direkt in deiner Property.
Eine vollständige Checkliste für die Überprüfung:
- Sind alle URLs absolut (mit https://)?
- Ist die Gegenseitigkeit vollständig (A→B und B→A)?
- Verweist jede Seite auch auf sich selbst?
- Ist ein
x-defaultgesetzt? - Sind alle Sprachcodes nach ISO 639-1 korrekt?
- Gibt es Konflikte mit Canonical-Tags?
- Sind alle referenzierten Seiten crawlbar (kein noindex, kein robots.txt-Block)?
Hreflang und die Indexierung
Hreflang beeinflusst, wie Google Seiten zuordnet — nicht ob sie indexiert werden. Das Indexierungsverhalten wird durch andere Faktoren gesteuert: robots.txt, noindex-Tags und die Qualität des Inhalts.
Google kann trotz korrekter Hreflang-Tags entscheiden, nicht alle Sprachversionen zu indexieren — z.B. wenn der Inhalt zu ähnlich ist und als Duplicate Content gewertet wird. In diesem Fall hilft ein starker Canonical-Tag kombiniert mit echten Inhaltsunterschieden zwischen den Versionen.
Praktisches Beispiel: Deutsch-österreichische Website
Stell dir vor, du hast eine Website, die sich an Nutzer in Deutschland und Österreich richtet. Der Inhalt ist auf Deutsch, aber mit leichten regionalen Unterschieden (z.B. unterschiedliche Preise oder Bezeichnungen). So setzt du Hreflang korrekt um:
<!-- Auf https://example.de/produkt/ -->
<link rel="alternate" hreflang="de-DE" href="https://example.de/produkt/">
<link rel="alternate" hreflang="de-AT" href="https://example.de/at/produkt/">
<link rel="alternate" hreflang="x-default" href="https://example.de/produkt/">
<!-- Auf https://example.de/at/produkt/ -->
<link rel="alternate" hreflang="de-DE" href="https://example.de/produkt/">
<link rel="alternate" hreflang="de-AT" href="https://example.de/at/produkt/">
<link rel="alternate" hreflang="x-default" href="https://example.de/produkt/">
Damit sieht ein Nutzer in Deutschland die Version unter /produkt/ und ein Nutzer in Österreich die Version unter /at/produkt/.
Fazit: Hreflang richtig einsetzen lohnt sich
Hreflang-Tags sind komplex und fehleranfällig — aber für mehrsprachige Websites sind sie unverzichtbar. Ein korrekt implementierter Hreflang verhindert, dass Google die falsche Sprachversion rankt, reduziert Duplicate-Content-Probleme und verbessert die User Experience für internationale Besucher.
Die wichtigsten Punkte zusammengefasst:
- Immer absolute URLs verwenden
- Gegenseitigkeit zwischen allen Varianten sicherstellen
- Jede Seite verweist auch auf sich selbst
- x-default für den Fallback nicht vergessen
- Regelmäßig mit dem Hreflang-Validator prüfen
- Keine Widersprüche mit Canonical-Tags erzeugen
Wenn du eine mehrsprachige Website betreibst und noch keine Hreflang-Tags gesetzt hast, ist das die erste Maßnahme, die du angehen solltest. Die Implementierung dauert — je nach CMS — weniger als eine Stunde und hat direkte Auswirkungen auf die Sichtbarkeit in den jeweiligen Ländern.
Mehr über technische SEO-Grundlagen findest du in unserem Artikel zu Meta-Tags richtig einsetzen sowie in der umfassenden Anleitung zu Strukturierten Daten und Schema Markup.