Was ist ein Canonical-Tag?
Bevor wir untersuchen, wie hreflang und canonical zusammenwirken, lohnt es sich zu klären, was jedes der beiden unabhängig voneinander bewirkt.
Ein Canonical-Tag (<link rel="canonical">) teilt Suchmaschinen mit, welche URL die bevorzugte Version einer Seite für die Indexierung ist. Wenn mehrere URLs identischen oder sehr ähnlichen Inhalt bereitstellen, bündelt der Canonical-Tag die Ranking-Signale auf eine einzige URL und verhindert so die Verwässerung durch Duplicate Content.
<link rel="canonical" href="https://example.com/en/products/widget/" />
Wenn deine Produktseite beispielsweise sowohl unter https://example.com/en/products/widget/ als auch unter https://example.com/en/products/widget/?ref=newsletter erreichbar ist, sollte der Canonical-Tag auf beiden URLs auf die saubere Version ohne den Query-Parameter verweisen. Das sagt Google: "Behandle diese als dieselbe Seite und bündle ihre Ranking-Stärke."
Canonical-Tags sind ein starkes Signal, das Google in der Regel respektiert (obwohl es keine Direktive ist -- Google kann deinen Canonical überschreiben, wenn Inkonsistenzen festgestellt werden).
Was ist Hreflang?
Hreflang (<link rel="alternate" hreflang="...">) teilt Suchmaschinen mit, dass eine Seite gleichwertige Versionen in anderen Sprachen oder Regionen hat. Es kontrolliert nicht die Indexierung -- es kontrolliert, welche Version in den Suchergebnissen erscheint, basierend auf Sprache und Standort des Nutzers.
<link rel="alternate" hreflang="en" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/productos/widget/" />
Hreflang besagt: "Diese drei Seiten sind derselbe Inhalt für unterschiedliche Zielgruppen." Es sagt nichts darüber aus, welche URL indexiert werden soll.
Wie Hreflang und Canonical zusammenarbeiten
Hier entsteht die meiste Verwirrung. Hreflang und Canonical dienen komplementären, aber unterschiedlichen Zwecken:
| Signal | Zweck | Geltungsbereich | |--------|-------|-----------------| | Canonical | "Dies ist die bevorzugte URL für die Indexierung" | Innerhalb einer einzelnen Sprachversion | | Hreflang | "Dies sind die Sprach-/Regionsvarianten" | Über alle Sprachversionen hinweg |
Die entscheidende Regel lautet: Jede Sprachversion muss einen selbstreferenzierenden Canonical haben, der auf sich selbst verweist. Der Canonical der englischen Seite zeigt auf die englische URL. Der Canonical der deutschen Seite zeigt auf die deutsche URL. Der Canonical der spanischen Seite zeigt auf die spanische URL.
Hier ist die korrekte Implementierung für eine Seite, die in drei Sprachen verfügbar ist:
Englische Seite unter https://example.com/en/products/widget/:
<link rel="canonical" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/productos/widget/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/products/widget/" />
Deutsche Seite unter https://example.com/de/produkte/widget/:
<link rel="canonical" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/productos/widget/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/products/widget/" />
Spanische Seite unter https://example.com/es/productos/widget/:
<link rel="canonical" href="https://example.com/es/productos/widget/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/productos/widget/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/products/widget/" />
Beachte das Muster: Der Canonical ist immer selbstreferenzierend, während das hreflang-Set auf allen drei Seiten identisch ist (was vollständige Reziprozität sicherstellt).
Wenn Hreflang und Canonical in Konflikt geraten
Konflikte entstehen, wenn der Canonical-Tag einer Seite auf eine URL in einer anderen Sprache verweist. Dies ist der schädlichste Fehler bei der Implementierung von internationalen SEO-Tags.
Der Fehler des sprachübergreifenden Canonicals
Betrachte diese fehlerhafte Implementierung:
Deutsche Seite unter https://example.com/de/produkte/widget/:
<!-- FALSCH: Canonical verweist auf die englische Version -->
<link rel="canonical" href="https://example.com/en/products/widget/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/produkte/widget/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/widget/" />
Dies sagt Google: "Die deutsche Seite ist ein Duplikat der englischen Seite. Bitte indexiere nur die englische URL." Google wird daraufhin die deutsche Seite deindexieren und die englische URL deutschen Nutzern anzeigen. Das hreflang wird ignoriert, weil der Canonical die deutsche Seite aus Indexierungsperspektive praktisch für nicht existent erklärt hat.
Dieser Fehler ist überraschend häufig und hat oft folgende Ursachen:
- CMS-Plugins, die den Canonical aller nicht-englischen Seiten auf das englische "Original" setzen
- Entwickler, die Canonical als "dies ist die Originalsprache" missverstehen, statt "dies ist die bevorzugte URL für diese spezifische Seite"
- SEO-Tools, die mehrsprachige Seiten als Duplikate kennzeichnen und vorschlagen, auf eine einzelne Version zu kanonisieren
- Migrationsskripte, die den englischen Canonical in alle Sprachvorlagen kopieren, ohne ihn anzupassen
Wie Google den Konflikt behandelt
Wenn Google einen sprachübergreifenden Canonical mit hreflang vorfindet:
- Das Canonical-Signal gewinnt, da es ein stärkeres Signal als hreflang ist
- Google konsolidiert die Indexierung auf die Canonical-URL (die englische Seite)
- Die deutsche Seite verschwindet faktisch aus dem Google-Index
- Deutsche Nutzer, die auf Deutsch suchen, sehen die englische Seite in den Ergebnissen (oder gar kein Ergebnis, wenn die englische Seite nicht für deutsche Suchanfragen rankt)
- Die gesamte Ranking-Stärke von Backlinks zur deutschen Seite fließt zur englischen Seite, die ohnehin nicht in deutschen Suchergebnissen ranken kann
Das Ergebnis: Du verlierst deine deutsche Suchpräsenz vollständig.
Korrekte Verwendungsmuster
Muster 1: Selbstreferenzierender Canonical pro Sprachversion
Jede Sprachversion hat einen Canonical, der auf sich selbst verweist. Dies ist das korrekte Muster für die große Mehrheit internationaler Websites.
/en/page/ -> canonical: /en/page/
/de/page/ -> canonical: /de/page/
/es/page/ -> canonical: /es/page/
Alle drei Seiten teilen dasselbe vollständige hreflang-Set. Jede Seite wird unabhängig indexiert und rankt in ihrem jeweiligen Markt.
Muster 2: Parametrisierte URLs mit unterschiedlichem Canonical
Wenn deine Website Query-Parameter für die Sprachauswahl verwendet (z. B. ?lang=de), sollte jede Sprachversion trotzdem einen Canonical zu einer sauberen URL haben -- aber einer sauberen URL in ihrer eigenen Sprache.
/page/?lang=en -> canonical: /page/?lang=en (oder /en/page/ bei sauberen URLs)
/page/?lang=de -> canonical: /page/?lang=de (oder /de/page/ bei sauberen URLs)
Setze niemals den Canonical aller Sprachparameter auf die Basis-URL ohne Parameter. Das würde alle Sprachen in eine einzige indexierte URL zusammenfalten.
Muster 3: Seiten, die tatsächlich Duplikate innerhalb einer Sprache sind
Manchmal gibt es echte Duplikate innerhalb derselben Sprache -- zum Beispiel eine Produktseite, die über zwei verschiedene Kategoriepfade erreichbar ist. In diesem Fall verweist der Canonical korrekt auf eine URL, und das hreflang auf dieser Canonical-URL verweist auf die Entsprechungen in anderen Sprachen.
/en/category-a/widget/ -> canonical: /en/products/widget/
/en/category-b/widget/ -> canonical: /en/products/widget/
/en/products/widget/ -> canonical: /en/products/widget/ (selbstreferenzierend)
hreflang: /en/products/widget/, /de/produkte/widget/, /es/productos/widget/
Das hreflang muss nur auf der Canonical-URL vorhanden sein. Die Duplikatseiten innerhalb derselben Sprache benötigen kein hreflang, weil Google sie ohnehin auf die Canonical-URL konsolidiert.
Konflikte diagnostizieren
Wenn du hreflang-Canonical-Konflikte auf deiner Website vermutest, achte auf diese Symptome:
- Seiten in anderen Sprachen erscheinen nicht in der Google Search Console. Wenn deine deutsche Seite nicht im Index ist, deine englische aber schon, prüfe den Canonical-Tag der deutschen Seite.
- "Duplikat ohne vom Nutzer ausgewählten Canonical" in den Abdeckungsberichten. Google teilt dir mit, dass ein Canonical-Konflikt gefunden wurde und eine eigene Lösung gewählt wurde.
- Hreflang-Fehler im Bericht zur internationalen Ausrichtung der Search Console. Google markiert Seiten, bei denen hreflang auf eine URL verweist, die einen Canonical zu einer anderen URL hat.
- Ranking-Einbrüche in nicht-englischsprachigen Märkten nach einer Website-Migration oder CMS-Umstellung. Dies deutet oft darauf hin, dass die Migration sprachübergreifende Canonicals eingeführt hat.
So überprüfst du deine Website:
- Crawle deine Website mit einem Tool, das sowohl Canonical- als auch hreflang-Tags extrahiert
- Überprüfe für jede Seite, dass
rel="canonical"auf dieselbe Domain und denselben Sprachpfad wie die Seite selbst verweist - Stelle sicher, dass jede URL in jedem hreflang-Set auch einen selbstreferenzierenden Canonical hat
- Prüfe, dass kein Canonical-Tag auf eine URL in einem anderen Sprachverzeichnis verweist
Fazit
Hreflang und Canonical stehen nicht in Konkurrenz zueinander. Sie lösen unterschiedliche Probleme und sollten immer übereinstimmen. Die Regel ist einfach:
- Canonical: "Diese URL ist die zu indexierende Version" -- immer selbstreferenzierend innerhalb jeder Sprachversion
- Hreflang: "Diese URLs sind Sprach-/Regionsvarianten" -- reziprok über alle Sprachversionen hinweg
Wenn diese beiden Signale übereinstimmen, können Suchmaschinen jede Sprachversion zuverlässig unabhängig indexieren und die richtige Version der richtigen Zielgruppe anzeigen. Wenn sie in Konflikt stehen, gewinnt der Canonical und hreflang wird ignoriert, was typischerweise deine internationale Suchsichtbarkeit zerstört.
Nutze unseren Hreflang-Tag-Generator, um Tag-Sets zu erstellen, die diesen korrekten Mustern automatisch folgen. Der Generator stellt selbstreferenzierende Canonicals und vollständige Reziprozität über alle Sprachversionen im Set sicher.