hreflang – DC länderübergreifend vermeiden.

Vor einiger Zeit wurde ich relativ beiläufig auf die Lösung dieses Problems hingewiesen. Ich wurde zuvor noch nicht damit konfrontiert und bin schlicht davon ausgegangen, dass diese die reguläre Vorgehensweise ist. Seither musste ich feststellen, dass dieses Problem wohl verbreiteter ist, als ich zuvor angenommen hatte. Genau genommen habe ich die verrücktesten Lösungsansätze gehört, wobei die Lösung nicht einfacher sein könnte. Aus diesem Grund dachte ich mir, dass dieses Thema einen kurzen Beitrag wert ist.

Also ein Beispiel:

  • Wir haben eine Webseite die international gefunden werden soll.
  • Für alle Länder existieren entweder Verzeichnisse /de /fr /en … ,unterschiedliche Top-Level Domains .de .fr .en … oder Subdomains de. fr. en. …
  • Zu den unterschiedlichen Ländern zählen neben .de auch .at und .ch. Da hier eine Übersetzung nicht notwendig ist, sind die Inhalte gleich, wir haben also Duplicate Content (DC)

Dieses Problem ist eigentlich weit verbreitet, weshalb man eine Lösung dazu auch in den Content guidelines von Google findet.

„Man muss nicht alles wissen, solange man weiß wo man nachschlagen kann.“

Der entsprechende Tag lautet: rel="alternate" hreflang="".

Zurück zu unserer Webseite.

Den bereits erwähnten DC können wir zumindest bei größeren Webseiten nicht verhindern, weshalb man im Prinzip hier um den hreflang-Tag nicht herum kommt. Da unsere deutschsprachigen URL’s im Grunde den gleichen Content liefern, wird mit dem canonical-Tag zunächst die favorisierte Content Version gewählt. Diese ist natürlich bei jeder Sprache eine andere. In unserem Fall ist das die .de Domain. Nun wird für jede weitere Seite die regionsbezogene Alternative angegeben.

Konkret sieht das so aus:

URL: www.beispiel.de

[php] <head>
<link rel=“canonical“ href=“http://www.beispiel.de“ />

<link rel=“alternate“ hreflang=“de“ href=“http://www.beispiel.de“ />
<link rel=“alternate“ hreflang=“de-ch“ href=“http://www.beispiel.ch“ />
<link rel=“alternate“ hreflang=“de-at“ href=“http://www.beispiel.at“ />
<link rel=“alternate“ hreflang=“fr“ href=“http://www.beispiel.fr“ />
<link rel=“alternate“ hreflang=“en-us“ href=“http://www.beispiel.com“ />

</head>
[/php]

Dies funktioniert nicht nur bei unterschiedlichen Top-Level Domains. Im Prinzip kann man Google hier jede URL angeben.

Hier einige Beispiele:

[php] <link rel=“alternate“ hreflang=“de“ href=“http://www.beispiel.de“ />
<link rel=“alternate“ hreflang=“de“ href=“ http://de.beispiel.com“ />
<link rel=“alternate“ hreflang=“de“ href=“http://www.beispiel.com/de“ />
[/php]

Durch rel=“alternate“ wird angegeben, dass eine alternative URL folgt. Der Wert den man dem Attribut „hreflang“ zuweist gibt die Sprache und bei Bedarf die Region der alternativen URL an. Über „href“ wird diese nun angegeben.

Google können wir durch diese alternativen sehr genau sagen, welche Seite in welchem Land angezeigt werden soll. Das ist für eine internationale Optimierung ein echter Mehrwert.

Das Thema kann man auch beliebig weiterspinnen. Der Tag für eine alternative Seite mit französischem Content in der Schweiz sähe beispielsweise so aus:

[php] <link rel=“alternate“ hreflang=“fr-ch“ href=“http://www.beispiel.ch/fr“ />
[/php]

Welchen Nutzen hat das? Hier könnte man zum Beispiel einen Shop mit französischem Content anbieten, der dennoch Schweizer Franken als Währung verwendet. Zudem Rankt in diesem Fall mit französischen Begriffen die .ch/fr Domain natürlich auch deutlich besser als eine ähnlich starke .fr Domain in der Schweiz.