Hreflang-Fehler: Was sie bedeuten und wie du sie behebst

Die meisten Hreflang-Fehler haben eine Ursache: Die Sprachversionen einer Seite stimmen nicht miteinander überein, sodass Suchmaschinen ihren Angaben nicht vertrauen können. Behebe zuerst diese Fehler – angefangen bei fehlenden Rückverweisen und Seiten, die sich nicht selbst aufführen. Meist liegt es an einer einzigen Vorlage oder Plugin-Einstellung. Du musst sie also nur einmal korrigieren und nicht Seite für Seite. Hier erfährst du, was die einzelnen Fehler bedeuten – in der Reihenfolge, in der ich sie angehen würde.

Bevor du loslegst: Prüfe zwei Seiten

Hreflang ist eine Gruppe von Links, die Suchmaschinen mitteilt, welche Sprachversion einer Seite sie den einzelnen Nutzern anzeigen sollen. Probleme betreffen oft die Beziehung zwischen zwei Seiten. Prüfe deshalb eine Seite und eine ihrer Übersetzungen, nicht nur deine Startseite.

Der kostenlose Hreflang-Checker liest die Tags im HTML-Head und den HTTP-Link-Header einer Seite aus. Anschließend ruft er bis zu 20 ihrer Sprachversionen auf, um zu prüfen, ob sie erreichbar sind und zurückverweisen. Eine Einschränkung solltest du kennen: Das Tool liest deine XML-Sitemap nicht aus. Wenn deine Hreflang-Angaben nur in der Sitemap stehen, meldet der Bericht, dass keine gefunden wurden. Das heißt nicht, dass deine Einrichtung falsch ist. Prüfe diese Einträge anhand der folgenden Regeln.

Diese Fehler solltest du zuerst beheben

Diese Fehler können dazu führen, dass Suchmaschinen deine Hreflang-Angaben für eine Seite oder ein Seitenpaar ignorieren.

Eine Sprachversion verweist nicht zurück („fehlender Rückverweis“). Wenn deine englische Seite die deutsche Seite als deutsche Version aufführt, muss die deutsche Seite auch auf die englische Seite verweisen. Geht der Link nur in eine Richtung, ignorieren Suchmaschinen das Seitenpaar möglicherweise. Das passiert häufig, wenn eine Sprache später hinzugefügt wurde oder nur deine Hauptsprache die Tags enthält. Lösung: Führe auf jeder Version dieselbe vollständige Liste auf.

Die Seite führt sich nicht selbst auf. Jede Seite listet alle ihre Versionen auf, einschließlich sich selbst. Lösung: Füge die eigene URL der Seite zur Liste hinzu. Meldet der Bericht, dass sie sich selbst „nur mit einem anderen abschließenden Schrägstrich“ aufführt, verwende exakt die Adresse, unter der die Seite erreichbar ist. Für eine Suchmaschine sind /de und /de/ zwei verschiedene URLs.

Eine Sprachversion liefert keinen Statuscode 200. Ein Link zu einer Seite, die einen 404- oder Serverfehler zurückgibt, führt ins Leere. Das passiert oft, wenn eine Seite nur in einigen Sprachen existiert, eine Vorlage aber unabhängig davon alle Sprachen aufführt. Lösung: Führe nur die Sprachen auf, für die die Seite tatsächlich existiert, oder veröffentliche die fehlende Version.

Die kanonische URL verweist auf eine andere Seite. Suchmaschinen ignorieren Hreflang-Angaben auf einer Seite, die nicht kanonisch ist. Ein klassischer Fall: Bei jeder Übersetzung verweist das Canonical auf die Seite in der Hauptsprache. Damit signalisierst du Suchmaschinen, dass die Übersetzungen nicht die maßgeblichen Seiten sind. Lösung: Das Canonical jeder Sprachversion muss auf sie selbst verweisen.

Ein Sprachcode ist falsch. Diese beiden Fehler treten besonders häufig auf:

  • en-UK ist ungültig, denn der Ländercode für das Vereinigte Königreich lautet GB. Verwende en-GB.
  • en_US ist ungültig, denn bei Hreflang wird ein Bindestrich verwendet. Verwende en-US.

Sprachcodes basieren auf ISO 639-1; optional kann danach ein Ländercode nach ISO 3166-1 folgen, etwa de oder de-AT. Ein Land allein ist keine Sprache.

Eine URL ist relativ oder leer. Hreflang-URLs müssen absolut sein und https:// sowie die Domain enthalten. /de/preise reicht nicht aus.

Die Tags stehen im Body. Suchmaschinen lesen Hreflang-Links nur im <head>. Häufig schließt ein überflüssiger Tag oder ein Skript den Head vorzeitig, oder ein Theme gibt die Tags zu spät aus.

Eine Sprache verweist auf zwei verschiedene URLs. Für jede Sprache darf es pro Gruppe nur eine Adresse geben. Prüfe, ob zwei Systeme gleichzeitig Tags ausgeben, zum Beispiel ein Theme und ein Plugin.

Warnungen, die du bei Gelegenheit beheben solltest

Diese Fehler kosten dich nicht unbedingt etwas, lassen sich aber leicht beseitigen:

  • Kein x-default. Damit wird die Seite für Besucher angegeben, deren Sprache du nicht anbietest – oft deine Hauptsprache oder eine Sprachauswahl. Die Angabe ist optional, wird aber empfohlen.
  • <html lang> stimmt nicht überein. Eine als Deutsch gekennzeichnete Seite mit <html lang="en"> sendet widersprüchliche Signale. Meist ist eine Voreinstellung der Vorlage schuld, die niemand geändert hat.
  • Eine Sprachversion leitet weiter. Verlinke die endgültige Adresse, nicht eine URL, die dorthin weiterleitet. Üblicherweise liegt es an http://-Links oder daran, dass www fehlt.
  • Eine Sprachversion führt andere Sprachen auf. Eine Seite listet fünf Sprachen auf, ihre Übersetzung aber nur vier. Das ist oft ein Zeichen dafür, dass eine Sprache zu manchen Seiten hinzugefügt wurde, zu anderen jedoch nicht.
  • Für mehrere Sprachen ist dieselbe URL angegeben. Dass mehrere Länder dieselbe Seite verwenden, ist möglich (de-DE, de-AT). Wenn aber jede Sprache auf dieselbe Adresse verweist, sind die Übersetzungen meist gar keine eigenständigen Seiten.
  • HTML und HTTP-Header widersprechen sich. Entscheide dich für eine Methode und verwende sie konsequent.

So sieht eine korrekte Gruppe aus

Für eine Seite auf Englisch und Deutsch enthalten beide Seiten denselben Block in ihrem <head>:

<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="de" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />

Das Canonical der englischen Seite lautet https://example.com/pricing. Das Canonical der deutschen Seite lautet https://example.com/de/preise. Das ist alles: dieselbe Liste auf beiden Seiten, vollständige Adressen, gültige Codes und ein Canonical, das jeweils auf die eigene Seite verweist. Der Generator auf der Checker-Seite erstellt diesen Block und die passenden Sitemap-Einträge anhand deiner Sprach- und URL-Liste.

Behebe die Ursache, nicht die einzelne Seite

Bei einer Website jeder Größe sollte niemand Hreflang von Hand bearbeiten müssen. Wenn eine Prüfung fehlschlägt, finde heraus, wodurch die Tags ausgegeben werden:

  1. Ein Theme oder eine Vorlage. Eine Korrektur gilt für alle Seiten – das ist die gute Nachricht.
  2. Ein Plugin. Prüfe zuerst die Einstellungen und vergewissere dich, dass nicht auch ein zweites Plugin oder dein Theme Tags ausgibt.
  3. Ein Sitemap-Generator. Erstelle die Sitemap nach jeder Änderung an deinen Sprachen neu.
  4. Eine handgebaute Website. Erzeuge die Liste am besten aus einer zentralen Tabelle mit Seiten und Sprachen, damit eine neue Sprache nicht nur auf der Hälfte der Website verfügbar ist.

Führe die Prüfung anschließend erneut für dieselben zwei Seiten und zusätzlich für eine kürzlich hinzugefügte Seite aus. Bei neuen Seiten tritt das Problem besonders häufig wieder auf.

Erwarte nicht, dass sich die Suchergebnisse noch am selben Tag ändern. Suchmaschinen müssen die Seiten erst erneut crawlen. Außerdem ist Hreflang ein Signal und kein Befehl – korrekte Tags garantieren also nicht, welche Version bei jeder Suche angezeigt wird. Wenn die falsche Sprache danach weiterhin gut rankt, prüfe, ob die richtige Seite vollständige, hochwertige Inhalte bietet und ob deine anderen Seiten auf sie verweisen. Unser Leitfaden zum Hinzufügen einer zweiten Sprache behandelt die Einrichtung umfassender.

Wenn du dich lieber nicht mehr damit beschäftigen möchtest

Ich habe diese Funktion in FolioPress integriert, weil Hreflang für etwas, das im Hintergrund laufen sollte, ziemlich viele Regeln mit sich bringt. Jede Seite erhält automatisch ihre Tags – auf der Seite und in der Sitemap, mit Rückverweisen, x-default, selbstreferenzierenden Canonicals und einer übersetzten Adresse pro Sprache. Eine Seite führt nur Sprachen auf, für die es tatsächlich eine Version gibt. So wird eine fehlende Übersetzung nicht zum toten Link.

Das hilft allerdings nur, wenn du deine Website mit FolioPress erstellst. Hreflang auf einer Website, die du anderswo betreibst, wird dadurch nicht korrigiert. Wenn deine aktuelle Website ansonsten in Ordnung ist, ist die Anpassung der Vorlage die günstigere Lösung. Wenn ein Sprach-Plugin dieses Jahr bereits zum zweiten oder dritten Mal etwas kaputtgemacht hat, beginnen die Tarife bei 12 € pro Monat. Eine 30-tägige kostenlose Testphase ist inklusive (Preise).