Mehrsprachige Onlineshops und das rel=“alternate“ hreflang=“x“ Attribut

geschrieben am in der Kategorie SEO von

Im April 2013 bereicherte Google die Online Welt mit einer kleinen aber feinen Funktionalität: um Webseiten gezielt auf die regionalen Bedürfnisse der Nutzer ausspielen zu können, wurde das Attribut mit der Sytanx rel=“alternate“ hreflang=“x“ eingeführt. Damit schuf Google eine weitere Schnittstelle zur Übermittlung wichtiger Daten.

Welche Funktion hat das rel=“alternate“ hreflang=“x“ Attribut?

Da Webseiten oft hinsichtlich der regionalen Zielgruppe unterschiedliche Inhalte ausspielen (Sprache, Währungen, rechtliche Grundlagen, …) muss Google einen Weg finden, die verschiedenen Seiteninhalte dem richtigen Publikum zuzuordnen. Kurz gesagt: Dem Nutzer sollen bei Verwendung der Suchfunktion hauptsächlich Webseiten dargeboten werden, deren Sprache und Inhalt auf die jeweilige Region ausgerichtet sind.

Durch interne Algorithmen kann Google teilweise die Inhalte ohne die Hilfe Dritter fehlerfrei zuordnen. Mit jenem Attribut gab aber Google auch den Webseitenbetreibern die Möglichkeit, Hinweise auf die Zielgruppe zu geben. Somit lässt sich über die Implementierung sicherstellen, dass für jedes Land oder Region die richtige Webseitenversion ausgespielt wird. Der Code-Schnipsel fungiert also als Kommunikations-Schnittstelle zwischen Suchmaschinen und Webseitenbetreibern.

An welcher Stelle muss das Attribut eingebaut werden?

Prinzipiell muss es auf jeder einzelnen URL, jeder „verknüpften“ Domain zu finden sein.  Das bedeutet: Auch wenn die anderssprachige Version einer Webseite auf einer separaten Domain untergebracht ist, sollte diese als Alternative Version gekennzeichnet werden, damit die Suchmaschinen die Zusammenhänge erkennen können und ggf. von der Bewertung des Inhaltes als Duplicate Content absehen. Zu empfehlen ist ganz klar der Einbau im Header Bereich, da sich so der Aufwand minimieren lässt.

Anwendung

Als erstes Beispiel soll eine dreisprachige Webseite dienen, deren regionale Inhalte unter den URLs

  • webseite.de (Währung €, Sprache Deutsch)
  • uk.webseite.de (Währung £, Sprache Englisch) bzw.
  • ch.webseite.de (Währung CHF, Sprache Deutsch)

erreichbar sind. Nun unterscheiden sich die Inhalte der deutschen und schweizerischen Webseite in diesem Bsp. nur minimal in der Währung. Dennoch soll der Schweizer Google-Nutzer die URL ch.webseite.de ausgeliefert bekommen, während der deutsche Nutzer von der Standard-Domain verzaubert werden soll. Dazu werden im Headerbereich jeder der 3 Webseiten die folgenden Einträge vorgenommen:

<head>

             …

             <link rel=“alternate“ hreflang=“x-default“ href=“http://webseite.de“>

             <link rel=“alternate“ hreflang=“de“ href=“http://webseite.de“>

             <link rel=“alternate“ hreflang=“en“ href=“http://uk.webseite.de“>

             <link rel=“alternate“ hreflang=“ch“ href=“http://ch.webseite.de“>

             …

</head>

Durch Auslesen dieser Informationen wissen dann die Suchmaschinen, dass Nutzer aus Deutschland die Adresse http:// webseite.de ausgespielt bekommen, Nutzer aus dem Vereinigten Königreich http://uk webseite.de und schweizer Nutzer die URL http://ch.webseite.de.

Alle anderen Nutzer, bei denen z.B. der Standort nicht erkannt werden kann oder für deren Region keine spezielle Version der Webseite existiert, wird die als Standard definierte Version http://webseite ausgeliefert.

Weitere Spezialisierungen

Neben der groben Unterscheidung nach Nationalität, kann man die Webseiten auch detaillierter mit Informationen ausstatten und so noch gezielter auf die Bedürfnisse der Nutzer eingehen. Google Hilfe gibt hier ein Beispiel für verschiedene Englischsprachige Inhalte. So lassen sich beispielsweise durch die korrekte Implementierung unterschiedliche Inhalte für Irland, Kanada und Australien ausspielen.
Die Umsetzung erfolgt durch die Definition einer Standardvariante für englischsprachige Nutzer, deren Standpunkt nicht einer der vordefinierten Varianten entspricht und den speziellen Versionen für englischsprachige Nutzer in Abhängigkeit von der regionalen Zuordnung.

Folgender Code ist auf jeder Unterseite zu implementieren:

<head>

             …

             <link rel=“alternate“ href=“http://webseite.de/en-ie“ hreflang=“en-ie“>

             <link rel=“alternate“ href=“http://webseite.de/en-ca“ hreflang=“en-ca“>

             <link rel=“alternate“ href=“http://webseite.de/en-ie“ hreflang=“en-au“>

             <link rel=“alternate“ href=“http://webseite.de/en“ hreflang=“en“>

             <link rel=“alternate“ href=“http://webseite.de“ hreflang=“x-default“>

              …

</head>

Bei dieser Deklaration erfolgt die Ausspielung der verschiedenen Versionen wie folgt:

Standort des Nutzers Angezeigte Version der Webseite
Irland http://webseite.de/en-ie
Kanada http://webseite.de/en-ca
Australien http://webseite.de/en-au
USA http://webseite.de/en
Deutschland http://webseite.de
China http://webseite.de

 

Verknüpft man nun beide Versionen zu einem Konstrukt, lassen sich die wildesten Zuordnungen vornehmen. 😉 Beispiel-Konfiguration:

<head>

             …

            <link rel=“alternate“ href=“http://webseite.de“ hreflang=“x-default“>

            <link rel=“alternate“ href=“http://webseite.de“ hreflang=“de“>

            <link rel=“alternate“ href=“http://webseite.de/ie“ hreflang=“en-ie“>

            <link rel=“alternate“ href=“http://webseite.de/ca“ hreflang=“en-ca“>

            <link rel=“alternate“ href=“http://webseite.de/au“ hreflang=“en-au“>

            <link rel=“alternate“ href=“http://webseite.de/en“ hreflang=“en“>

            <link rel=“alternate“ href=“http://webseite.de/hant“ hreflang=“zh-hant“>

            <link rel=“alternate“ href=“http://webseite.de/hans“ hreflang=“zh-hans“>

            …

</head>

Dieses Spiel ließe sich natürlich noch beliebig weitertreiben, in den meisten Fällen sollte es sich aber nicht lohnen, für jede der über 6.000 Sprachen der Welt eine gesonderte Version der Webseite zur Verfügung zu stellen.
Obenstehende Konfiguration spielt die Versionen der Webseite folgendermaßen aus:

Standort des Nutzers Angezeigte Version der Webseite
Irland http://webseite.de/ie
Kanada http://webseite.de/ca
Australien http://webseite.de/au
USA http://webseite.de/en
Deutschland http://webseite.de
China (mit traditionellem Schriftsystem) http://webseite.de/hant
China (mit vereinfachtem Schriftsystem) http://webseite.de/hans
Sonstige nicht englischsprachige Regionen http://webseite.de

 

Die Werte des Attributes hreflang ergeben sich übrigens aus den Formaten nach ISO 639-1. Die Erweiterungen auf Regionen werden durch die Kürzel nach ISO 3166-1 Alpha festgelegt. Daraus lassen sich z.B. auch für die deutschen Bundesländer unterschiedliche Website-Versionen ausspielen. Als Beispiele seien die Kürzel DE-SN (Sachsen) und DE-BE (Berlin) genannt. Eine Auflistung aller Codes für die Bundesländer findet sich hier.

Implementierung über HTTP-Header oder Sitemap

Bei der Implementierung des rel=“alternate“ hreflang=“x“ Attributes über HTTP-Header weicht die Syntax ein wenig ab. Die Inhalte sind jedoch die gleichen. Eine Zeile des Codeschnipsels hat dann das folgende Format:

Link:  <http://webseite.de/en-ie>;  rel=“alternate“; hreflang=“en-ie“

Man kann nun auch die entsprechenden Informationen direkt in der Sitemap einbauen. Das hat den Vorteil, dass man alle Informationen an einer Stelle der Webseite sammelt. Wählt man allerdings diese Version, so muss sichergestellt sein, dass die Sitemap für alle wichtigen Suchmaschinencrawler zugänglich ist (Eintrag in der robots.txt, Hinterlegen in den Webmastertools).

Man kann dann in der Sitemap für jede URL zusätzlich noch die „anderssprachigen Alternativen“ hinterlegen. Das ganze sieht in der Praxis dann so aus:

Beispiel für eine multilinguale Sitemap

Angemerkt sei, dass in der Sitemap ebenfalls für jede URL die Alternativen hinterlegt werden müssen. Deshalb wird zwar nicht die Anzahl der Einträge in der Sitemap erhöht (welche 50.000 nicht überschreiten darf), allerdings wird durch die Informationsmenge die Größe der Sitemap (welche 50 MB nicht überschreiten darf) beeinflusst. Man sollte also darauf achten, dass die Sitemap nicht zu groß wird. Notfalls kann man eine zweite Sitemap anlegen und alle Sitemaps in der Indexdatei zusammenfassen und an die Suchmaschinencrawler übergeben.

Beachte: Google gibt hier zwar ein Codebeispiel, dieses funktioniert allerdings nicht, da der Namespace für XHTML falsch definiert wurde.  Der korrekte Namespace ist wie im obigen Beispiel http://www.w3.org/TR/xhtml11/xhtml11_schema.html.

Es ist ausreichend, eine solche Sitemap mit den Standard-URLs (hier: http://webseite.de) als „Basiseintrag“ und deren Alternativen anzulegen, da der Crawler dann bereits aus dieser Sitemap heraus auf die anderssprachigen Versionen stößt. Das heißt, es muss keine gesonderte XML Sitemap für die anderssprachigen Versionen hinterlegt werden, wenn diese Version korrekt angelegt wurde.

Fazit

Mit diesem Attribut stellt uns Google eine einfache Kommunikationsmöglichkeit zur Verfügung, mit der sich Nutzer individueller ansprechen lassen. Natürlich darf der Aufwand nicht verkannt werden. Bevor man zig Versionen einer Webseite erschafft, sollte man sich natürlich sicher sein, dass auch genügend Ressourcen vorhanden sind, um alles lückenlos zu implementieren.

Stefan ist seit November 2011 Teil des Projecter-Teams. Mit seinem Interesse an der „Maschine“ Internet ist er dort auch gut aufgehoben. Stefan ist ursprünglich als Werkstudent auf der Suche nach Praxiserfahrung zu Projecter gekommen und hat im Oktober 2011 sein Bachelor-Studium der Angewandten Mathematik abgeschlossen. Nach Traineeship und vier Jahren als Account Manager leitet Stefan seit Februar 2016 den Affiliate Kanal und das Analytics Team.

Einen Kommentar schreiben

* Pflichtfelder