Dans son article, Ramenos présente quatre solutions utilisées pour gérer les sites multilingues :
  • Un nom de domaine par langue
  • Un répertoire par langue
  • Un sous domaine par langue
  • Plusieurs langues sur la même page

Utiliser un nom de domaine par langue

Evidemment, cette première solution est de loin la meilleure. Il y a plusieurs avantages supplémentaires :
  • Chaque domaine séparé peut recevoir des liens externes. En échangeant des liens entre ces domaines on répartit la popularité. Ceci permet l'inscription sur des annuaires régionaux ou des annuaires n'acceptant pas les pages internes de sites.
  • Les moteurs de recherche identifient la localisation géographique des sites avec deux critères : l'emplacement du serveur et l'extension du nom de domaine. Avec nom de domaine spécifique à chaque pays, on remplit un des deux critères.
Bref, le seul souci quand on choisit cette solution, c'est de gérer les sites. Il y a toutefois des solutions qui permettent d'utiliser une gestion de contenu centralisée publiée sous des domaines différents. Le site P&O par exemple (hébergé sous Oracle Application Server) est disponible en plusieurs langues séparées sous des domaines différents.

Changement de langue avec passage de paramètre

Le passage d'un paramètre L= est courant sur les sites dynamiques (typique dans les CMS). Il peut toutefois poser des problèmes s'il est mal géré. J'ai eu le cas suivant avec Typo 3 et Joomla : lorsqu'on arrive sur le site, on accède à la langue par défaut, aucun paramètre de langue dans les URLs. En changeant de langue, un paramètre L=1 est passé. Mais en repassant à la langue par défaut à partir d'une page avec L=1 dans l'URL, un paramètre L=0 est ajouté pour repasser à la langue par défaut ! Contenus dupliqués...

Changement de langue avec cookie

Cette solution, adoptée par certains sites est une des plus mauvaises. Lorsque l'internaute change la langue, cela modifie la valeur d'un cookie spécifique. Le problème c'est que les spiders des moteurs de recherche n'utilisent pas les cookies ! Dans ce cas les moteurs ne peuvent "voir" que la langue par défaut.