Delivering solid user friendly software solutions since the dawn of time.

Support multiple languages on your site

Categories: HTML

From: https://support.google.com/webmasters/answer/182192?hl=en&ref_topic=2370587


  • don't mix languages in the content
  • block robots from crawling auto translated pages -> can harm site perception
  • keep content for each language on a separated url
  • do not use cookies to change content language
  • cross link each version of a page (so user can switch with one click)
  • avoid automatic redirect on perceived language
  • always use UTF-8 in the url and as much as possible
  • google will use TLD as strong signal for that country
  • if single country and general TLD then you should use country targetting of the google search console settings
  • server ip should be close to the users
  • indicators of address, google my business, phone,... will be used to localize your content
  • google does not use geo.position, distribution and/or html tags
  • use canonical when same translation in more then one place
  • use hreflang and regional urls

Domain Examples

  • example.ie (server location irrelevant)
  • de.example.com (country or language?)
  • example.com/de/ (can use console targetting)
  • site.com?loc=de (not recommended)


From: https://support.google.com/webmasters/answer/189077

  • tailored to language, market and culture.
  • have support available for the language.
  • english dollar vs english pound
  • when using culture specific hreflang, also use an only language one
  • x-default for mixed and language selectors
  • specify only on the cannonical url
  • all alternatives should be included, also the page itself
  • prefered to keep alternatives in a similar directory structure as main language
  • be consistend with your url structure
  • display a banner to suggest an alternative page in user language instead of redirecting
  • avoid putting language or country in a url parameter
  • use UTF-8 for urls
  • !! it's not clear if one should or should not translate the urls !!
  • page speed within the country is a strong signal
  • add ability to swith language
  • ensure tourist experience, do not lock users into their current ip location

Html Elements

<link rel="alternate" hreflang="es" href="http://es.example.com/page.html" />

or with html header

Link: <a href="http://es.example.com/" target="_blank">http://es.example.com/; rel="alternate"; hreflang=es"

or in sitemap

<xhtml: link rel="alternate" hreflang="en-gb" ...

Static generators

Jekyll example: https://github.com/sylvaindurand/multilingual-jekyll