Wie man hreflang-Informationen über XML-Sitemap oder HTTP-Header übermittelt

Hreflang-Tags befinden sich im <head>-Bereich einer HTML-Seite. Das stimmt nur bedingt, denn die hreflang-Informationen können an Google auch über zwei alternative Methoden übermittelt werden. Welche das sind, stelle ich in diesem Beitrag vor.

Alternative Möglichkeit #1: XML-Sitemap

Google hat in den letzten Jahren immer mehr Möglichkeiten definiert, wie man XML-Sitemaps nutzen kann, um zusätzliche Informationen abzubilden. So auch in diesem Fall: Über XML-Sitemaps können auch hreflang-Informationen an Google geliefert werden (siehe auch: https://developers.google.com/search/docs/specialty/international/localized-versions?hl=de).

<?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>https://www.meinewebsite.com/seite/</loc>
<xhtml:link rel=”alternate” hreflang=”de”
href=”https://www.meinewebsite.com/seite/” />
<xhtml:link rel=”alternate” hreflang=”en”
href=”https://www.meinewebsite.com/page/” />
</url>

<url>
<loc>https://www.meinewebsite.com/page/</loc>
<xhtml:link rel=”alternate” hreflang=”de”
href=”https://www.meinewebsite.com/seite/” />
<xhtml:link rel=”alternate” hreflang=”en”
href=”https://www.meinewebsite.com/page/” />
</url>

</urlset>

Wenn es also zwei Seiten http://www.meinewebsite.com/seite/ (DE) und http://www.meinewebsite.com/page/ (EN) gibt, muss die XML-Sitemap Folgendes beinhalten:

  1. Jeweils einen Block der Form:
    <url><loc>URL der Seite</loc></url>

  2. In diesen Blöcken befinden sich jeweils die hreflang-Informationen aller Varianten (inkl. der Selbstreferenz)
    XML-Sitemaps können natürlich noch mehr Informationen beinhalten (z. B. “lastmod”, “changefreq” und “priority”). Auf diese wurde im obigen Beispiel zugunsten der Übersichtlichkeit verzichtet.

Alternative Möglichkeit #2: HTTP-Header

Alternativ kann das hreflang-Tag aber auch im HTTP-Header ausgeliefert werden.

Wer das hreflang-Tag über den HTTP-Header ausliefern möchte, kann das in der folgenden Form tun:

Link: <URL1>; rel=”alternate”; hreflang=”Sprache 1″,<URL2>; rel=”alternate”; hreflang=”Sprache 2″

Also z. B.:

Link: <https://www.meinewebsite.com/seite/>; rel=”alternate”; hreflang=”de”,<https://www.meinewebsite.com/page/>; rel=”alternate”; hreflang=”en”

Die einzelnen hreflang-Tags werden also durch Kommata getrennt. Natürlich können dabei mehr als zwei hreflang-Tags ausgeliefert werden.

Sollte man das nutzen?

Beide Methoden sind dann interessant, wenn man diese Informationen – aus welchen Gründen auch immer – nicht in den HTML-Code einbauen kann, aber auf hreflang nicht verzichten möchte. Zu beiden Methoden kann man klar sagen: Sie funktionieren.

Aber: Fürs Debugging ist beides nicht optimal. So bietet der Screaming Frog SEO Spider auch die Analyse von hreflang-Daten. Das funktioniert aber auch nur dann, wenn die Daten im HTML-Code direkt vorkommen. Und deswegen ist die Nutzung des “normalen Weges” (im <head>-Bereich platzieren) deutlich besser.