rankingCHECK
MENÜ

SEO-Schnick-Schnack-Schnuck (Don’t mess with hreflang!)

Normalerweise werden hreflang-Auszeichnungen dafür eingesetzt, Google zu signalisieren, welche URLs verschiedener Sprach- und Länderversionen einer Website zusammengehören und für welches Land sie genau gedacht sind. Kürzlich konnten wir durch einen technischen Fehler feststellen, welche immense Bedeutung Google dem hreflang-Tag wirklich zumisst. Was genau passiert ist und was wir daraus lernen können, lest ihr hier.

Wir alle kennen das Spiel „Schnick, Schnack, Schnuck“ oder „Stein, Schere, Papier“, das bei Konflikten oft der letzte Ausweg ist, um festzulegen, wer Recht hat. Die Regeln sind einfach: Stein zerschlägt Schere, Papier bedeckt Stein und Schere zerschneidet Papier.

Es sei denn, man spielt die Sheldon-Cooper-Version, dann ist das Ganze etwas komplizierter:

Doch was hat das Ganze mit SEO und hreflang zu tun? Hieße das Spiel „hreflang, Canonical Tag, interne Verlinkung, XML-Sitemap“, dann würden die Regeln so gehen: hreflang schlägt Canonical Tag, hreflang schlägt interne Verlinkung, hreflang schlägt XML-Sitemaps und alle anderen können nach Hause gehen.

Klingt blöd, ist aber so!

So, aber jetzt mal im Ernst: Durch einen technischen Fehler konnten wir kürzlich feststellen, welche immense Bedeutung Google dem hreflang-Tag wirklich zumisst und wie wichtig dieses Tag als Indexierungs-Faktor für einzelne URLs ist. Das Ganze spielte sich folgendermaßen ab.

Schnick

Unser Kunde betreibt ein großes Reiseportal, auf dem jedes buchbare Hotel eine eigene Unterseite hat. Die Informationen, die auf den Seiten abgebildet werden, kommen komplett aus verschiedenen Datenbanken und die Zuordnung erfolgt über eine ID, die jedes Hotel eindeutig identifiziert.

Die URLs der Hotelseiten, die für den Nutzer bei der Suche nach dem passenden Hotel klickbar sind, werden nach folgendem Schema aufgebaut:

http://www.domain.de/reisen/angebote/?hotelID=XYZ

Wir als SEOs haben uns natürlich gewünscht, dass diese URLs in sprechende URLs ohne Parameter umgewandelt werden. Das ist laut Technik-Agentur leider nicht machbar, weshalb wir uns auf einen Kompromiss geeinigt haben: Für jedes Hotel wird eine sprechende URL generiert, die an möglichst vielen anderen Stellen intern verlinkt wird, und auf welche die oben genannte kryptische URL per Canonical-Tag verweist:

http://www.domain.de/hotels/hotelname/

Zudem wurden die sprechenden URLs auch alle ordnungsgemäß in die XML-Sitemap aufgenommen. So weit, so gut. Nach einer kurzen Weile waren dann auch alle 7000 neuen sprechenden URLs indexiert und die oben genannten URLs mit dem Parameter verschwanden nach und nach aus dem Index.

Schnack

Nach ein paar Wochen fiel uns dann jedoch bei einer Analyse der Daten in den Google Webmaster Tools auf, dass die neuen sprechenden URLs, die wir in den Index geschoben hatten, überhaupt gar keine Impressionen erhielten und auf einmal neue kryptische URLs rankten, die uns völlig unbekannt waren:

http://www.domain.de/?id=X&hotelID=XYZ

Wir haben eine ganze Weile gesucht, bis wir diese URLs finden konnten. Natürlich gingen wir davon aus, dass diese Seiten irgendwo intern oder extern verlinkt sein müssen. Pustekuchen. Auch in die Sitemap waren sie nicht versehentlich gerutscht. Und auch die Canonical-Tags waren korrekt. Die neuen kryptischen URLs, die plötzlich die ganzen Impressionen und den ganzen Traffic bekamen, verwiesen sogar selbst per Canonical-Tag auf die sprechenden URLs, die wir eigentlich im Index haben wollten.

Nach langem Suchen haben wir diesen neuen URL-Typen dann in den hreflang-Auszeichnungen gefunden. Obwohl die schweizerische und die österreichische Variante der Website noch gar nicht online waren, hatte die Technik-Agentur vorsorglich schon einmal hreflang-Auszeichnungen integriert und dabei diese neue URL-Struktur „erfunden“.

hreflang-Comic

Die hreflang-Auszeichnungen auf den Seiten des Typs http://www.domain.de/hotels/hotelname/ sahen also so aus:

<link rel="alternate" href="http://www.domain.de/?id=X&hotelID=XYZ" hreflang="de-de"/>
<link rel="alternate" href="http://www.domain.ch/?id=X&hotelID=XYZ" hreflang="de-ch"/>
<link rel="alternate" href="http://www.domain.at/?id=X&hotelID=XYZ" hreflang="de-at"/>

Obwohl die ch- und die at-Variante noch gar nicht existierten und obwohl die sprechenden URLs per hreflang nicht auf sich selbst verwiesen, wie sie eigentlich sollten, sondern auf andere, bis dato völlig unbekannte, kryptische URLs, die zu allem Überfluss auch noch per Canonical-Tag zurück auf die sprechenden URLs verlinkten, entschied sich Google, diese kryptischen URLs aus den hreflang-Auszeichnungen zu indexieren und immer anstatt der sprechenden URLs anzuzeigen.

Unsere sprechenden URLs waren also intern verlinkt, befanden sich in der Sitemap und waren das Ziel der Canonical-Tags auf allen URL-Varianten der jeweiligen Seite.

Die kryptischen URLs, die Google permanent anzeigte, waren hingegen nirgendwo intern verlinkt, befanden sich in keiner Sitemap, verwiesen selbst per Canonical-Tag auf die sprechenden URLs und waren ausschließlich in den hreflang-Auszeichnungen zu finden. Diese hreflang-Auszeichnungen waren zudem auch noch fehlerhaft umgesetzt, da sie auf zwei Varianten verwiesen, die gar nicht existierten, und da sie außerdem nicht auf die URL selbst verwiesen, auf der sie eingebunden waren. In so einem Fall würde man eigentlich davon ausgehen, dass Google die hreflang-Auszeichnungen komplett übergeht.

Trotzdem hat Google alle naheliegenden Signale für Indexierung und Ranking (interne Verlinkung, Canonical-Tags, XML-Sitemaps) ignoriert und sich allein auf die hreflang-Auszeichnungen verlassen.

Schnuck

Wir können daraus nur schließen, dass hreflang sich insgeheim zu einem mächtigen Indexierungs-Faktor gemausert hat. Wer also eine Verwendung für hreflang auf seiner Website findet, weil er mehrere Sprach- oder Länder-Versionen anbietet, der sollte nicht zweimal überlegen, bevor er Gebrauch davon macht. Und wer eventuell ein Problem mit von Google ignorierten Canonical-Tags hat, der könnte ja mal überlegen, ob er nicht vielleicht hreflang als zusätzliches Indexierungs-Signal „missbrauchen“ möchte.

Wir freuen uns natürlich, wenn ihr über die Ergebnisse eurer Experimente berichtet.

Don’t mess with hreflang!

[smx_banner]

Eoghan war von 2013 bis 2016 als Consultant bei rankingCHECK tätig. An unseren Standorten in Brüssel und Pontevedra betreute er internationale und mehrsprachige Online-Marketing-Projekte. Heute arbeitet er als unabhängiger Unternehmensberater. Aufgepasst! „Eoghan“ ist irisch und wird wie der englische Vorname „Owen“ ausgesprochen. Mehr Lesestoff von Eoghan gibt’s auf www.rebelytics.com.

5 / 5 (12 votes)

Schreibe einen Kommentar

Loading Facebook Comments ...

9 Kommentare

Egon schrieb am 10. Dezember, 2014 @ 11:33

Das hreflang eine hohe Bedeutung hat, haben wir bereits selbst erfahren. Aber das dieses tag die genannten Verlinkungen und Auszeichnungen einfach ausbooten kann hätte ich niemals gedacht. Das ist wirklich sehr interessant, andererseits auch sehr gefährlich. Jeder, der mit dem hreflang zum ersten mal gearbeitet hat, hat wahrscheinlich auch die Erfahrung gemacht: Ist das jetzt richtig so? Das sieht komisch aus? Und wenn X der Fall ist? Mh, komisch… Bis man mal den Dreh einigermaßen raus hat. Eines ist wohl sicher: Try-and-Error Spielchen mit hreflang Tag sind sicherlich kein gutes Vorgehen 🙂

Gunnar Bittersmann schrieb am 12. Dezember, 2014 @ 12:01

„Normalerweise werden hreflang-Auszeichnungen dafür eingesetzt, Google zu signalisieren …“

Nei-en! Zunächst einmal werden Auszeichnungen für Menschen eingesetzt, nicht für Suchmaschinen. Besser gesagt: für die Browser, die den Nutzern die Informationen zugänglich machen.

Außerdem gibt es neben Google noch andere Suchmaschinen, daruter auch solche wie DuckDuckGo, die nicht Spyware 2.0 sind.

„… welche URLs verschiedener Sprach- und Länderversionen einer Website zusammengehören und für welches Land sie genau gedacht sind.“

Das hreflang-Attribut ist dafür gedacht, die Sprache des verlinkten Dokuments anzugeben: „Wenn man beim Link mittels Text oder Grafik kenntlich macht, dass die verlinkte Seite in einer anderen Sprache ist, können die Nutzer entsprechend ihren Sprachkenntnissen im Voraus entscheiden, ob sie dem Link folgen.“

Also eher für Seiten, die (sprachlich) _nicht_ zusammengehören. Und mit Ländern hat hreflang so ziemlich gar nichts zu tun.

Eoghan Henn schrieb am 12. Dezember, 2014 @ 12:12

Mensch Gunnar… Nimm dir doch mal die Zeit, den Artikel zu lesen und zu schauen, worum es hier wirklich geht. Ich glaube nämlich, dass du mit deinem Wissen zu diesem Thema wirklich wertvollen Input liefern könntest.

Ich gebe zu, dass der erste Satz missverständlich formuliert ist. Mir waren die hreflang-Auszeichnungen, von denen du hier sprichst, bisher nicht bekannt. Du meinst das hier: http://www.w3.org/International/questions/qa-link-lang (hreflang-Attribut in a-Tags). In dem Artikel geht es um das hier: http://www.w3.org/TR/html4/struct/links.html#h-12.3.3 (hreflang-Attribut in link-Tags).

Die Auszeichnungen, um die es hier geht, sind für den Nutzer nicht sichtbar! Und ja, man kann zusätzlich zur Sprache auch ein Land definieren. Und du hast Recht, es gibt andere Suchmaschinen, aber mir ist außer Google keine bekannt, die diese hreflang-Auszeichnungen berücksichtigt.

Hier die Ressource von Google zu dem Thema: https://support.google.com/webmasters/answer/189077?hl=de

Gunnar Bittersmann schrieb am 14. Dezember, 2014 @ 7:58

„Die Auszeichnungen, um die es hier geht, sind für den Nutzer nicht sichtbar!“

Ich glaube mich an Browser zu erinnern, die im head-Element vorhandene Links dem Nutzer sichtbar machten. Nicht auf der Seite, sondern im Menü des Browsers, was bei rel=“home“, rel=“prev“, rel=“next“, rel=“alternate“ usw. ja durchaus sinnvoll ist. Mag sein, dass dies etwas in Vergessenheit geraten ist.

Außerdem kann man natürlich auch Elemente aus dem head per CSS auf der Seite sichtbar machen.

Dass link-Angaben für Google gemacht würden, würde ich so nicht unterschreiben. Jedenfalls nicht primär, nicht ausschließlich.

Gunnar Bittersmann schrieb am 16. Dezember, 2014 @ 8:51

So wie ich das sehe, gibt es hier keinen einzigen Beleg für „unglaubliche Power von hreflang“. Ich glaube nicht, dass „Google dem hreflang-Tag wirklich immense Bedeutung zumisst“ (was übrigens kein „Tag“ ist). Ich vermute, dass nicht hreflang, sondern rel=“alternate“ für den beobachteten Effekt verantwortlich ist.

Ist natürlich nur eine Vermutung, aber ist nicht bei SEO alles nur Vermutung?

Noch zwei Anmerkungen:

„Die URLs … werden nach folgendem Schema aufgebaut: http://www.domain.de/reisen/angebote/?hotelID=XYZ“

Bitte verwendet für Beispieldomains keine Domains wie domain.de oder test.de, hinter denen sich Inhalte von jemandem anderen verbergen, sondern die nach BCP 32für diesen Zweck vorgesehenen Domains wie example.com.

„… haben uns natürlich gewünscht, dass diese URLs in sprechende URLs ohne Parameter umgewandelt werden. Das ist laut Technik-Agentur leider nicht machbar“

Es ist mir schleierhaft, warum serverseitige Weiterleitungen „nicht machbar“ sein sollten. Steckt da mehr „Agentur“ als „Technik“ dahinter?

Eoghan Henn schrieb am 16. Dezember, 2014 @ 10:58

Hi Gunnar, das Thema scheint dich ja nicht loszulassen 🙂

Es wäre für Nutzer ja echt schick, wenn Browser die hreflang-Auszeichnung berücksichtigen würden. So könnte z.B. ein Hinweis angezeigt werden, welche Sprach- und Länder-Versionen noch verfügbar sind. Manche Sprachwechsler auf Websites sind so nutzerUNfreundlich, dass ein einheitlicher Standard im Browser sicher angenehm wäre.

Deine Anmerkung, das „hreflang-Tag“ wäre kein Tag, ist leider falsch. Natürlich ist das hier ein Tag:

Du kannst gerne kritisieren, dass ich es als „hreflang“-Tag bezeichne, aber nicht, dass ich es als „Tag“ bezeichne. Und „hreflang-Tag“ ist halt einfacher als „link-Tag, welches ein hreflang-Attribut beinhaltet“. Genauso nennt man ja die Silvesterwoche auch nicht „Woche, die den Tag Silvester beinhaltet“. Du würdest jetzt aber auch nicht behaupten, dass die Silvesterwoche keine Woche ist, oder? 😉

Wenn du sagst, dass rel=alternate für den beobachteten Effekt verantwortlich ist, dann sagst du nichts anderes als ich, du drückst es nur anders aus. Wenn du den Artikel aufmerksam liest, dann stellst du fest, dass ich „hreflang-Auszeichnungen“ und „hreflang-Tags“ als Synonyme verwende und damit immer das gesamte link-Tag inkl. rel-, href- und hreflang-Atrribut meine.

Als Beispieldomain benutze ich ab jetzt einfach bittersmann.de!

Und zu deiner letzten Anmerkung: Ja, es ist in der Tat haarsträubend, was laut Entwicklern alles „nicht machbar“ ist. In unserem Job arbeitet man täglich mit Technik-Agenturen zusammen und deren Arbeitsmoral und Know-How lassen in vielen Fällen sehr zu wünschen übrig.

Gunnar Bittersmann schrieb am 16. Dezember, 2014 @ 13:30

„Hi Gunnar, das Thema scheint dich ja nicht loszulassen :)“

Tja, Eoghan, wenn ich mich erst einmal festgebissen habe. 😉

„Wenn du sagst, dass rel=alternate für den beobachteten Effekt verantwortlich ist, dann sagst du nichts anderes als ich“

Doch, was ganz anderes. Ich denke, dass der Effekt auch bei <link rel=alternate href=…> aufträte, ohne dass da irgendein hreflang-Attribut im Spiel wäre. Dass also dein Fazit „Don’t mess with hreflang!“ nicht korrekt ist, sondern man den Schluss „Don’t mess with rel=”alternate”!“ ziehen müsste.

Eoghan Henn schrieb am 16. Dezember, 2014 @ 14:16

Könnte man ja mal testen. Ich meine mich zu erinnern, dass Google link-Tags mit dem Attribut „media“ berücksichtigt, wenn man verschiedene URLs für verschiedene Gerätetypen hat. Ich weiß allerdings nicht, was Google macht, wenn man ein link-Tag ohne eines der Attribute „media“ oder „hreflang“ einsetzt.

Trackbacks

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Loading Disqus Comments ...