So funktioniert es
Gibt es eine Seite auf Deutsch und Englisch, sind das für Suchmaschinen zwei getrennte Seiten. hreflang-Links im Kopf jeder Fassung sagen, dass sie zusammengehören und welche für welche Sprache gilt:
<link rel="alternate" hreflang="de" href="https://www.beispiel.de/de/">
<link rel="alternate" hreflang="en" href="https://www.beispiel.de/en/">
<link rel="alternate" hreflang="x-default" href="https://www.beispiel.de/">
Sucht jemand auf Englisch, zeigt Google dann die englische Fassung, auch wenn die deutsche stärker verlinkt ist. x-default nennt die Fassung für alle anderen Sprachen, oft eine Sprachauswahl oder die Hauptsprache.
Hat deine Website nur eine Sprache, brauchst du kein hreflang. Die Sprache der Seite selbst steht im lang-Attribut, siehe Was das lang-Attribut macht.
Worauf es ankommt
- Gegenseitig. Jede Fassung nennt alle anderen und sich selbst. Fehlt der Rückverweis, ignoriert Google die Angabe.
- Mit x-default. Ohne sie bleibt offen, was Nutzer anderer Sprachen sehen. bytereport weist darauf hin, wenn sie fehlt.
- Richtige Codes. Die Sprache nach ISO 639-1 (
de,en,fr), auf Wunsch mit Land nach ISO 3166-1 (de-AT,en-GB). Ein Land allein ist kein gültiger Wert, und Großbritannien heißtGB:en-UKist falsch,en-GBrichtig. - Volle, kanonische Adressen. Jeder Link zeigt mit
https://auf eine Seite, die mit Status 200 antwortet und auf sich selbst als Canonical verweist. - Entsprechende Seiten. Die englische Fassung einer Leistungsseite verweist auf die deutsche Leistungsseite, nicht auf die deutsche Startseite.
So richtest du es ein
Mehrsprachige CMS und Übersetzungs-Plugins setzen die Links selbst, sobald du die Übersetzungen einer Seite miteinander verknüpft hast. Prüfe im Quelltext, ob x-default dabei ist; manche Plugins haben dafür eine eigene Einstellung.
Ohne CMS gehören die Links in den <head> jeder Sprachfassung, bei allen Fassungen dieselbe Liste. Alternativ lassen sich die Verweise auch in der XML-Sitemap angeben, was bei vielen Seiten und Sprachen übersichtlicher ist. Die Prüfung von bytereport liest nur die Links im Kopf der Startseite.