Anleitung

Hreflang-Tags in WordPress implementieren

8. Februar 2026

Wenn deine WordPress-Seite Inhalte in mehreren Sprachen anbietet oder verschiedene Regionen anspricht, ist die Implementierung von Hreflang-Tags fuer die Suchmaschinenoptimierung unverzichtbar. Ohne sie zeigen Google und andere Suchmaschinen moeglicherweise die falsche Sprachversion in ihren Ergebnissen an oder behandeln deine uebersetzten Seiten als Duplicate Content, was deine Rankings ueber alle Sprachversionen hinweg verwassert. Hreflang-Tags teilen Suchmaschinen genau mit, welche Sprach- und Regionalvariante jede Seite repraesentiert, damit Nutzer immer auf der fuer sie relevantesten Version landen.

Was Hreflang-Tags sind und wie Suchmaschinen sie verwenden

Hreflang ist ein HTML-Attribut, das die Sprache (und optional das geografische Ziel) einer Seite angibt. Es erscheint als <link>-Element im <head>-Bereich deiner Seite oder als Eintrag in deiner XML-Sitemap. So sieht ein typischer Satz von Hreflang-Tags fuer eine Seite aus, die auf Englisch und Deutsch verfuegbar ist:

<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/ueber-uns/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/about/" />

Wenn der Googlebot eine Seite crawlt und diese Tags findet, versteht er, dass beide URLs denselben Inhalt in verschiedenen Sprachen darstellen. Er liefert dann die passende Version basierend auf den Sprachpraeferenzen und dem Standort des Suchenden aus. Der x-default-Tag dient als Auffang-Fallback fuer Nutzer, deren Sprache oder Region keinem der angegebenen Hreflang-Werte entspricht.

Hreflang verwendet ISO 639-1 Sprachcodes (z. B. en, de, fr) und optional ISO 3166-1 Alpha 2 Laendercodes (z. B. en-US, de-AT, pt-BR). Der Sprachcode allein spricht alle Nutzer dieser Sprache unabhaengig vom Standort an, waehrend das Hinzufuegen eines Laendercodes das Targeting auf eine bestimmte Region eingrenzt.

Wann du regionales vs. sprachbezogenes Targeting brauchst

Die Wahl zwischen reinen Sprachcodes (wie de) und regionsspezifischen Codes (wie de-DE, de-AT, de-CH) haengt von deiner Content-Strategie ab:

  • Nur Sprache (de): Verwende dies, wenn dein deutscher Inhalt fuer alle deutschsprachigen Nutzer geeignet ist, unabhaengig von ihrem Land. Dies ist die richtige Wahl fuer die meisten Blogs, Informationsseiten und SaaS-Produkte.
  • Regionsspezifisch (de-DE, de-AT): Verwende dies, wenn du separate Inhalte hast, die auf bestimmte Laender zugeschnitten sind. Zum Beispiel braucht ein Online-Shop mit unterschiedlicher Produktverfuegbarkeit, Preisen oder rechtlichen Informationen fuer Deutschland vs. Oesterreich vs. Schweiz regionsspezifische Tags.

Ein haeufiger Fehler ist die Verwendung regionsspezifischer Codes, wenn reine Sprachcodes ausreichen wuerden. Wenn dein deutscher Inhalt fuer alle deutschsprachigen Nutzer identisch ist, ist die Verwendung von de einfacher und vermeidet die Notwendigkeit, separate Seiten fuer jede Region zu erstellen.

Hreflang mit WPML einrichten

WPML (WordPress Multilingual Plugin) ist das am weitesten verbreitete Premium-Mehrsprachigkeits-Plugin und handhabt Hreflang-Tags automatisch:

  1. Kaufe und installiere WPML Multilingual CMS von wpml.org.
  2. Fuehre den Einrichtungsassistenten aus. Waehle deine Standardsprache und fuege alle Sprachen hinzu, die deine Seite unterstuetzen soll.
  3. Waehle deine URL-Struktur. WPML unterstuetzt Unterverzeichnisse (/en/, /de/), Subdomains (en.example.com) oder separate Domains. Unterverzeichnisse sind am gebraeuchlichsten und am einfachsten zu verwalten.
  4. Beginne mit der Uebersetzung deiner Inhalte. Klicke fuer jeden Beitrag oder jede Seite auf das "+"-Symbol neben der Zielsprache in der WPML-Sprachbox, um eine Uebersetzung zu erstellen.
  5. WPML generiert automatisch Hreflang-Tags fuer jede Seite, die Uebersetzungen hat. Es fuegt auch den x-default-Tag hinzu, der auf deine Standardsprachversion verweist.

Um die Ausgabe zu ueberpruefen, zeige den Quelltext einer beliebigen uebersetzten Seite an und suche nach hreflang. Du solltest einen <link>-Tag fuer jede Sprache sehen, einschliesslich der Sprache der aktuellen Seite (ein selbstreferenzierendes Hreflang, das erforderlich ist).

WPML integriert sich auch mit Yoast SEO und Rank Math. Wenn beide Plugins aktiv sind, uebernimmt das SEO-Plugin die Hreflang-Generierung und fuegt eine eigene Validierungsschicht hinzu, die gaengige Fehlkonfigurationen erkennen kann.

Hreflang mit Polylang einrichten

Polylang ist eine beliebte kostenlose Alternative zu WPML. Es generiert Hreflang-Tags automatisch fuer alle verknuepften Uebersetzungen:

  1. Installiere und aktiviere Polylang aus dem WordPress-Plugin-Verzeichnis.
  2. Gehe zu Sprachen > Sprachen und fuege jede Sprache hinzu, die deine Seite unterstuetzen soll. Lege die Locale, den Sprachcode und das URL-Format fest (Unterverzeichnis wird empfohlen).
  3. Weise jedem bestehenden Beitrag und jeder Seite eine Sprache zu. Polylang fuegt eine Sprachspalte zu deiner Beitragsliste hinzu, sodass du leicht sehen kannst, welche Beitraege uebersetzt sind.
  4. Verknuepfe Uebersetzungen miteinander. Beim Bearbeiten eines Beitrags verwende die "Uebersetzungen"-Box in der Seitenleiste, um ihn mit seinem Aequivalent in anderen Sprachen zu verbinden.
  5. Polylang gibt automatisch Hreflang-Tags im <head> fuer alle verknuepften Uebersetzungen aus.

Ein wichtiger Unterschied zu WPML: Polylang fuegt den x-default-Tag nicht in allen Konfigurationen automatisch hinzu. Um sicherzustellen, dass er vorhanden ist, gehe zu Sprachen > Einstellungen > Hreflang und verifiziere, dass x-default auf deine Primaersprache gesetzt ist. Wenn du Polylang Pro (die Premium-Version) verwendest, wird dies automatisch gehandhabt.

Hreflang mit TranslatePress einrichten

TranslatePress verfolgt einen anderen Ansatz, indem es dir erlaubt, Inhalte direkt im Frontend zu uebersetzen:

  1. Installiere und aktiviere TranslatePress.
  2. Gehe zu Einstellungen > TranslatePress und fuege deine Sprachen hinzu.
  3. Klicke auf "Seite uebersetzen" in der Admin-Werkzeugleiste, um den visuellen Uebersetzungseditor zu oeffnen.
  4. Navigiere zu einer beliebigen Seite und klicke auf Textelemente, um sie inline zu uebersetzen.
  5. TranslatePress uebernimmt die Hreflang-Tag-Generierung fuer alle uebersetzten Seiten automatisch.

TranslatePress speichert Uebersetzungen in der Datenbank, anstatt separate Beitraege zu erstellen, was die Inhaltsverwaltung einfacher macht, aber die URL-Strukturoptionen staerker einschraenkt.

Yoast SEO oder Rank Math mit Mehrsprachigkeits-Plugins kombinieren

Sowohl Yoast SEO als auch Rank Math erkennen beliebte Mehrsprachigkeits-Plugins und uebernehmen die Hreflang-Tag-Generierung, wenn beide aktiv sind. Diese Integration fuegt zusaetzliche Validierung hinzu:

  • Canonical-URL-Abgleich: Das SEO-Plugin verifiziert, dass der Hreflang-href mit der kanonischen URL jeder Seite uebereinstimmt, und verhindert so eine haeufige Fehlkonfiguration.
  • Noindex-Behandlung: Seiten, die als noindex markiert sind, werden automatisch aus der Hreflang-Ausgabe ausgeschlossen, da Suchmaschinen sie ohnehin nicht indexieren sollten.
  • Sitemap-Integration: Hreflang-Annotationen werden in die vom SEO-Plugin generierte XML-Sitemap aufgenommen, was Suchmaschinen eine zweite Quelle fuer Hreflang-Daten bietet.

Wenn du Yoast SEO mit WPML oder Polylang verwendest, pruefe unter SEO > Allgemein > Features, ob die Hreflang-Funktion nicht deaktiviert ist. Rank Math handhabt dies automatisch ohne zusaetzliche Konfiguration.

Manuelle Hreflang-Implementierung in WordPress

Fuer Seiten mit einem individuellen Mehrsprachigkeits-Setup (z. B. separate WordPress-Installationen fuer jede Sprache oder ein Headless-CMS-Ansatz) musst du Hreflang-Tags moeglicherweise manuell hinzufuegen:

function add_hreflang_tags() {
    if (is_singular()) {
        $post_id = get_the_ID();

        // Sprach-zu-URL-Zuordnung definieren
        // Uebersetzungen als Post-Meta oder in einer eigenen Tabelle speichern
        $translations = array(
            'en' => get_post_meta($post_id, '_url_en', true),
            'de' => get_post_meta($post_id, '_url_de', true),
            'fr' => get_post_meta($post_id, '_url_fr', true),
        );

        // Leere Eintraege entfernen
        $translations = array_filter($translations);

        // Aktuelle Seite hinzufuegen (selbstreferenzierendes Hreflang ist erforderlich)
        $current_lang = get_locale();
        $lang_code = substr($current_lang, 0, 2); // 'de_DE' wird zu 'de'
        $translations[$lang_code] = get_permalink();

        // Hreflang-Tags ausgeben
        foreach ($translations as $lang => $url) {
            echo '<link rel="alternate" hreflang="' . esc_attr($lang) . '" href="' . esc_url($url) . '" />' . "
";
        }

        // x-default (verweist normalerweise auf Englisch oder deine Primaersprache)
        if (!empty($translations['en'])) {
            echo '<link rel="alternate" hreflang="x-default" href="' . esc_url($translations['en']) . '" />' . "
";
        }

    } elseif (is_front_page() || is_home()) {
        // Startseite separat behandeln
        $home_translations = array(
            'en' => 'https://example.com/en/',
            'de' => 'https://example.com/de/',
            'fr' => 'https://example.com/fr/',
        );

        foreach ($home_translations as $lang => $url) {
            echo '<link rel="alternate" hreflang="' . esc_attr($lang) . '" href="' . esc_url($url) . '" />' . "
";
        }
        echo '<link rel="alternate" hreflang="x-default" href="' . esc_url($home_translations['en']) . '" />' . "
";
    }
}
add_action('wp_head', 'add_hreflang_tags');

In einer Produktionsumgebung wuerdest du die hartcodierten URL-Arrays durch dynamische Abfragen aus deinem Uebersetzungsmapping-System ersetzen, sei es Post-Meta, eine benutzerdefinierte Datenbanktabelle oder ein API-Aufruf an deine Uebersetzungsmanagement-Plattform.

Hreflang in XML-Sitemaps einbinden

Fuer Seiten mit Tausenden von Seiten kann die Deklaration von Hreflang in der XML-Sitemap effizienter sein als das Hinzufuegen von Tags zu jeder einzelnen HTML-Seite. Der XML-Sitemap-Ansatz reduziert die Seitengroesse und gibt Suchmaschinen eine zentralisierte Quelle fuer Hreflang-Daten. Hier ist das XML-Format:

<url>
  <loc>https://example.com/en/about/</loc>
  <xhtml:link rel="alternate" hreflang="en"
    href="https://example.com/en/about/" />
  <xhtml:link rel="alternate" hreflang="de"
    href="https://example.com/de/ueber-uns/" />
  <xhtml:link rel="alternate" hreflang="x-default"
    href="https://example.com/en/about/" />
</url>

Sowohl WPML als auch Polylang fuegen ihren Sitemaps automatisch Hreflang-Annotationen hinzu. Wenn du Yoast SEO neben einem Mehrsprachigkeits-Plugin verwendest, nimmt Yoast Hreflang auch in seine Sitemap auf. Fuer manuelle Implementierungen kannst du ein Plugin wie "XML Sitemap Generator for Google" verwenden und die Sitemap-Ausgabe anpassen, um Hreflang-Eintraege einzubinden.

Du kannst HTML-Hreflang-Tags und XML-Sitemap-Annotationen gleichzeitig verwenden. Google verarbeitet beide und gleicht sie ab. Wenn es Konflikte zwischen den beiden gibt, verwendet Google seine eigenen Heuristiken, um die korrekte Zuordnung zu bestimmen.

Kritische Hreflang-Regeln, die du beachten musst

Hreflang ist bekannt dafuer, dass es leicht falsch implementiert wird. Befolge diese Regeln, um haeufige Fallstricke zu vermeiden:

  • Bidirektionale (reziproke) Verlinkung ist Pflicht: Wenn Seite A (Englisch) ein Hreflang enthaelt, das auf Seite B (Deutsch) verweist, muss Seite B auch ein Hreflang enthalten, das zurueck auf Seite A verweist. Wenn der Link nur in eine Richtung geht, ignorieren Suchmaschinen ihn vollstaendig. Dies ist der mit Abstand haeufigste Hreflang-Fehler.
  • Selbstreferenzierendes Hreflang ist erforderlich: Jede Seite muss einen Hreflang-Tag enthalten, der auf sich selbst verweist. Wenn deine englische Seite Hreflang-Tags fuer die deutsche und franzoesische Version hat, muss sie auch einen Hreflang-Tag fuer die englische Version haben, der auf ihre eigene URL zeigt.
  • Nur kanonische URLs verwenden: Die URL in jedem Hreflang-Tag muss exakt mit der kanonischen URL dieser Seite uebereinstimmen. Wenn eine Seite ein rel="canonical"-Tag hat, das auf eine andere URL zeigt, verwende die kanonische URL im Hreflang-Tag, nicht die aktuelle Seiten-URL.
  • Jede Sprachvariante braucht den vollstaendigen Satz: Wenn du 4 Sprachversionen hast, muss jede Seitenvariante alle 4 Hreflang-Tags plus x-default enthalten. Unvollstaendige Saetze fuehren dazu, dass Suchmaschinen die gesamte Hreflang-Annotation fuer diese Seitengruppe ignorieren.
  • Seiten muessen einen 200-Statuscode zurueckgeben: Fuege keine URLs in Hreflang-Tags ein, die weiterleiten (301/302) oder Fehler zurueckgeben (404/500). Suchmaschinen kennzeichnen diese als Hreflang-Fehler und stellen moeglicherweise die Verarbeitung deiner Hreflang-Annotationen ein.
  • Immer x-default einschliessen: Der x-default-Tag dient als Fallback fuer Nutzer, deren Sprache oder Region keiner deiner angegebenen Varianten entspricht. Ohne ihn sehen diese Nutzer deine Inhalte in den Suchergebnissen moeglicherweise gar nicht.

Hreflang-Implementierung debuggen und validieren

Nach dem Einrichten der Hreflang-Tags ist eine gruendliche Validierung entscheidend. Selbst kleine Fehler koennen dein gesamtes Hreflang-Setup unwirksam machen:

  1. InspectWP-Analyse: Analysiere jede Sprachversion deiner Seite mit InspectWP. Es erkennt alle Hreflang-Tags und listet jede Sprachvariante auf, sodass du leicht ueberpruefen kannst, ob alle Tags vorhanden sind und auf die richtigen URLs zeigen.
  2. Google Search Console: Pruefe den Bericht Internationale Ausrichtung (unter Legacy-Tools und -Berichte) auf Hreflang-Fehler. Google meldet Probleme wie fehlende Rueckverweise, unbekannte Sprachcodes und Hreflang-Konflikte mit kanonischen Tags.
  3. Manuelle Quelltext-Inspektion: Zeige den Quelltext jeder Sprachversion an und verifiziere, dass die Hreflang-Tags vorhanden, bidirektional und selbstreferenzierend sind. Pruefe, ob URLs absolut (nicht relativ) sind und das korrekte Protokoll verwenden (https, nicht http).
  4. Ahrefs- oder Screaming Frog-Audit: Fuer grosse Seiten verwende ein Crawler-Tool, um alle Seiten auf einmal zu pruefen. Diese Tools koennen fehlende Hreflang-Tags, nicht-reziproke Links und Sprachcode-Unstimmigkeiten ueber deine gesamte Seite hinweg identifizieren.

Hreflang fuer WordPress Multisite-Netzwerke

Wenn du eine WordPress Multisite betreibst, bei der jede Unterseite eine andere Sprache repraesentiert, erfordert die Hreflang-Implementierung seiten uebergreifendes Bewusstsein. WPML unterstuetzt Multisite-Konfigurationen und verknuepft Inhalte ueber Unterseiten hinweg. Fuer manuelle Implementierungen musst du die Datenbanken der anderen Unterseiten abfragen, um den passenden uebersetzten Beitrag zu finden und die Hreflang-URL dynamisch zu konstruieren. Die Funktion switch_to_blog() in WordPress ermoeglicht es dir, die Daten einer anderen Unterseite innerhalb desselben Netzwerks abzufragen.

Performance-Ueberlegungen fuer grosse mehrsprachige Seiten

Auf Seiten mit vielen Sprachen (10+) koennen die Hreflang-Tags erhebliches Markup zu jeder Seite hinzufuegen. Jede Seite benoetigt ein Tag pro Sprache plus x-default, sodass eine Seite mit 15 Sprachen 16 <link>-Elemente zum Head jeder Seite hinzufuegt. Fuer performance-sensitive Seiten erwaege diese Strategien:

  • XML-Sitemap-Hreflang statt HTML verwenden: Das Verschieben der Hreflang-Deklarationen in die Sitemap entfernt das Markup vollstaendig von deinen Seiten und reduziert die Seitengroesse.
  • Hreflang-Ausgabe cachen: Wenn du Hreflang-Tags dynamisch generierst (z. B. aus Datenbankabfragen), cache das Ergebnis mit WordPress Transients oder deinem Object Cache, um wiederholte Datenbankzugriffe bei jedem Seitenaufruf zu vermeiden.
  • HTTP-Header fuer Nicht-HTML-Inhalte verwenden: Fuer PDFs und andere Nicht-HTML-Ressourcen kannst du Hreflang ueber HTTP-Link-Header deklarieren, anstatt HTML-Tags zu verwenden.

Prüfe jetzt deine WordPress-Seite

InspectWP analysiert deine WordPress-Seite auf Sicherheitslücken, SEO-Probleme, DSGVO-Konformität und Performance — kostenlos.

Seite kostenlos analysieren