Duplicate Content trotz mehrsprachiger Templates verhindern

Mittwoch, 6. Oktober 2010

Wenn ihr eine internationale Website habt, die Seiten enthält, auf denen
  • eine Vorlage (Template), wie beispielsweise Navigation oder Fußzeile, automatisch in verschiedene Sprachen übersetzt wird,
  • der Haupt-Content aber unverändert bleibt, was zu vielen Seiten mit Duplicate Content führt,
und Suchergebnisse Nutzer manchmal zur falschen Sprache führen, möchten wir euch gerne dabei helfen, eure Website besser für euer internationales oder mehrsprachiges Zielpublikum zugänglich zu machen. Und zwar dadurch:

<link rel=”alternate” hreflang="a-different-language" href="https://url-of-the-different-language-page" />

Wie ihr ja wisst, können wir beim Sammeln von Informationen von duplizierten URLs, wie beispielsweise bei der Zusammenführung ihrer Links, präziser vorgehen, wenn das Tag rel=”canonical” oder ein Antwortcode des Typs 301 korrekt implementiert ist. Wenn nun das Tag rel=”alternate” hreflang=”x” zusammen mit dem Tag rel=”canonical” oder einem 301 implementiert ist, sind nicht nur die Indexierungs- und Verlinkungseigenschaften präziser, sondern wir können Nutzern auch besser die URL ihrer bevorzugten Sprache bereitstellen.

Beispielkonfiguration für rel=”alternate” hreflang=”x”

Wie funktioniert das alles? Stellt euch vor, ihr seid stolzer Besitzer von example.com, einer Website namens "The Network", auf der Nutzer ihre eigenen Profile erstellen können. Nehmen wir einmal an, Javier Lopez, ein spanischsprachiger Nutzer, erstellt seine Seite auf https://es.example.com/javier-lopez:



Sobald Javier auf "Veröffentlichen" klickt, wird sein Profil durch die übersetzten Vorlagen (Templates) sofort in anderen Sprachen zur Verfügung gestellt, da die Website ja ein internationales Zielpublikum erreichen will. Zudem wird jede der neuen Sprachversionen auf einer anderen URL bereitgestellt.


Zwei lokalisierte Versionen, https://en.example.com/javier-lopez auf Englisch und https://fr.example.com/javier-lopez auf Französisch


Hintergrund des alten Problems: duplizierter Content aufgrund von Sprachvarianten

Durch die obige Konfiguration konnten anderssprachige Besucher den Content leichter verstehen. Für Suchmaschinen war sie jedoch etwas problematisch: Es gibt drei URLs für denselben Haupt-Content in Javiers Profil, jeweils eine für die englische, französische und spanische Version. Webmaster wollten vermeiden, dass aufgrund von Duplicate Content Probleme wie beispielsweise eine Beeinträchtigung der PageRanks auftreten und dennoch erreichen, dass wir Nutzern die richtige Version bereitstellen.

Eine neue Lösung für lokalisierte Vorlagen

Zunächst einmal möchten wir deutlich darauf hinweisen, dass die von uns vorgeschlagene Strategie nicht für mehrsprachige Websites geeignet ist, auf denen der Content jeder Seite komplett übersetzt wird. Unser Verbesserungsvorschlag bezieht sich auf den konkreten Fall, dass Vorlagen lokalisiert werden, der Haupt-Content der Seite jedoch in den verschiedenen Sprach-/Ländervarianten dupliziert wird und identisch bleibt.

Bevor wir zu den einzelnen Schritten kommen, raten wir euch noch einmal,
  • jeweils eine URL für einen bestimmten Content zu verwenden. Wir raten davon ab, die gleiche URL für mehrere Sprachen zu verwenden. Beispielsweise sollten die französische und englische Version nicht beide - je nach Nutzerinformationen wie IP-Adresse oder Accept-Language-HTTP-Header - auf example.com/page.html, bereitgestellt werden.
  • Wenn mehrere Sprachen im Spiel sind, ist es das Beste, eine Angabe der Sprache oder des Landes in die URL zu integrieren. Anstatt example.com/welcome.html und example.com/accueil.html, die keine ausdrückliche Angabe des Landes bzw. der Sprache enthalten, solltet ihr also example.com/en/welcome.html und example.com/fr/accueil.html verwenden, bei denen "en" und "fr" angegeben sind. Weitere Vorschläge findet ihr in unseren Blogposts zu den Themen Lokalisierte URLs erstellen und Mehrsprachige Websites .

Jetzt aber zum neuen Feature:

Schritt 1: Wählt das korrekte kanonische Tag.
Das kanonische Tag bestimmt die Version eures Contents, von der ihr möchtet, dass sie indexiert und Nutzern als Ergebnis geliefert werden soll.

Damit der richtige Content indexierbar gemacht wird, müsst ihr als ersten Schritt eine kanonische URL wählen, die das Ursprungsland oder die Ursprungssprache des Haupt-Contents der Seite am besten wiedergibt. Im obigen Beispiel, in dem Javier als spanischsprachiger Nutzer sein Profil auf es.example.com erstellt hat, ist https://es.example.com/javier-lopez die logische kanonische URL. Titel und Snippet werden in allen lokalisierten Versionen aus der kanonischen URL ausgewählt.

Nachdem ihr die kanonische URL ausgewählt habt, habt ihr folgende Möglichkeiten:


A. Eine 301-Weiterleitung (dauerhafte Weiterleitung) von den Sprachvarianten zur kanonischen URL

Wenn beispielsweise ein französischsprachiger Nutzer die Seite fr.example.com/javier-lopez, also nicht die kanonische URL, besucht, könnt ihr auf dieser Seite ein Cookie hinterlegen, das sich die vom Nutzer präferierte Sprache, also Französisch, merkt. Dann richtet ihr eine permanente Weiterleitung von fr.example.com/javier-lopez zur kanonischen URL es.example.com/javier-lopez ein. Dank des Cookies wird die Vorlage der Seite es.example.com/javier-lopez in der französischen Version angezeigt, obwohl sie sich eigentlich auf der Subdomain es.example.com befindet. Genauso würde en.example.com/javier-lopez den Wert des Cookies auf Englisch setzen und dann würde eine 301-Weiterleitung auf es.example.com/javier-lopez erfolgen.

Es kann auch hilfreich sein, einen Link zur Sprachauswahl bereitzustellen, für den Fall, dass ein mehrsprachiger Nutzer eure Seite auch in anderen Sprachen ansehen möchte.


B. Verwendung von rel=”canonical”

Für die anderen Sprachvarianten fügt ihr ein link rel=”canonical”-Tag ein, das auf eure ausgewählte kanonische URL verweist. Da in unserem Beispiel die kanonische URL für Javiers Profil die spanische Version ist, würden die englische und französische Seite, optional auch die spanische Seite, jeweils <link rel=”canonical” href="https://es.example.com/javier-lopez" /> enthalten.

Bei dieser Option werden keine Cookies verwendet. Deshalb würde einem französischsprachigen Nutzer die Seite es.example.com/javier-lopez mit spanischen Vorlagen angezeigt werden. Fahrt mit Schritt 2 fort, wenn ihr möchtet, dass den französischsprachigen Nutzern die französische Version auf fr.example.com/javier-lopez in den Google-Suchergebnissen präsentiert wird.

Schritt 2: Gebt in der kanonischen URL über das Link-Tag rel=”alternate” mit dem Attribut hreflang die verschiedenen Sprachversionen an.

rel=”alternate”-URLs können in Suchergebnissen entsprechend der Sprachpräferenz des Nutzers angezeigt werden. Titel und Snippet werden jedoch, wie es bei rel=”canonical” üblich ist, weiter aus der kanonischen URL erstellt und nicht aus dem Content einer der rel=”alternate”-URLs.

Ihr könnt Google dabei helfen, unseren internationalen Nutzern die korrekt lokalisierte Variante eurer URL anzuzeigen, indem ihr der ausgewählten kanonischen URL, https://es.example.com/javier-lopez, folgende Tags hinzufügt:

<link rel=”alternate” hreflang="en" href="https://en.example.com/javier-lopez" />

<link rel=”alternate” hreflang="fr" href="https://fr.example.com/javier-lopez" />

rel=”alternate” zeigt an, dass die URL eine Alternativversion beinhaltet, die sich beim URI des href-Werts befindet. hreflang gibt den Sprachcode der alternativen URL an und kann mit ISO-639 spezifiziert werden.

Beachtet bitte: Wenn eure Website viele Sprachen unterstützt und ihr euch Sorgen macht, dass eure Datei zu groß wird, weil ihr so viele rel=”alternate”-URLs angebt, dann lest euch den Artikel zum Thema rel=”alternate”-Konfiguration mit Dateigrößenbeschränkungen in unserer Hilfe durch.

Nachdem ihr diese Schritte ausgeführt habt, sollte die Konfiguration auf "The Network" so aussehen:

https://en.example.com/javier-lopez
entweder 301-Weiterleitung mit einem Sprachcookie oder enthält <link rel=”canonical” href=”https://es.example.com/javier-lopez” />

https://fr.example.com/javier-lopez
entweder 301-Weiterleitung mit einem Sprachcookie oder enthält <link rel=”canonical” href=”https://es.example.com/javier-lopez” />

https://es.example.com/javier-lopez
ist die kanonische URL und enthält
<link rel=”alternate” hreflang="en" href="https://en.example.com/javier-lopez" />
und
<link rel=”alternate” hreflang="fr" href="https://fr.example.com/javier-lopez" />

Ergebnisse der obigen Implementierung
  • Wenn euer Content in Suchergebnissen auftaucht, sehen Nutzer wahrscheinlich die URL, die ihrer Sprachpräferenz entspricht, egal, ob es sich dabei um die kanonische URL handelt oder nicht. Super, oder? Dies wird dadurch ermöglicht, dass wir bei rel=”canonical” oder einer 301-Weiterleitung die Sprachvariationen mit der kanonischen URL sammeln können. Mit rel=”alternate” hreflang=”x” können wir dem Nutzer die seiner Sprache am besten entsprechende URL bereitstellen: für englischsprachige Nutzer wäre das en.example.com/javier-lopez als Ergebnis für die URL in Javiers Profil, für französischsprachige Nutzer fr.example.com/javier-lopez, und für spanischsprachige Nutzer es.example.com/javier-lopez.
  • Schritt 1 macht in Suchergebnissen nur den Content der kanonischen Version für Nutzer verfügbar. Der Content der duplizierten Versionen kann also nicht über Suchmaschinen gefunden werden. Da es sich bei der spanischen Version es.example.com/javier-lopez um die kanonische Version handelt, können Suchanfragen - mit beliebiger Sprachpräferenz -, die Content aus den Vorlagen dieser Seite wie beispielsweise [Javier Lopez familia] enthalten, das Profil von Javier als Ergebnis liefern, da es sich bei seinem Profil um Content der kanonischen Version handelt. Bei Suchanfragen, die Content aus den Vorlagen einer "duplizierten" Version enthalten, wie beispielsweise [Javier Lopez family], ist die Wahrscheinlichkeit, dass Javiers Profil gefunden wird, jedoch geringer. Wenn ihr möchtet, dass die Versionen für die anderen Sprachen separat indexiert werden und über Google gefunden werden können, solltet ihr rel=”canonical” und rel=”alternate” nicht verwenden.
  • Indexierungseigenschaften wie Link-Informationen der duplizierten Sprachvarianten werden mit der kanonischen Seite zusammengeführt.

Noch mal kurz und schmerzlos zusammengefasst:

Für Websites, deren Vorlagen lokalisiert werden, deren Haupt-Content jedoch unübersetzt bleibt:

Schritt 1: Nachdem ihr die kanonische URL ausgewählt habt, könnt ihr entweder rel=”canonical” oder eine dauerhafte Weiterleitung 301 von den verschiedenen lokalisierten Seiten auf die kanonische URL verwenden.

Schritt 2: Gebt auf der kanonischen URL über das Link-Tag rel=”alternate” mit dem Attribut hreflang den sprachspezifischen duplizierten Content mit verschiedenen Vorlagen an. Google kann unseren internationalen Nutzern dann die korrekt lokalisierten Varianten eurer URLs anzeigen.

Das ist alles etwas kompliziert. Wenn ihr also Fragen habt, stellt sie ruhig in unserem Webmaster-Forum !

Unifying content under multilingual templates (English version)

Post von Surabhi Gupta, Joachim Kupke und Jayesh Vyas, Search Localization Team und Indexing Team (Veröffentlicht von Jörg Pacher, Search Quality Team)