Hreflang prüfen

Geben Sie die Adresse einer Seite ein, die es in mehreren Sprachen gibt. Wir lesen ihre hreflang-Zeilen, prüfen jeden Code und rufen dann jede alternative Version auf: Antwortet sie, darf sie indexiert werden und nennt sie diese Seite im Gegenzug?

Die Angaben werden pro Seite gelesen. Geben Sie also die Adresse der Seite selbst an, nicht nur die Domain. Die Startseite ist ein guter erster Test.

Oder probieren Sie www.mozilla.org/en-US/, wordpress.org

Eine Liste der Zwillinge, auf jedem Zwilling wiederholt

Gibt es dieselbe Seite auf Englisch, Deutsch und Japanisch, sieht eine Suchmaschine drei getrennte Seiten. Mit hreflang sagen Sie ihr, dass es eine Seite in drei Versionen ist. So bekommt ein Leser in Berlin die deutsche Adresse und nicht die englische. Jede Version trägt die vollständige Liste aller Versionen, sich selbst eingeschlossen:

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

Die Liste kann an drei Stellen stehen: im <head> der Seite, in einem Link-Antwort-Header oder in der XML-Sitemap. Diese Prüfung liest die ersten beiden. Sitemaps liest sie nicht. Eine Seite, für die hier keine Angabe auftaucht, kann dort also trotzdem erfasst sein.

Hreflang bestimmt, welche Version angezeigt wird. Am Ranking der Seite ändert es nichts. Suchmaschinen behandeln es als Hinweis und verwerfen es, sobald es widersprüchlich wirkt. Deshalb kosten kleine Fehler so viel.

So sieht ein gültiger Code aus

Ein Wert ist eine Sprache, optional gefolgt von einer Schrift und einem Land, verbunden mit Bindestrichen. Groß- und Kleinschreibung spielt keine Rolle.

TeilStandardBeispiele
Sprache (Pflicht)ISO 639-1, zwei Buchstabenen, de, ja, pt
Schrift (optional)ISO 15924, vier Buchstabenzh-Hans, zh-Hant, sr-Latn
Land (optional)ISO 3166-1, zwei Buchstabenen-GB, pt-BR, zh-Hant-TW

Das Land steht nie allein und nie an erster Stelle. Diese Fehler benennt die Prüfung, mit der Korrektur, wenn es nur eine mögliche gibt:

  • en-UK: Der ISO-Code des Vereinigten Königreichs ist GB.
  • en_US: ein Unterstrich, wie ihn Software-Locales schreiben. Hreflang verlangt en-US.
  • es-LA: wird als Spanisch für Laos gelesen. Google kennt keinen Code für Lateinamerika. Verwenden Sie also es oder eine Zeile pro Land.
  • jp, cn, cz, dk: Ländercodes, als Sprachen verwendet. Die Sprachen heißen ja, zh, cs, da.
  • en-EU, es-419, dreibuchstabige Codes wie eng und veraltete Codes wie iw für Hebräisch.

Die Ergebnistabelle schreibt jeden Code in Worten aus. So fallen die Fehler auf, die keine Regel erkennen kann, etwa uk: ein völlig gültiger Code, der Ukrainisch bedeutet.

Was auf der Seite selbst geprüft wird

  • Adressen. Jede Zeile braucht eine vollständige Adresse mit Schema und Host. Relative Adressen werden gemeldet.
  • Doppelte Zeilen und Konflikte. Dieselbe Zeile zweimal schadet nicht und wird als Anmerkung gemeldet. Ein Code für zwei verschiedene Adressen ist ein Fehler, denn niemand kann sagen, welche Seite die Version für diese Sprache ist.
  • Selbstreferenz. Die Seite muss in ihrer eigenen Liste stehen, mit ihrer exakten Adresse. Ein fehlender Schrägstrich am Ende genügt, damit sie nicht mehr übereinstimmt.
  • x-default. Die Version für Leser, deren Sprache nicht aufgeführt ist. Sie ist optional. Fehlt sie, gibt es einen Hinweis, aber keinen Fehler.
  • Canonical. Hreflang funktioniert nur zwischen kanonischen Seiten. Eine deutsche Seite, deren Canonical auf die englische Seite zeigt, sagt den Suchmaschinen, sie sollen die deutsche vergessen, und ihre hreflang-Zeilen gleich mit.
  • Das Attribut lang. Sagt <html lang> sv, während sich die Seite selbst als se aufführt, ist eines von beiden falsch.
  • Position. Zeilen, die außerhalb von <head> landen, oft weil ein verirrtes Element den Head zu früh schließt, ignoriert Google. Hier werden sie markiert.

Rückverweise, die Hälfte, die meistens fehlt

Eine Angabe zählt nur, wenn beide Seiten übereinstimmen. Sagt die englische Seite „meine deutsche Version ist dort“ und die deutsche Seite nicht „meine englische Version ist hier“, wird das Paar verworfen. Sobald wir Ihre Seite gelesen haben, fragt unser Server deshalb jede alternative Version einmal ab, ohne Weiterleitungen zu folgen, und meldet für jede:

Status
Sie muss mit 200 antworten. Eine Weiterleitung bedeutet, dass die Zeile eine Adresse nennt, die nicht die endgültige ist. Ein Fehler bedeutet, dass die Version nicht mehr existiert. Ein x-default, das weiterleitet, wird akzeptiert, denn genau das tut eine Sprachauswahl.
Indexierbar
Kein noindex in einem Robots-Meta-Tag oder einem X-Robots-Tag-Header.
Canonical auf sich selbst
Ihr Canonical, falls vorhanden, muss ihre eigene Adresse sein.
Verweist zurück
Ihr eigener Block muss Ihre Seite aufführen, unter demselben Code, den Ihre Seite für sich selbst verwendet.

Sind die Korrekturen rein mechanisch (ein falsch geschriebener Code, eine relative Adresse, eine doppelte Zeile, eine fehlende Zeile für die Seite selbst), endet das Ergebnis mit einem korrigierten Block zum Einfügen. Zeilen, bei denen Sie entscheiden müssen, bleiben unverändert und sind mit einem Kommentar markiert.

Eine Prüfung besucht höchstens 35 alternative Versionen und bricht nach etwa einer halben Minute ab. Die Tabelle markiert die übersprungenen. Angaben, die JavaScript schreibt, sehen wir nicht. Eine Website, die Besucher nach Standort weiterleitet, zeigt unserem Server womöglich etwas anderes als einem Crawler.

Häufige Fragen

Brauche ich hreflang, wenn meine Website nur eine Sprache hat?

Nein. Hreflang verknüpft Versionen derselben Seite miteinander. Bei einer einzigen Version gibt es nichts zu verknüpfen, und die Prüfung meldet „keine Angaben“ als neutrales Ergebnis.

Was ist x-default und ist es Pflicht?

Es ist die Zeile für alle, die Ihre anderen Zeilen nicht abdecken, etwa einen Leser, dessen Sprache Sie nicht anbieten. Meist zeigt sie auf die englische Version oder auf eine Seite, auf der der Besucher eine Sprache wählt. Empfohlen, aber nicht Pflicht.

Soll ich nur den Sprachcode verwenden oder das Land hinzufügen?

Verwenden Sie nur die Sprache (de), wenn eine Seite alle Sprecher dieser Sprache bedient. Fügen Sie das Land (de-AT, de-CH) nur hinzu, wenn Sie pro Land unterschiedliche Seiten veröffentlichen, zum Beispiel wegen Preisen oder Versand. Sie können beides kombinieren: Länderzeilen für die spezifischen Seiten und eine reine Sprachzeile als allgemeine.

Was bedeutet „kein Rückverweis“?

Ihre Seite nennt eine andere Version, aber diese Version nennt Ihre Seite nicht in ihrem eigenen hreflang-Block. Suchmaschinen ignorieren einseitige Angaben. Zur Behebung geben Sie auf jeder Version dieselbe vollständige Liste aus, idealerweise aus einer einzigen gemeinsamen Quelle.

Kann hreflang auf eine andere Domain zeigen?

Ja. example.com und example.de können Versionen voneinander sein, solange jede die andere und sich selbst aufführt. Es gelten dieselben Regeln wie innerhalb einer Domain.

Ersetzt hreflang das Canonical-Tag?

Nein. Beide erfüllen verschiedene Aufgaben und müssen zueinander passen. Das Canonical sagt, welche Adresse eine Seite unter ihren Duplikaten vertritt, und hreflang sagt, welche anderen Seiten ihre Übersetzungen sind. Jede Sprachversion sollte auf sich selbst kanonisch sein.