Teil 3 von 22

Canonical und hreflang: eine Seite, eine Adresse

Canonical und hreflang: eine Seite, eine Adresse

Doppelte Inhalte können bei mehrsprachigen Websites und Seiten mit Parametern zu Mehrdeutigkeiten bei der Indexierung führen. Zwei Mechanismen helfen, das zu steuern.

Canonical nennt die bevorzugte URL

Es teilt Suchmaschinen mit, welche URL bevorzugt wird, wenn derselbe Inhalt unter mehreren Adressen erreichbar ist (Tracking-Parameter, Schrägstriche, Paginierung):

export async function generateMetadata({ params }): Promise<Metadata> {
  return {
    alternates: {
      canonical: `/blog/${params.slug}`,
    },
  };
}

hreflang verbindet die Sprachversionen

Es teilt Suchmaschinen mit, welche Sprachversionen existieren, und hilft bei der Wahl der passenden. Wie Sie die Adressen beziehen, hängt vom Content-Modell ab; das Beispiel setzt voraus, dass getLocalizedUrls() die tatsächliche URL jeder Version liefert:

export async function generateMetadata({ params }): Promise<Metadata> {
  const { lang } = params;
  const localizedUrls = await getLocalizedUrls(params);

  return {
    alternates: {
      canonical: localizedUrls[lang],
      languages: {
        ...localizedUrls,
        "x-default": localizedUrls.en,
      },
    },
  };
}

Typische Umsetzungsfehler

  • hreflang muss gegenseitig sein. Verweist die EN-Seite auf die PL-Version, muss die PL-Seite zurück auf EN verweisen – sonst ignoriert Google womöglich die ganze Gruppe.
  • Jede Seite muss sich selbst enthalten in der languages-Map.
  • Lokalisierte Slugs: Liegt ein polnischer Beitrag unter einem anderen Slug, muss hreflang auf die tatsächliche lokalisierte URL zeigen, nicht mechanisch auf /pl/ + denselben Slug. Erzeugen Sie die Map aus der Inhaltsquelle, statt sie fest zu codieren.
  • x-default bedient Nutzer, deren Sprache Sie nicht unterstützen – verweisen Sie ihn auf die Hauptsprachversion.
  • Canonical muss auf eine Seite zeigen, die 200 zurückgibt und kein noindex trägt – ein Canonical auf eine weiterleitende URL wird ignoriert.

Checkliste:

  • Selbstreferenzierendes Canonical auf jeder indexierbaren Seite
  • hreflang aus echten lokalisierten Slugs erzeugt, in alle Richtungen gegenseitig
  • x-default vorhanden
  • URL-Parameter (utm, Filter, Sortierung) auf die saubere Adresse kanonisiert

Soll das lieber jemand für Sie erledigen?

Ich prüfe und behebe technisches SEO auf Next.js-Websites — Indexierung, Geschwindigkeit, hreflang und Sichtbarkeit in KI-Suchen.

Leistung technisches SEO