Google über lokalisierte Versionen deiner Seite informieren

Wenn mehrere Versionen einer Seite für verschiedene Sprachen oder Regionen existieren, informiere Google darüber. Dadurch führt die Google-Suche Nutzer zu der Version deiner Seite mit der passenden Sprache oder Region.

Beachte, dass Google auch dann andere Sprachversionen deiner Seite finden kann, wenn du uns nicht informierst. Das beste Ergebnis wird jedoch erzielt, wenn du Seiten in bestimmten Sprachen oder für bestimmte Regionen angibst.

Hier sind einige Beispiele für Situationen, in denen wir empfehlen, alternative Seiten anzugeben:

  • Du belässt die wesentlichen Inhalte in einer einzigen Sprache und übersetzt nur die Vorlage, z. B. Navigation und Fußzeile. Das ist in der Regel bei Seiten mit von Nutzern erstellten Inhalten der Fall, etwa Foren.
  • Deine Inhalte weisen geringfügige regionale Abweichungen mit ähnlichen Inhalten in einer einzigen Sprache auf. Du kannst beispielsweise englischsprachige Inhalte für das Vereinigte Königreich, Irland und die USA verwenden.
  • Die Inhalte deiner Website sind vollständig in mehrere Sprachen übersetzt. Du kannst zum Beispiel über eine deutsche und eine englische Version jeder Seite verfügen.

Lokalisierte Versionen einer Seite gelten nur dann als Duplikate, wenn der Hauptinhalt der Seite nicht übersetzt wurde.

Methoden zum Angeben deiner alternativen Seiten

Es gibt drei Möglichkeiten, bei Google mehrere Sprach-/Länderversionen einer Seite anzugeben:

HTML-Tags

Füge dem Header deiner Seite <link rel="alternate" hreflang="lang_code"... >-Elemente hinzu. Dadurch wird Google über alle Sprach-/Regionsversionen einer Seite informiert. Das ist nützlich, wenn du keine Sitemap hast oder keine HTTP-Antwort-Header für Ihre Website angeben kannst.

Jede Variante der Seite sollte eine Gruppe von <link>-Elementen im <head>-Element enthalten, wobei ein Link für jede Seitenvariante, einschließlich der Seite selbst, gilt. Die Gruppe von Links ist für jede Version der Seite identisch. Hier findest du weitere Richtlinien.

Das ist die Syntax jedes Link-Elements:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

lang_code
Ein unterstützter Sprach-/Regionscode, auf den diese Version der Seite abzielt, oder x-default für alle Sprachen, die nicht explizit in einem „hreflang“-Tag auf der Seite aufgelistet sind
url_of_page
Die voll qualifizierte URL für die Version dieser Seite für die angegebene Sprache bzw. Region
Setze deine <link>-Tags möglichst weit oben ins <head>-Element. Die <link>-Tags müssen sich vor allen Elementen befinden, die ein vorzeitiges Schließen des <head>-Elements mit sich bringen, z. B. <p> oder ein Tracking-Pixel, mindestens aber im richtig formatierten <head>-Bereich. Füge im Zweifelsfall Code von deiner gerenderten Seite in ein HTML-Validierungs-Tool ein, um dafür zu sorgen, dass sich die Links innerhalb des <head>-Elements befinden.

Beispiel

Example Widgets Inc. betreibt eine Website für Nutzer in den USA, Großbritannien und Deutschland. Die folgenden URLs liefern im Wesentlichen die gleichen Inhalte, allerdings mit regionalen Abweichungen:

  • http://en.beispiel.de/seite.html – Allgemeine englischsprachige Startseite mit Informationen über Gebühren für den internationalen Versand aus den USA
  • http://en-gb.beispiel.de/seite.html – Britische Startseite, auf der Preise in britischen Pfund angezeigt werden
  • http://en-us.beispiel.de/seite.html – Startseite für die USA, auf der Preise in US-Dollar angezeigt werden
  • http://de.beispiel.de/seite.html – Startseite auf Deutsch
  • http://www.beispiel.de/ – Standardseite, die auf keine bestimmte Sprache und kein bestimmtes Land ausgerichtet ist, und auf der die Nutzer ihre Sprache und ihr Land auswählen können

Beachte, dass die sprachspezifischen Subdomains in diesen URLs (en, en-gb, en-us, de) nicht von Google verwendet werden, um die Zielgruppe für die Seite zu bestimmen. Dafür musst du selbst eine Verknüpfung zur Zielgruppe herstellen.

Das ist der HTML-Code, der im <head>-Bereich aller oben aufgelisteten Seiten eingefügt werden sollte. Dadurch werden deutschsprachige Nutzer, englischsprachige Nutzer aus den USA und dem Vereinigten Königreich sowie allgemein englischsprachige Nutzer auf die lokalisierten Seiten weitergeleitet. Alle anderen Nutzer werden zu einer allgemeinen Startseite weitergeleitet. Die Google Suche gibt das entsprechende Ergebnis für den Nutzer gemäß den Browsereinstellungen zurück.

<head>
 <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
       href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
       href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
       href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
       href="http://de.example.com/page.html" />
 <link rel="alternate" hreflang="x-default"
       href="http://www.example.com/" />
</head>

HTTP-Header

Du kannst einen HTTP-Header mit der GET-Antwort deiner Seite zurückgeben, um Google über alle Sprach- und Regionsvarianten einer Seite zu informieren. Dies ist nützlich für Nicht-HTML-Dateien wie PDFs.

Das ist das Format des Headers:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...

<url_x>
Die voll qualifizierte URL für die alternative Seite, die dem String für die Sprache entspricht, die mit dem Attribut „hreflang“ verknüpft ist. Die URL muss von spitzen Klammern < > umgeben sein. Beispiel: <https://www.google.com>
lang_code_x
Ein unterstützter Sprach-/Regionscode, auf den diese Version der Seite abzielt, oder x-default für alle Sprachen, die nicht explizit in einem „hreflang“-Tag auf der Seite aufgelistet sind

Du musst für jede Version der Seite, einschließlich der angeforderten Version, eine Gruppe von durch Kommas voneinander getrennten <url>-, rel="alternate"- und hreflang-Werten wie im Beispiel unten angeben. Der für jede Version einer Seite ausgegebene Linkheader ist identisch. Hier findest du weitere Richtlinien.

Beispiel

Das ist ein Beispiel für einen Link:-Header, der von einer Website mit drei Versionen einer PDF-Datei ausgegeben wurde: eine für englischsprachige Nutzer, eine für deutschsprachige Nutzer aus der Schweiz und eine für alle anderen deutschsprachigen Nutzer:

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

Sitemap

Mithilfe einer Sitemap kannst du Google über alle Sprach- und Regionsvarianten einer URL informieren. Füge dazu ein <loc>-Element hinzu, in dem eine einzelne URL mit untergeordneten <xhtml:link>-Einträgen für jede Sprach-/Ländervariante der Seite, einschließlich der Seite selbst, aufgelistet ist. Wenn du also drei Versionen einer Seite hast, enthält deine Sitemap drei Einträge mit jeweils drei identischen untergeordneten Einträgen.

Sitemap-Regeln:

  • Gib den XHTML-Namespace so an:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Erstelle für jede URL ein separates <url>-Element.
  • Jedes <url>-Element muss ein untergeordnetes <loc>-Element haben, das die Seiten-URL angibt.
  • Jedes <url>-Element muss ein untergeordnetes Element <xhtml:link rel="alternate" hreflang="supported_language-code"> haben, in dem jede alternative Version der Seite, einschließlich der Seite selbst, aufgelistet ist. Die Reihenfolge dieser untergeordneten <xhtml:link>-Elemente spielt keine Rolle. Du solltest allerdings erwägen, dieselbe Reihenfolge für die Elemente zu verwenden, da du sie so besser auf Fehler prüfen kannst.
  • Hier findest du weitere Richtlinien.

Beispiel

Das ist eine englischsprachige Seite, die an englischsprachige Nutzer weltweit gerichtet ist, sowie eine äquivalente Version der Seite, die an deutschsprachige Nutzer weltweit gerichtet ist, und eine deutschsprachige Version, die an deutschsprachige Nutzer in der Schweiz gerichtet ist. Hier siehst du alle auf deiner Website vorhandenen URLs:

  • www.example.com/english/page.html, an englischsprachige Nutzer gerichtet
  • www.example.com/deutsch/page.html, an deutschsprachige Nutzer gerichtet
  • www.example.com/schweiz-deutsch/page.html, an deutschsprachige Nutzer in der Schweiz gerichtet

Das ist die Sitemap für diese drei Seiten:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Richtlinien für alle Methoden

  • In jeder Sprachversion müssen die Version selbst sowie alle anderen Sprachversionen aufgelistet sein.
  • Alternative URLs müssen voll qualifiziert sein, einschließlich der Transportmethode (http bzw. https):
    https://beispiel.de/foo, nicht //beispiel.de/foo oder /foo
  • Alternative URLs müssen sich nicht in derselben Domain befinden.
  • Wenn mehrere alternative URLs auf Nutzer mit derselben Sprache, aber aus unterschiedlichen Ländern, ausgerichtet sind, empfiehlt es sich, auch eine Catchall-URL für geografisch nicht spezifizierte Nutzer dieser Sprache bereitzustellen. Du hast zum Beispiel möglicherweise spezifische URLs für englischsprachige Nutzer in Irland (en-ie), Kanada (en-ca) und Australien (en-au), solltest aber auch eine allgemeine englischsprachige Seite (en) anbieten, die für Nutzer im Vereinigten Königreich, in den USA und in allen anderen englischsprachigen Ländern geeignet ist. Dazu kannst du auch eine der spezifischen Seiten auswählen.
  • Wenn zwei Seiten nicht aufeinander verweisen, werden die Tags ignoriert. Dadurch wird verhindert, dass jemand auf einer anderen Website willkürlich ein Tag erstellt und dieses nach einer alternativen Version Ihrer Seiten benennt.
  • Wenn es sich als schwierig gestaltet, für jede Sprache eine Gruppe bidirektionaler Links zu pflegen, kannst du auf einigen Seiten ein paar Sprachen auslassen. Google wird die Links, die aufeinander verweisen, weiterhin verarbeiten. Neue Sprachversionen und die ursprünglichen Sprachen bzw. Hauptsprachen sollten jedoch unbedingt aufeinander verweisen. Beispiel: Deine Website wurde ursprünglich auf Französisch veröffentlicht, die Endung der URLs ist .fr und du möchtest nun neue Sprachversionen für Mexikanisch (.mx) und Spanisch (.es) implementieren. In diesem Fall ist es wichtiger, dass die neuen Sprachversionen (.mx und .es) bidirektional auf die französische Version verweisen, als die neuen spanischen Versionen (.mx und .es) aufeinander verweisen zu lassen.
  • Du kannst für nicht zugeordnete Sprachen eine Seite hinzufügen, auf der Nutzer sozusagen aufgefangen werden. Das ist insbesondere auf Seiten mit Auswahlmöglichkeit eines Landes oder einer Sprache bzw. auf automatisch weiterleitenden Startseiten nützlich. Verwende den Wert x-default:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Unterstützte Sprach- bzw. Regionscodes

Der Wert des Attributs hreflang legt die Sprache einer alternativen URL im Format ISO 639-1 und optional auch die Region im Format ISO 3166-1 Alpha 2 fest. Die Sprache muss nicht mit der Region verknüpft sein. Beispiel:

  • de: deutschsprachige Inhalte, unabhängig von der Region
  • en-GB: englischsprachige Inhalte für Nutzer im Vereinigten Königreich
  • de-ES: deutschsprachige Inhalte für Nutzer in Spanien

Gib keinen allein stehenden Ländercode an. Google leitet die Sprache nicht automatisch vom Ländercode ab. Sprachcodes kannst du aber allein eingeben, falls du deine Tag-Kennzeichnung vereinfachen willst. Füge den Ländercode nach der Sprache hinzu, um die Seite auf eine bestimmte Region zu beschränken. Beispiele:

  • be: belarussische Sprache, von der Region unabhängig (nicht belgisches Französisch)
  • nl-be: Niederländisch für Belgien
  • fr-be: Französisch für Belgien

Bei unterschiedlichen Schriftsystemen leitet sich das korrekte Schriftsystem vom Land ab. Wenn du zum Beispiel "zh-TW" für Nutzer in Taiwan verwendest, wird daraus automatisch das Schriftsystem "Chinesisch (traditionell)" abgeleitet. Du kannst das Schriftsystem auch explizit durch Verwendung von ISO 15924 festlegen. Das sieht dann so aus:

  • zh-Hant: Chinesisch (traditionell)
  • zh-Hans: Chinesisch (vereinfacht)

Alternativ kannst du eine Kombination aus Schriftsystem und Region verwenden, zum Beispiel zh-Hans-TW für vereinfachtes Chinesisch für taiwanesische Nutzer.

x-default-Tag für nicht übereinstimmende Sprachen verwenden

Der reservierte Wert hreflang="x-default" wird verwendet, wenn keine andere Sprache bzw. Region mit der Browsereinstellung des Nutzers übereinstimmt. Dieser Wert ist optional, wird aber empfohlen, um die Seite zu steuern, wenn keine Sprachen übereinstimmen. Es ist z. B. sinnvoll, ihn auf die Startseite deiner Website auszurichten und dort eine Weltkarte bereitzustellen, auf der Nutzer ihr Land durch Klicken auswählen können.

Fehlerbehebung

Häufige Fehler

Hier sind die häufigsten Fehler bei der Verwendung von hreflang:

  • Fehlende zurückverweisende Links: Wenn Seite X auf Seite Y verweist, muss Seite Y zurück auf Seite X verweisen. Falls das nicht für alle Seiten mit hreflang-Attributen der Fall ist, werden die Attribute möglicherweise ignoriert oder nicht richtig interpretiert.
  • Falsche Sprachcodes: Gehe sicher, dass in allen verwendeten Sprachcodes die Sprache einer alternativen URL im Format ISO 639-1 und optional auch die Region im Format ISO 3166-1 Alpha 2 festgelegt ist. Die Angabe der Region allein ist nicht gültig.

Behebung von hreflang-Fehlern

Mithilfe des Berichts zur internationalen Ausrichtung kannst du die häufigsten Fehler beheben. Gehe sicher, dass Google genügend Zeit zum Crawlen deiner Seiten hatte und gehe dann im Bericht auf den Tab Sprache. Dort siehst du möglicherweise erkannte Fehler.

Es sind auch viele Tools von Drittanbietern verfügbar. Hier sind ein paar beliebte Tools, die jedoch nicht von Google gewartet oder geprüft werden: