TYPO3 – hreflang-Attribut für die Sprach- oder Regions-URL verwenden
Auf Google wird erklärt, wie ihr bei Multi-Sprachen Webseiten die hreflang Tag´s verwenden sollt und für was diese natürlich gut sein sollen!
https://support.google.com/webmasters/answer/189077?hl=de
<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />
Wichtig ist dabei der Aufbau und das alle Sprach-URL´s auch ausgeben werden. D.h. bei einer DE, EN Webseite, müssen beide Links mit ausgebgen werden.
Hier der passende typoscript Code als Beispiel werden drei Sprachen verwendet: Englisch, China Simple und China Traditional:
page.headerData.51 = HMENU page.headerData.51 { special = language #Sprach IDs eintragen special.value = 0,1,2 special.normalWhenNoLanguage = 0 1 = TMENU 1 { NO = 1 NO { stdWrap.cObject = TEXT stdWrap.cObject { value = en || zh-CN || zh-TW } linkWrap = <link rel="alternate" hreflang="| doNotLinkIt = 1 after.cObject = TEXT after.cObject { stdWrap { wrap = " href="|" /> typolink { parameter.data = page:uid additionalParams = &L=0 || &L=1 || &L=2 returnLast = url #inkl baseurl forceAbsoluteUrl = 1 #z.b. tt_news addQueryString = 1 } } } } # Aktive Sprache deaktivieren = 1 CUR < .NO CUR = 1 CUR { #doNotShowLink = 1 } # Aktive Sprache deaktivieren = 1 ACT < .NO ACT = 1 ACT { #doNotShowLink = 1 } # Nicht übersetzte Sprache deaktivieren USERDEF1 < .NO USERDEF1 { doNotShowLink = 1 after > } # Nicht übersetzte Sprache deaktivieren USERDEF2 < .NO USERDEF2 { doNotShowLink = 1 after > } } }
Im Fall von Auswahlmenüs für Sprache bzw. Land, die automatisch weiterleiten, sollten Sie zudem eine Annotation für den hreflang-Wert „x-default“ hinzufügen:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
Schreibt mir in den Kommentaren ob es klappt hat, oder ob Ihr weitere Lösungen oder Probleme damit hatten. Vielen Dank!
Eure Meinung zu dem Artikel ist gefragt! Schreibt mir ein Kommentar
Ich freue mich auf einen Blick auf meine Amazon-Wunschliste. Vielen Dank!
Waldgeist
Für den Fall, dass jemand das ganze ohne Typoscript und mit MenuProcessor + FLUID machen möchte:
http://www.waldgeist.org/2018/04/create-typo3-hreflang-tags-with-fluid/
TYPO3 Internetagentur - Sebastian
die Werte habe ich überarbeitet.
Es werden auch keine „nicht übersetzte Seiten“ gezeigt!
Sebastian
kann ich machen, nur im Moment fehlt mir wirklich die Zeit dazu 🙁
Paul
Keine Ahnung ob mein Kommentar noch den Author erreicht. Aber:
Wäre es noch möglich das so zu erweitern das wenn man auf einer Detailseite einer news ist er keine alternate link für die andere Sprache macht wenn es dazu keine Übersetzung gibt?!
Rick
Hallo,
Danke sehr!! (Tag wurde nicht angezeigt)
Es zeigen folgende Codes auf englischer Seite:
-link href=“http://test.com/industry/mining/“ hreflang=“en“ rel=“alternate“-
-link href=“http://test.com/industrie/mining/“ hreflang=“de“ rel=“alternate“-
Auf deutscher Seite:
-link href=“http://test.com/industry/bergbau/“ hreflang=“en“ rel=“alternate“-
-link href=“http://test.com/industrie/bergbau/“ hreflang=“de“ rel=“alternate“-
Der Seite-Titel holt die richtige Übersetzung, aber der Get-parameter holt immer die Übersetzung aktueller Sprache.
Gruß, RICK
Rick
Hallo,
Danke sehr!!
Es funktioniert nicht ganz mit Realurl, und zwar bei Get-Parameter in Query.
http://test.com/index.php?id=9&tx_key%5Buid%5D=6
realurl: http://test.com/industry/mining/
http://test.com/index.php?id=9&tx_key%5Buid%5D=6&L=1
in realurl: http://test.com/industrie/bergbau/
Es zeigen folgende Codes auf englischer Seite:
Auf deutscher Seite:
Der Seite-Titel holt die richtige Übersetzung, aber der Get-parameter holt immer die Übersetzung aktueller Sprache.
Gruß, Rick
Matthias Klenk
Vielen Dank.
Irgendwie stand ich auf dem TypoScript-Schlauch 🙂
tt_news hat kurzzeitig Probleme bereitet. Mit Hilfe von addQueryString funktioniert es jedoch einwandfrei.
Vielen Dank