Posted on 2 Comments

Generate hreflang alternate tags in TYPO3

TYPO3 Logo

Here is a quick TypoScript snippet that generates hreflang alternate tags in TYPO3. Take note of the following parameters:

  • special.value: set IDs of languages available, e.g. 0
  • stdWrap.cObject.value: specify the locale corresponding to special.value, e.g. de-AT
  • stdWrap.typolink.additionalParams: specify the special.value values for each locale set

TypoScript code to generate hreflang alternate tags

Here’s the snippet for a couple of exemplary locales:

page.headerData.100 = HMENU
page.headerData.100 {
  special = language
  special.value = 0,1,2,3,4
  1 = TMENU
  1 {
    NO = 1
    NO {
      stdWrap.cObject = TEXT
      stdWrap.cObject {
        value = de-AT || en || it-IT || fr-FR || sl-SI
      }
      linkWrap = 
        stdWrap.typolink.parameter.data = page:uid
        stdWrap.typolink.additionalParams = &L=0 || &L=1 || &L=2 || &L=3 || &L=4
        stdWrap.typolink.returnLast = url
      }
    }
  }
}

Snippet Output

The snippet above produces the following output:

<link rel="alternate" hreflang="de-AT" href="http://www.somedomain.at/at-page" />
<link rel="alternate" hreflang="en" href="http://www.somedomain.com/en-page" /> 
<link rel="alternate" hreflang="it-IT" href="http://www.somedomain.it/it-page" /> 
<link rel="alternate" hreflang="fr-FR" href="http://www.somedomain.fr/fr-page" /> 
<link rel="alternate" hreflang="sl-SI" href="http://www.somedomain.si/si-page" />

That’s it!