Hreflang

Sprach- und Indexsteuerung mit dem „hreflang“-Attribut

In der Suchmaschinenoptimierung gilt: Webseiten, vor allem mehrsprachige, sollten immer in den korrekten Landesindizes ausgespielt werden, wofür sie auch gedacht sind. Das kann ganz unterschiedliche Gründe haben. Zuerst ist die Sprache der Texte wichtig. Wenn Ihre Webseite in drei Sprachen (deutsch, englisch und italienisch) zur Verfügung steht, dann sollte beispielsweise nicht die italienische Version im deutschsprachigen Raum ausgeliefert werden.

Es wäre ja auch ungünstig, wenn sich die Ihre Sprachversionen gegenseitig Konkurrenz machten.

Es gibt auch nicht-sprachliche Gründe Landesversionen nur in dem jeweiligen Land auszuspielen (Lieferbedingungen, Versandkosten, Steuern etc.).

Dafür gibt es eine Lösung: das sogenannte „hreflang“-Attribut.

Was ist und wie funktioniert hreflang?

Zuerst der Quellcode als Beispiel, damit man sich ein Bild machen kann.

<link rel="alternate"
     href="http://www. domain.com/de/" hreflang="de" >
<link rel="alternate"
     href="http://www. domain.com/en/" hreflang="en" >
<link rel="alternate"
     href="http://www. domain.com/it/" hreflang="it" >
<link rel="alternate" hreflang="x-default"     href="http://www. domain.com/en/" />

Ihre Webseite hat also die Domain www.domain.com und die jeweiligen Sprachverzeichnisse „de“, „en“ & „it“. Der Einfachheit halber nehmen wir an, dass jede Seite Ihrer Domain auch eine italienische und englische Entsprechung hat (Zu den Ausnahmen kommen wir später).

Der obenstehende Code besagt also, dass Verzeichnis „de“ in deutschsprachigen Suchmaschinenindizes ausgespielt werden soll. Also beispielsweise in Deutschland, Österreich und auch in Teilen der Schweiz. Dies gilt analog auch für die beiden anderen Versionen. Das besagen die ersten drei Zeilen des Code-Blocks.

Die vierte Zeile besagt, dass Sie wünschen, dass in allen nicht passenden Indizes die englische Webseitenversion ausgespielt werden soll, also beispielsweise in Frankreich oder Spanien.

Der erste mögliche Einwand könnte sein, dass es in der Schweiz auch Italienisch gesprochen wird. Dann kann man den Codeblock wie folgt erweitern.

<link rel="alternate"
     href="http://www. domain.com/de/" hreflang="de" >
<link rel="alternate"
     href="http://www. domain.com/en/" hreflang="en" >
<link rel="alternate"
     href="http://www. domain.com/it/" hreflang="it" >
<link rel="alternate"
     href="http://www. domain.com/it/" hreflang="it-ch" >
<link rel="alternate" hreflang="x-default"     href="http://www. domain.com/en/" />

Die markierte Zeile weist die Suchmaschine an, die italienische Seite auch in der italienischsprachigen Schweiz auszuliefern (Vorausgesetzt Lieferbedingungen und Ähnliches lassen dies zu).

Wie funktioniert der Code schematisch?

Das Link-Tag führt zwingend das Attribut „rel“ mit dem Wert „alternate“. Darauf folgt die Hyperreferenz mit der jeweiligen URL. Hierbei wird es sich je nach Seiten-Adresse um die korrekte URL handeln. Das Beispiel oben zeigt die Variante für Ihre Startseite. Das hreflang-Attribut beinhaltet wahlweise nur die Sprache oder Sprache gefolgt vom Land. Hierzu beschaffen Sie sich die korrekten Codes bei Wikipedia (s.u.):

Ausnahme ist die „Fall-back-Version“ – hier wird in der Sprach-Definition „x-default“ verwendet. Dies signalisiert der Suchmaschine, dass diese Version ausgespielt werden soll, wenn keine passende zu finden ist.

Wenn Sie also ganz genau vorgehen wollen, dann können Sie den Code wie folgt formulieren:

<link rel="alternate"
     href="http://www. domain.com/de/" hreflang="de-de" >
<link rel="alternate"
     href="http://www. domain.com/de/" hreflang="de-at" >

<link rel="alternate"
     href="http://www. domain.com/de/" hreflang="de-ch" >
<link rel="alternate"
     href="http://www. domain.com/en/" hreflang="en" >
<link rel="alternate"
     href="http://www. domain.com/it/" hreflang="it-it" >
<link rel="alternate"
     href="http://www. domain.com/it/" hreflang="it-ch" >
<link rel="alternate" hreflang="x-default"     href="http://www. domain.com/en/" />

Folge: Ihre Domain wird wie folgt ausgespielt:

  • In Deutschland = deutsch
  • In Österreich = deutsch
  • In der deutschsprachigen Schweiz = deutsch
  • In der italienischsprachigen Schweiz = italienisch
  • In der französischen Schweiz = englisch (siehe x-default)
  • In Italien = italienisch
  • In englischsprachigen Ländern = englisch
  • Und wegen x-default im Rest der Welt ebenfalls in englisch

Das war nicht so schwer, doch SEO wäre nicht SEO, wenn es nicht noch andere Dinge zu berücksichtigen gäbe.

Was muss beim Einsatz des hreflang berücksichtigt werden?

Hreflang und Index/Noindex

Ein hreflang-Attribut ist ähnlich wie ein Link zu verstehen. Demnach darf ein hreflang nur auf ein Ziel verweisen, welches auch existent ist. Beim hreflang wird aber zusätzlich gesagt, dass die Zielseite im Index aufgenommen werden soll, was das „noindex“ ausschließt. Dies führt zu widersprüchlichen Signalen.

Wenn also beispielsweise die italienische Seite (warum auch immer) auf noindex steht, dann muss auf den beiden anderen Versionen der Verweis auf diese Version/URL ersatzlos gestrichen werden.

Beispiel: www.domain.com/de/schuhe/ verweist auf www.domain.com/en/shoes/ und umgekehrt = richtig. Doch die www.domain.com/it/scarpe/ wäre auf noindex. Dann darf es von DE und EN keine Verweise geben und der hreflang-Block auf der IT-Version sollte komplett entfallen (dies wäre das sauberste Signal).

Hreflang und Canonical

Wenn die drei Schuhseiten Ihrer Domain alle auf index stehen und das jeweilige Canonical auf sie selber verweist (selbst referenzierend), dann können Sie das hreflang so einsetzen wie weiter oben beschrieben.

Nehmen wir aber an, die deutsche Version der Schuhe-URL verweist via Canonical auf die www.domain.com/de/schuhshop/, dann muss dies berücksichtigt werden.

  1. domain.com/de/schuhe/ erhält kein hreflang und keinen Verweis der anderen URLs, da es ein Canonical auf www.domain.com/de/schuhshop/ aufweist.
  2. domain.com/de/schuhshop/ erhält das hreflang auf IT & EN (www.domain.com/it/scarpe/ & www.domain.com/en/shoes/)
  3. IT und EN verfügen auch über ein hreflang-Block
    1. Hreflang auf EN, IT und auf DE, aber hier auf „schuhshop“ und nicht auf „schuhe“.
  4. DE „schuhshop“ verweist auf „shoes“ und „scarpe“

Im Grunde ist es viel einfacher als es zunächst erscheinen mag, da jede der drei URLs immer den identischen Block erhält, nur dass die deutsche Version durch www.domain.com/de/schuhshop/ ausgetauscht wird.

Ausnahmen und Besonderheiten beim Einsatz des hreflang-Attributs

Weiter oben haben wir ja angenommen, dass alle drei Sprachversionen inhaltlich und strukturell deckungsgleich sind. Bei der Canonical-Problematik haben wir die erste „Ausnahme“ schon leicht gestreift.

Nehmen wir also nun an, Ihr Shop hätte in Italien keine Männerschuhe. Das komplette Verzeichnis fehlt. Dann verweisen Version DE & EN nur auf sich selbst und der Verweis auf Version Italien wird ersatzlos gestrichen. Denn ein Verweis aus dem hreflang auf nicht vorhandene Seiten erzeugen 404-Fehler, was schlecht für das Crawling und folglich schlecht für die Bewertung Ihrer Domain ist.

Problematischer wird es, wenn Seiten der Default-Sprache (x-default) fehlen. Hier wäre es die englische Seite. Nimmt man das obige Beispiel für die englische Version, dann müssten Sie wohl oder übel für die betreffenden Seiten auch das x-default ändern. Hier müssten Sie dann beispielsweise die deutschen Entsprechungen als Default einsetzen. – Unsere Empfehlung wäre, diesen Fall anderweitig zu fixen. Beispielsweise mit englischen Entsprechungen, die dann offen kommunizieren, dass diese Sortimente nur in DE und IT zu bekommen wären. Elegant wäre das nicht, doch eine wirklich saubere Lösung für diesen Fall gibt es nicht.

Domainübergreifender Einsatz von hreflang-Attributen

Eine wichtige Bemerkung zum Schluss: Der Einsatz von hreflang kann durchaus über diverse Domains erfolgen. Oben sind wir davon ausgegangen, dass Ihr Shop Domain.com heißt. Aber nehmen wir an, die drei Shops wären über abweichende Domains zu erreichen, dann können Sie das hreflang analog zu dem Beispiel ganz oben einsetzen.

Annahme:

  • Der deutsche Shop heißt: schuhshop.de
  • Der englische Shop heißt: shoes-4-u.com
  • Der italienische Shop heißt: scarpa-moderna.it

Dann würde der hreflang-Block für die Startseite(n) wie folgt lauten:

<link rel="alternate"
     href="http://www. schuhshop.de/" hreflang="de" >
<link rel="alternate"
     href="http://www. shoes-4-u.com/" hreflang="en" >
<link rel="alternate"
     href="http://www. scarpa-moderna.it/" hreflang="it" >
<link rel="alternate" hreflang="x-default"     href="http://www. shoes-4-u.com/" />

In dem Falle, dass nur die Domains unterschiedlich lauten, können Sie alles umsetzen wie oben beschrieben.

Problematisch ist es, wenn die drei Shops einander nicht kennen. Das will besagen, dass es unterschiedliche Shop-Systeme auf unterschiedlichen Servern sind. So kann der eine Shop nicht „wissen“ wenn im anderen eine URL abgeschaltet wird. Das kann sehr aufwendig und kitzlig werden, da alle hreflang-Anweisungen manuell vorgenommen werden müssten. In diesem Fall sollten Sie sich mit Ihrer Entwicklungsabteilung zusammensetzen und nach einer Lösung suchen.

Richtig problematisch wird es, wenn die drei Shops unterschiedlich aufgebaut sind. Also wenn die Damenschuhe in einer ganz anderen Navigationsstruktur hängen als in den anderen Shops.

In diesem Fall sollte folgende Lösung anstreben:

  1. Sie lassen alles so und sehen zu, dass sich die Shops soweit unterscheiden, dass sie von der Suchmaschine als jeweilige einzelne Landesshops gewertet werden. Das scheint der geringere Aufwand. Aber die Pflege ist sehr intensiv. In diesem Fall könnten Sie aber auf den Einsatz des hreflang-Attributs grundsätzlich verzichten.
  2. Oder Sie legen in einem Relaunch die Shops unter Beibehaltung der Domainnamen zusammen und vereinheitlichen die Shopstruktur zu einer einzigen. Das hat auch langfristig den Vorteil einfacherer zentralerer Pflege und einfacherer Wartung. – Dann müssten Sie wieder das hreflang einsetzen (s.o.).
  • Das komplette Angebot zu den SEO-Leistungen bei Rheinwunder finden Sie hier.
  • Sie möchten Ihr Index-Management verbessern und brauchen Unterstützung, dann schreiben Sie uns eine E-Mail oder rufen uns an: +49 228 243 313 53
  • Sie wollen mehr erfahren oder Ihr Team schulen lassen, dann schauen Sie mal bei unseren SEO-Seminaren.
Weitere Artikel: