hreflang ist eine Zeile im Quelltext, die Suchmaschinen sagt, welche Sprachfassung einer Seite zu welchem Publikum gehört. Sie brauchen es, sobald derselbe Inhalt in mehreren Sprachen oder für mehrere Länder unter getrennten URLs steht. Drei Regeln entscheiden, ob es wirkt: jede Fassung verweist auf alle Fassungen einschließlich sich selbst, jeder Verweis ist wechselseitig und es gibt ein x-default für Besucher, die in keine der angegebenen Sprachen passen. hreflang ist kein Rankingfaktor und es steuert nur, welche Fassung wem gezeigt wird. Der Fehler, der am häufigsten einen ganzen Sprachmarkt kostet, sitzt woanders: eine Sprachfassung ohne eigenen Eintrag in Ihrer Sitemap bleibt still unsichtbar, auch wenn das hreflang selbst einwandfrei stimmt.
Wann Sie es brauchen und wann nicht
Sie brauchen hreflang in zwei Fällen. Der erste ist, dass dieselbe Seite in mehreren Sprachen unter getrennten URLs besteht, zum Beispiel /diensten.html und /en/services.html. Der zweite ist, dass dieselbe Sprache zwei Fassungen für zwei Länder hat, die sich inhaltlich unterscheiden: andere Preise, andere Behandlung der Mehrwertsteuer.
Sie brauchen es nicht bei einer Website in einer Sprache für einen Markt. Auch nicht für eine Seite, die es nur in einer Sprache gibt.
Es gibt einen dritten Fall, in dem die Antwort unbequem liegt. Wechselt Ihre Website die Sprache ohne dass sich die URL ändert, dann gibt es keine zweite URL, auf die man zeigen könnte. Eine Suchmaschine indexiert eine Fassung einer URL, Sie haben also eine Sprache im Index und den Rest gibt es nicht. Wollen Sie vier Sprachen auffindbar haben, dann brauchen Sie vier URLs. Das ist eine Bauentscheidung und keine Einstellung.
Die drei Regeln, die darüber entscheiden, ob es wirkt
So sieht ein vollständiger Satz aus, im <head> jeder Seite:
<link rel="alternate" hreflang="nl" href="https://uwdomein.be/diensten.html">
<link rel="alternate" hreflang="en" href="https://uwdomein.be/en/services.html">
<link rel="alternate" hreflang="de" href="https://uwdomein.be/de/leistungen.html">
<link rel="alternate" hreflang="fr" href="https://uwdomein.be/fr/services.html">
<link rel="alternate" hreflang="x-default" href="https://uwdomein.be/en/services.html">
Vollständig. Der Satz enthält alle Fassungen, die es gibt. Vergessen Sie eine, dann gehört sie nicht zur Gruppe.
Mit Selbstverweis. Jede Seite verweist auch auf sich selbst. Auf der niederländischen Seite steht also auch die Zeile mit hreflang="nl". Ohne diese Zeile ignoriert Google den ganzen Satz.
Wechselseitig. Diese fünf Zeilen stehen wörtlich identisch auf allen vier Seiten. Verweist A auf B und verweist B nicht zurück auf A, dann lässt Google das Paar fallen. Das ist der häufigste Fehler und Sie sehen ihn mit bloßem Auge.
Zwei zusätzliche Anforderungen. Verwenden Sie absolute URLs mit Protokoll und Domain, nie relative Pfade. Und lassen Sie jede angegebene URL direkt laden. Ein hreflang, das auf eine Adresse zeigt, die weiterleitet oder die über ein Canonical anderswo landet, wird ignoriert.
Was x-default genau ist
x-default ist nicht Ihre Hauptsprache. Es ist die Fassung für alle, die in keine der angegebenen Sprachen fallen: ein Besucher aus Spanien, Japan oder Brasilien. In der Praxis wählen Sie entweder Ihre Sprachauswahl oder die am breitesten nutzbare Fassung, meist die englische.
Eines pro Satz. Es ist nicht verpflichtend. Wohl aber zu empfehlen, denn ohne x-default wählt die Suchmaschine selbst und dann wird es Ihre Hauptsprache.
Sprachcodes mit und ohne Region
Der Sprachcode besteht aus zwei Buchstaben nach ISO 639-1: nl, en, de, fr. Der Regionscode dahinter ist optional, zwei Buchstaben nach ISO 3166-1 Alpha 2, immer mit einem Bindestrich dazwischen: nl-BE, nl-NL, de-AT, fr-CH. Eine Region ohne Sprache davor gibt es nicht.
Hier geht es oft schief, denn die Codes für Sprachen und die Codes für Länder ähneln einander ohne es zu sein.
| Was dort steht | Was es bedeutet | Was es sein müsste |
|---|---|---|
hreflang="be"
|
Weißrussisch |
nl-BE oder fr-BE
|
hreflang="uk"
|
Ukrainisch |
en-GB
|
hreflang="en-UK"
|
ungültig und wird ignoriert |
en-GB
|
hreflang="nl_BE"
|
ungültig, Unterstrich statt Bindestrich |
nl-BE
|
hreflang="eu"
|
Baskisch | kein Code deckt die EU ab, wählen Sie pro Sprache |
Trennen Sie nl-BE und nl-NL nur, wenn sich der Inhalt wirklich unterscheidet. Haben Sie eine niederländischsprachige Seite für beide Länder, dann nehmen Sie einfach nl. Dieser Code deckt alle Niederländischsprachigen ab wo sie auch sitzen. Zwei identische Seiten unter zwei Regionscodes spalten Ihre Signale und verdoppeln Ihre Pflege.
Der Regionscode steuert auf den vermuteten Standort des Besuchers und nicht auf seine Spracheinstellung. nl-BE bedeutet Niederländischsprachige in Belgien.
Wo Sie es hinsetzen: wählen Sie einen Ort
-
<link>-Elemente im<head>. Am meisten verwendet und am leichtesten zu prüfen, denn Sie sehen es im Quelltext. -
Ein
Link:-HTTP-Header. Nötig für Dateien ohne Head, etwa eine PDF. - In der XML-Sitemap. Am besten für große Websites, denn Sie pflegen alles an einer Stelle statt auf jeder Seite.
Wählen Sie einen davon. Zwei Methoden nebeneinander, die einander widersprechen, ist schlimmer als gar keine.
In der Sitemap sieht es so aus. Der Namensraum xmlns:xhtml gehört auf <urlset>:
<url>
<loc>https://uwdomein.be/diensten.html</loc>
<xhtml:link rel="alternate" hreflang="nl" href="https://uwdomein.be/diensten.html"/>
<xhtml:link rel="alternate" hreflang="en" href="https://uwdomein.be/en/services.html"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://uwdomein.be/en/services.html"/>
</url>
Die Sprachfassung ohne eigenen Eintrag bleibt still unsichtbar
Das ist der Teil, der einen ganzen Markt kostet und den niemand bemerkt.
Eine Suchmaschine findet eine Seite auf drei Wegen: einen gewöhnlichen Link mit einem href darin, einen Eintrag in Ihrer Sitemap oder einen hreflang-Verweis von einer Seite, die sie schon kennt. Fallen diese drei weg, dann gibt es die Seite nicht.
Das Szenario, das wir am häufigsten sehen, geht so. Die Sprachauswahl oben ist ein Menü in JavaScript, das keinen echten Link liefert. Die Sitemap wird auf Basis der Hauptsprache erzeugt und enthält also nur niederländische URLs. Die deutschen und französischen Seiten liegen einfach auf dem Server. Niemand verweist darauf.
Das Gemeine daran ist, dass nichts Alarm schlägt. Die Search Console meldet keinen Fehler, denn eine URL, die Google nie entdeckt hat, kann auch keinen Fehler ergeben. Ihre Statistik zeigt keinen Rückgang, denn es gab nie Verkehr. Die Seiten bestehen, die Übersetzungsrechnung ist bezahlt und der Markt bleibt leer.
Zwei Kontrollen von je einer Minute:
-
Tippen Sie
site:uwdomein.be/de/bei Google. Null Ergebnisse bedeutet null indexierte deutsche Seiten. - Öffnen Sie in der Search Console den Bereich Sitemaps und sehen Sie sich die Zahl der entdeckten URLs an. Eine Website mit 20 Seiten in vier Sprachen sollte dort ungefähr 80 URLs zeigen. Steht dort 20, dann haben Sie eine Sprache im Index und drei unsichtbare.
Seiten mal Sprachen. Das ist die brauchbarste Faustregel aus diesem Kapitel. Weicht die Zahl stark ab, dann suchen Sie nicht nach hreflang-Fehlern sondern nach fehlenden URLs.
Eine letzte Falle, direkt danach. Ein Canonical von /de/diensten.html auf /diensten.html holt Ihre deutsche Seite aus dem Index, wie viel hreflang Sie auch darum herum setzen. Jede Sprachfassung bekommt ein Canonical, das auf sich selbst zeigt. Siehe Kapitel 1.
Was hreflang nicht tut
Es erhöht keine Positionen. hreflang bestimmt, welche Fassung jemand zu sehen bekommt und nicht auf welchem Platz. Es ist zudem ein Hinweis und kein Befehl: Google darf eine andere Fassung zeigen, wenn diese besser zur Suchanfrage passt.
Es löst auch keine doppelten Inhalte zwischen Sprachen. Dieses Problem gibt es nicht, denn eine Übersetzung ist keine Kopie.
Google, Bing und Yandex nutzen hreflang. Ob die Systeme hinter KI-Antworten etwas damit anfangen, ist nicht dokumentiert und wir haben es nicht gemessen. Für GEO zählt etwas anderes: jede Sprache eine eigene URL mit echtem Text im Server-HTML. Siehe Kapitel 6 und Kapitel 7.
Selbst prüfen, ohne bezahltes Werkzeug
Die Search Console meldet hreflang-Fehler nicht als eigene Kategorie. Sie prüfen also selbst. Der manuelle Test dauert zwei Minuten und fängt die meisten Fehler:
- Öffnen Sie eine Seite und drücken Sie Strg+U oder Cmd+Option+U.
-
Suchen Sie nach
hreflangund notieren Sie den Satz. - Öffnen Sie eine der aufgeführten URLs und wiederholen Sie Schritt 2.
- Steht dort genau derselbe Satz einschließlich des Selbstverweises, dann ist die Wechselseitigkeit in Ordnung.
- Prüfen Sie, dass jede URL direkt lädt ohne Umleitung.
Daneben gibt es kostenlose hreflang-Prüfer, die Ihre Website durchlaufen und die nicht wechselseitigen Paare aufreihen. Nützlich ab etwa zwanzig Seiten. Wir nennen keinen beim Namen, weil solche Listen veralten.
Was Sie selbst können und was nicht
Selbst zu erledigen, ohne Entwickler:
- Den manuellen Test auf Wechselseitigkeit auf Ihren fünf wichtigsten Seiten.
-
Sprachcodes auf
be,ukunden-UKnachsehen. Allein das löst einen überraschenden Teil der Fälle. -
Ein
x-defaulthinzufügen, wenn es fehlt. - Zählen, wie viele URLs Ihre Sitemap enthält und das gegen Seiten mal Sprachen halten.
- Prüfen, dass jede Sprachfassung ein Canonical auf sich selbst hat.
Wofür Sie Hilfe brauchen:
- Eine Sprachauswahl, die keine echten Links erzeugt. Das ist eine Bauentscheidung und kein Häkchen.
- Ein CMS, das pro Sprache eine eigene Sitemap anlegt ohne einen Index, der sie zusammenführt.
- Vier Sprachen über Hunderte Seiten, wo hreflang aus der Sitemap kommen muss statt aus dem Head jeder Seite.
- Eine Umleitung auf Basis des Landes des Besuchers. Die drückt den Crawler jedes Mal zur selben Fassung, wodurch der Rest nie gelesen wird.
Rechnen Sie mit einem halben Tag für eine Website mit zwanzig Seiten in vier Sprachen, das Nachprüfen inbegriffen. Dieses Kapitel ist klein. Wer es falsch hat, verliert allerdings einen ganzen Sprachmarkt ohne es zu sehen.
Häufige Fragen
Was ist hreflang und brauche ich es?
hreflang ist eine Zeile im Quelltext, die Suchmaschinen sagt, welche Sprachfassung einer Seite zu welchem Publikum gehört. Sie brauchen es, sobald derselbe Inhalt in mehreren Sprachen unter getrennten URLs steht. Bei einer Website in einer Sprache für einen Markt hat es überhaupt keinen Nutzen.
Was bedeutet x-default bei hreflang?
Es ist die Fassung, die Besuchern gezeigt wird, die in keine der angegebenen Sprachen oder Regionen fallen, zum Beispiel jemand aus Japan oder Brasilien. Es ist nicht dasselbe wie Ihre Hauptsprache. Sie geben eines pro Satz an und in der Praxis zeigt es auf Ihre Sprachauswahl oder auf die englische Fassung.
Muss ich nl-BE und nl-NL getrennt angeben?
Nur wenn sich die zwei Seiten inhaltlich wirklich unterscheiden, etwa durch andere Preise oder andere Lieferbedingungen. Ist der Text identisch, dann nehmen Sie einfach nl. Dieser Code deckt alle Niederländischsprachigen ab und Sie vermeiden doppelte Pflege.
Warum funktioniert mein hreflang nicht?
In den meisten Fällen fehlt die Wechselseitigkeit: Seite A verweist auf B und B verweist nicht zurück auf A, worauf Google das Paar fallen lässt. Andere häufige Ursachen sind ein fehlender Selbstverweis, ein falscher Sprachcode wie be oder en-UK und eine angegebene URL, die weiterleitet statt direkt zu laden.
Ist hreflang ein Rankingfaktor?
Nein. hreflang bestimmt, welche Sprachfassung jemand zu sehen bekommt und nicht auf welcher Position Sie stehen. Es ist zudem ein Hinweis und kein Befehl: Google darf eine andere Fassung zeigen, wenn es denkt, dass diese besser passt.
Möchten Sie das nicht selbst machen: SEMANU führt das vollständige SEO- und GEO-Audit für 1.450 Euro durch, Bericht und Arbeitssitzung inbegriffen. Was darin steckt, steht auf der Leitfadenseite.
Messbarkeit und Auffindbarkeit gehören in Ihre Softwarestrategie
Messbarkeit und Auffindbarkeit sind Teil der strategischen Beratung und keine eigene Disziplin. Wenn Sie das nicht selbst machen wollen, nehmen wir es in die Softwarestrategie auf: was Sie messen, welche Schwelle eine Handlung rechtfertigt und wer sie nachverfolgt.