Wie man hreflang-Informationen über XML-Sitemap oder HTTP-Header übermittelt
Schon vor einigen Monate habe ich hier im Blog das hreflang-Tag vorgestellt – und behauptet, dass sich das Tag im <head>-Bereich einer Seite befindet. 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 Blog-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://support.google.com/webmasters/answer/2620865?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>http://www.meinewebsite.com/seite/</loc>
<xhtml:link rel=”alternate” hreflang=”de”
href=”http://www.meinewebsite.com/seite/” />
<xhtml:link rel=”alternate” hreflang=”en”
href=”http://www.meinewebsite.com/page/” />
</url><url>
<loc>http://www.meinewebsite.com/page/</loc>
<xhtml:link rel=”alternate” hreflang=”de”
href=”http://www.meinewebsite.com/seite/” />
<xhtml:link rel=”alternate” hreflang=”en”
href=”http://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 (siehe auch: https://support.google.com/webmasters/answer/189077?hl=de).
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: <http://www.meinewebsite.com/seite/>; rel=”alternate”; hreflang=”de”,<http://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 ja ab Version 7 auch die Analyse von hreflang-Daten (weitere Tools finden sich in diesem Beitrag). 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.
Noch mehr Informationen?
Dieser Beitrag ist ein Kapitel aus meinem Kompakt-Ratgeber “International SEO: hreflang, Domain-Strategien, Tools + mehr“. Wie der Titel schon sagt, geht es in diesem Ratgeber darum, internationale Websites optimal auf die organische Suche auszurichten. Das Buch gibt es sowohl in gedruckter Form als auch für die gängen E-Reader. Jetzt kaufen…
Markus Hövener
Markus Hövener ist Gründer und SEO Advocate der auf SEO und SEA spezialisierten Online-Marketing-Agentur Bloofusion. Als geschäftsführender Gesellschafter von Bloofusion Germany ist er verantwortlich für alle Aktivitäten in Deutschland, Österreich und der Schweiz. Markus Hövener ist Buchautor, Podcaster und Autor vieler Artikel und Studien rund um SEO.
Markus hat vier Kinder, spielt in seiner Freizeit gerne Klavier (vor allem Jazz) und genießt das Leben.
Neueste Artikel von Markus Hövener (alle ansehen)
- Der große SEO-Jahresrückblick: 12 wichtige Themen [Search Camp 355] - 10. Dezember 2024
- SEO-Monatsrückblick November 2024: AI-Suchmaschinen, Screaming Frog + mehr [Search Camp 354] - 3. Dezember 2024
- SEO-Fokus: Fünf wichtige strategische Fragen für Deine Website [Search Camp 353] - 26. November 2024
- SISTRIX Sichtbarkeitsindex entschlüsselt: Insights von Johannes Beus! [Search Camp 352] - 19. November 2024
- Die SEO-für-Startups-Woche: 5x SEO-Tipps für junge Unternehmen - 11. November 2024
August 5th, 2019 at 13:58
Hallo liebes Bloofusion-Team,
ich kenne das hreflang-Tag eigentlich nur im Header und habe es bisher auch nur auf diese Art und Weise eingebaut. Ich frage mich nun, ob der Einbau über die Sitemap ggf. Sinn macht, wenn eine Webseite enorm viele Sprach- und Länderversionen hat. Könnte man durch die Implementierung in der Sitemap dann nicht auch gut Ladezeit sparen, oder ist dieser Wert marginal?
Auf der anderen Seite: Wenn ich die hreflang-tags über die Sitemap einbinde, kann es sein, dass Seiten indexiert werden, von denen Google nie über die Mehrsprachigkeit indexiert wird, oder? Also in dem Fall, wenn es Seiten gibt, die nicht in der Sitemap abgespeichert sind, aber trotzdem nicht auf noindex gesetzt wurden. Korrekt?
Vielen Dank und viele Grüße
Bettina
August 6th, 2019 at 08:23
Wer es in die XML-Sitemap einbaut, spart natürlich ein ganz klein wenig Ladezeit (für die Berechnung der hreflang-Tags und für die Auslieferung im HTML-Code). Dieser Effekt dürfte allerdings sehr minimal sein.
Ja, es kann dann auch passieren, dass Seiten, die nicht in der XML-Sitemap genannt werden, keine hreflang-Informationen bereitstellen. Das dürfte aber nicht passieren, weil alle relevanten Seiten in die Sitemap gehören. Das muss man natürlich besser vorab nochmal prüfen.
Meine bevorzugte Denkweise: hreflang-Tags gehören in den
. Macht das Debugging viel leichter!Grüße,
Markus