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:
Jeweils einen Block der Form:
<url><loc>URL der Seite</loc></url>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.