Architecture et référencement des sites multilingues
Un article de Cyril, Avril 2004
Expatriation / Expatrié - Portail de la Mobilité Internationale
EasyExpat est un site accessible en 5 langues, dont le référencement a été spécialement étudié en fonction de cette contrainte. Son webmaster a bien voulu expliquer sur WebRankInfo comment il a architecturé et optimisé le référencement de son site multilingue. Veuillez noter qu'il ne s'agit que d'un exemple d'architecture de site et d'optimisation pour le référencement : il peut y avoir d'autres méthodes, chacune ayant des avantages et des inconvénients.
Google.com, Google.fr, Yahoo en français, en anglais, en italien... De très nombreux sites tournés vers l'international proposent actuellement des versions en langues différentes. Cela permet, tel Yahoo, de se rapprocher de sa cible locale, ou tel Amazon de pouvoir présenter une offre commerciale plus étoffée. Si vous souhaitez attirer un public français mais aussi étranger, vous devrez vous aussi décliner votre site en plusieurs langues. Nous verrons ici les choix qui s'offrent pour l'architecture d'un site multilingue et les conséquences et méthodes pour son référencement.
Cet article est constitué de deux parties :
- L'architecture d'un site multilingue
- Les conséquences et méthodes de référencement
L'architecture d'un site multilingue
La page d'accueil et la redirection automatique
La première page n'est pas forcement la page que visitera en premier l'internaute s'il vient d'un moteur de recherche. Mais c'est une "vitrine" du site qu'il convient particulièrement de soigner. Dans le cas d'un site multilingue il existe plusieurs possibilités :
> Proposer une page d'accueil qui demandera explicitement à l'internaute de choisir une langue avant d'aller plus loin dans le site.
C'est la porte d'entrée. Avant de pénétrer plus avant dans le site l'internaute fera explicitement le choix de la langue. Il verra donc dès le départ qu'il est possible de choisir plusieurs langues pour le site. L'inconvénient est bien souvent d'avoir une page d'accueil très dépouillée et peu optimisée pour les moteurs de recherche.
> Prévoir une langue par défaut, et laisser la possibilité à l'internaute de choisir lui même une autre langue.
Vous pouvez déterminer une langue par défaut qui sera affichée lorsque l'internaute proviendra de la racine du site (http://www.monsite.com/). Vous la déterminerez généralement en fonction de vos prévisions de la provenance de la majorité de vos visiteurs et de l'image que vous souhaitez donner. A partir de là vous offrirez la possibilité à l'internaute de choisir une autre langue.
> Détecter automatiquement la langue
Il est possible d'analyser la langue utilisée pour le navigateur et en déduire le langage de préférence de l'internaute.
Pour cela vous pouvez utiliser la variable $HTTP_ACCEPT_LANGUAGE de PHP :
$lang = explode(",",$HTTP_ACCEPT_LANGUAGE);
$lang = StrToLower(substr(chop($lang[0]),0,2));
Il est aussi possible d'utiliser un code Javascript pour faire une redirection JavaScript :
<script LANGUAGE="JavaScript">
<!--
if (top==self) {
if (navigator.appName == 'Netscape')
//Reconnaitre le type de navigateur
var language= navigator.language;
else
var language = navigator.browserLanguage;
if (bl == "fr" || bl == "fr-be" || bl == "fr-ca"
|| bl == "fr-lu" || bl == "fr-mc" || bl == "fr-ch")
//il faut penser aux variantes de la langue {
this.location = "default.php?lang=fr"
}
else
this.location = "default.php?lang=en"
} //-->
</script>
Le paramètre de la langue
Il y a plusieurs façons de passer un paramètre de langue dans une page. Vous pouvez tout d'abord utiliser un cookie qui récupèrera la préférence de l'utilisateur (par exemple en fonction de la page d'accueil ou de la langue du navigateur). Vous pouvez aussi utiliser une variable de session afin de pouvoir récupérer la variable de langue sur chaque page. Il ne faudra pas oublier de prévoir une langue par défaut pour ceux qui refuseront les cookies et les robots qui viendront réferencer votre site.
La troisième méthode, que l'on préfèrera largement aux deux autres, est de modifier les URL afin de passer un paramètre supplémentaire décrivant la langue, de type http://www.monsite.com?lang=fr en français ou http://www.monsite.com?lang=en en anglais. Cela permet de gérer très facilement le contenu de la page et fournit une adresse différente pour chaque langue, ce qui permettra aux moteurs de recherche de les référencer différemment. Vous pourrez ainsi très facilement créer des sites multilingues en gardant une architecture commune alors que tous les mots de vocabulaire propre à la langue seront stokés dans un fichier langfr.inc ou langen.inc par exemple. Il suffira alors d'inclure :
include ('lang'.$lang.'.inc');
Pour de plus gros textes, vous pourrez les garder en base de données, avec un champs lang pour chaque entrée.
A noter, au cas où l'internaute modifierait à la main son URL, ou plus fréquemment lorsque certains moteurs de recherche ne référencent pas correctement les URLs avec variables, il est conseillé de prévoir une redirection lorsque le paramètre de langue est absent, de type :
if ( !isset($lang) )
{
header('Location: http://www.monsite.com/error404.php');
}
ou
if (!isset($lang))
{
$lang = explode(",",$HTTP_ACCEPT_LANGUAGE);
$lang = StrToLower(substr(chop($lang[0]),0,2));
}
Dans l'idéal, il vaut mieux que le paramètre de langue dans l'URL apparaisse à en endroit clé :
- soit dans l'extension du nom de domaine (example.fr, example.co.uk, example.it, etc.)
- soit dans le sous-domaine (fr.example.com, en.example.com, it.example.com, etc.)
- soit dans un répertoire à la racine du site (www.example.com/fr/, www.example.com/en/, www.example.com/it/, etc.)
L'URL rewriting
Une fois que vous avez le paramètre langue pour chaque page, il est conseillé d'utiliser l'URL rewriting afin d'optimiser vos URL, de les rendre un peu plus "propres".
Un exemple simple de fichier .htaccess est :
RewriteEngine on RewriteRule ^default_([a-z]*)\.htm$ default.php?lang=$1 [L]
Vous trouverez plus d'explications dans la rubrique consacrée à l'URL rewriting.
Les codes de langue du W3C
Les codes de langue consistent en un code principal et une suite éventuellement vide de sous-codes :
code-de-langue = code-principal ( "-" sous-code )*
Les codes principaux de deux lettres sont réservés aux abréviations de langues [ISO639]. Parmi les codes de deux lettres, citons : "en" (anglais), "de" (allemand), "it" (italien), "nl" (néerlandais), "el" (grec), "es" (espagnol), "pt" (portugais), "ar" (arabe), "he" (hébreu), "ru" (russe), "zh" (chinois), "ja" (japonais), "hi" (hindi), "ur" (ourdou) et "sa" (sanscrit).
La balise meta <META HTTP-EQUIV="Content-Language" content="fr"> va définir le langage principal du document, ici en français.
Cette balise était à l'origine dédiée aux moteurs de recherche, mais elle est très peu utilisée en pratique. Google définira ainsi la langue du document en fonction de son contenu.
Elle peut aussi être utilisée dans la sélection de la typographie des polices, les choix des caractères de cotation, pour connaître les emplacements de rupture des mots et les espacements inter-caractère. Elle pourrait aussi servir dans une utilisation future à la correction automatique des fautes d'orthographe des pages HTML. L'orientation permet de spécifier si l'écriture de la page se fait de droite à gauche ou de gauche à droite et permet maintenant aux pages de langue arabe de voir le jour sans les artifices de textes en bitmap.
Par ailleurs il est aussi possible de définir, à l'intérieur d'un document, une autre langue. Il suffira d'intégrer le paramètre lang dans la balise. L'attribut de langue est LANG=EN|FR|EN-US|DE|AR|RU|JA (FR représente bien sûr le français, EN-US l'américain, RU le russe, AR l'arabe et JA le japonais). La liste complète de tous les pays possibles peut être consultée dans les documents de référence [RFC1766] et [ISO639].
Voyons un exemple :
<HTML lang="fr"> <HEAD> <TITLE>Un document multilingue</TITLE> </HEAD> <BODY> <P>...Interprété comme du français... </P> <P lang="en">...in English</P> <P>...À nouveau interprété comme du français... </P> <P>...Texte français interrompu par <EM lang="ja">du japonais</EM> Le français reprend ici... </P> </BODY> </HTML>
Pour de plus amples informations, vous pouvez consulter la documentation sur le site du W3C.
Le type de caractères
Voyons d'abord ce qu'en dit le W3C :
Les encodages de caractères couramment utilisés sur le Web comprennent ISO-8859-1 (appelé aussi « Latin-1 », utilisable pour la plupart des langues d'Europe de l'Ouest), ISO-8859-5 (qui gère le cyrillique), SHIFT_JIS (un encodage du japonais), EUC-JP (un autre encodage du japonais) et UTF-8 (un encodage de ISO 10646 qui utilise un nombre différent d'octets pour différents caractères). Les noms des jeux de caractères sont insensibles à la casse, de sorte que, par exemple, "SHIFT_JIS", "Shift_JIS", et "shift_jis" sont équivalents.
La plupart de ceux qui utilisent IE sont en Western European ISO-8859-1 (ou Latin-1). Cette norme permet de traiter le texte qui contient nativement des caractères accentués tels que é qui ne sont pas codés en HTML en é .
Le Unicode (UTF-8) convient bien pour des sites en anglais (car il n'y a aucun caractère accentué) ou des sites asiatiques. Mais dans cette norme les caractères accentués qui ne seraient pas proprement codés (é) apparaitront sous forme de caractères chinois (vous pouvez essayer en changeant le code sous IE : Vue->Encodage), à moins de spécifier l'option d'encodage UTF-8 au moment de l'enregistrement du fichier, mais cela dépend de l'outil utilisé pour gérer son site.
Les conséquences et méthodes de référencement
Un site multilingue n'aura aucun mal à être référencé par un moteur de recherche. Celui-ci analysant les mots du texte, il retrouvera les pages qui correspondent le mieux aux requêtes. Le site multilingue aura aussi l'avantage de pouvoir être présent aussi bien avec une recherche des pages en français que des pages en italien par exemple (pour un site en français et en italien).
La propagation du PageRank Google
Le PageRank Google (PR) est une expression de l'importance que Google attribue à la page. Il est déterminé notamment en fonction du nombre de liens (BL ou backlink) pointant vers cette page.
Afin d'améliorer le PR de votre page d'accueil, il est donc important de lier toutes les pages de votre site avec celle ci.
Par ailleurs il est conseillé de mettre une véritable page d'accueil index.php (ou index.html) qui contiendra la langue par défaut du site plutôt qu'une page uniquement de redirection.
Si vous utilisez la redirection javascript, n'oubliez pas de mettre des liens autres dans votre page afin que le robot Googlebot puisse les suivre... car jusqu'à présent il ne comprend pas le JavaScript.
L'idéal est de respecter la structure des URL que vous avez choisie (voir précédemment dans cet article) et de faire un lien vers la bonne page d'accueil, selon la langue de la page qui fait ce lien.
Le choix du lieu d'hébergement web
Google permet de rechercher par exemple tous les sites situés en France (dont l'adresse IP du serveur est en fait localisée en France, ou pour des sites ayant un nom de domaine en .fr) pour une requête précise. Ce paramètre a une importance relative pour un site multilingue. En effet vos visiteurs venant de pays variés, la localisation ne pourra que contenter un groupe défini. Vous pouvez par exemple choisir le pays dont provient le plus grand nombre de vos visiteurs, afin de renforcer cet aspect pour des recherches locales; ou bien au contraire privilégier l'anglais ; ou encore tout simplement choisir l'offre d'hébergement la moins chère en rapport avec vos besoins.
L'idéal (pas simple à mettre en place) est d'héberger chaque version du site multilingue dans le pays correspondant à sa cible principale.
Inscrire son site dans les annuaires
Que ce soit pour les annuaires DMOZ ou Yahoo, il est possible de référencer son site dans autant de langues dont dispose le site, peu importe que le nom de domaine soit unique. Il suffit de rechercher la catégorie correcte... et ne pas oublier que le référencement se faisant manuellement (une personne physique va visiter votre site avant de l'inclure) il faudra qu'il soit jugé digne d'intérêt pour la catégorie postulée.
Le cas DMOZ
Supposons que votre site parle de voyages et soit diffusé en anglais, français et italien. Vous chercherez donc à vous faire référencer dans DMOZ en anglais dans Top:Recreation: Travel , en français dans Top: World: Français: Loisirs: Voyage et en italien dans Top: World: Italiano: Tempo Libero: Viaggi . Pour chaque catégorie, il suffira d'envoyer une demande via le lien qui correspondra à proposer un site dans chaque section. Faites attention à bien lire la description de la catégorie avant votre soumission, cela vous évitera ainsi de soumettre un site dans une mauvaise section.
Si après quelque temps (disons 1 mois) vous n'avez toujours pas de nouvelles, vous pouvez contacter l'éditeur de la catégorie (la liste se trouve en bas des pages). S'il n'y en a pas, vous devez alors contacter l'éditeur de la catégorie supérieure, et ainsi de suite jusqu'à trouver un éditeur (ils peuvent parfois être rares dans certaines langues).
Vous pouvez aussi utiliser le forum Resource-zone de DMOZ ou leurs forums World dans les différentes langues. Des éditeurs ODP vous répondront et pourront vous donner nouvelles et conseils pour votre référencement dans l'annuaire.
Le Guide Web de Yahoo
Contrairement à DMOZ, vous devrez vous rendre dans les différentes versions de l'annuaire de Yahoo pour référencer votre site. Reprenons notre exemple sur le tourisme. Vous chercherez à référencer votre site dans les annuaires de yahoo.com et probablement yahoo.co.uk (Royaume Uni et Irlande), yahoo.fr, yahoo.it . Si votre catégorie se termine par le symbole @, elle est réservée aux sites professionnels et seule la soumission payante est possible. Dans les autres cas vous pourrez suggérer un site à Yahoo via une soumission standard gratuite mais sans délais garanti.
Si après un ou deux mois vous n'avez toujours pas vu votre site apparaître, il peut être envisagé de soumettre à nouveau le site. Lorsque celui ci sera accepté, un email vous en informant vous sera envoyé. Il est souvent plus facile d'être accepté dans les Yahoo régionaux (yahoo.fr, ...) que dans yahoo.com.
Dans tous les cas il est fortement conseillé de prendre connaissance des règles pour suggérer un site sur Yahoo.
Vous trouverez également sur WebRankInfo des conseils pour le référencement sur Yahoo (l'annuaire Yahoo ou le moteur Yahoo Search).
Les liens fournis par les annuaires peuvent tous pointer sur votre page d'accueil (qui fera une redirection en fonction de la langue du navigateur), ce qui augmentera le PR transmis à votre site plus rapidement que si vous soumettez une page différente pour chaque version de votre site.
Conclusion
Google analyse tout simplement la page avec son contenu qu'il soit en français, en anglais...etc. Si vous avez correctement référencé votre site dans une langue, alors il ne devrait pas y avoir de difficultés pour que les moteurs de recherche trouvent les autres versions. N'oubliez pas que tout fonctionne par mot clef !
En résumé, le référencement d'un site multilingue, c'est avant tout du contenu (encore une fois c'est l'essentiel), des titres différents avec mots clefs sur toutes les pages, des mots clefs dans les titres (avec des balises titre)... et bien sur des langues différentes. Google ou tout autre moteur fera le reste.
Vous avez aimé cet article ? Partagez-le ! | Vous aimez WebRankInfo ? Suivez-nous ! |
Si vous souhaitez publier un extrait de cet article sur votre site, assurez-vous de respecter les conditions générales d'utilisation de WebRankInfo.
11 commentaires
Postez un commentaire !
Les champs marqués du signe * sont obligatoires. L'adresse email ne sera pas affichée.
En postant un commentaire, vous acceptez les CGU du site WebRankInfo.
Formation référencement et webmarketing
Venez chez Ranking Metrics vous former au référencement, à Google Analytics et aux réseaux sociaux ! Plus de 4000 entreprises sont déjà venues (financement possible par OPCA, DIF...).
Préparés et animés par Olivier Duffez (WebRankInfo) et Fabien Faceries (AgentWebRanking), 2 professionnels reconnus dans le domaine, nos modules sur le référencement naturel sont très complets tout en laissant une grande place à l'interactivité pour répondre à toutes les questions des participants.
Pour connaître le plan détaillé de chaque module, le prix, les dates et les lieux, consultez le site de Ranking Metrics (organisme de formation agréé).
Sites de l'annuaire
- Techniciens du Net
- GameGrob : le portail Hack'n'Slash
- Add And Boost référencement internet
- Services de traduction anglais-français et langues européennes
- WebXline agence internet franco-allemande basée à Munich
- Annuaire de référencement gratuit liens en dur
- Soumission Manuelle et Referencement International
- Référencement Blog
Hébergement web
Pour un bon référencement, il faut un bon hébergeur. Testez Sivit, l'hébergeur choisi par Olivier Duffez pour son site WebRankInfo. Vous bénéficiez d'une garantie 30 jours satisfait ou remboursé.
A partir de 1,90 EUR HT/mois.
Catégories des dossiers
- Actualité
- Android
- Autres produits Google
- Brèves
- Conseils référencement
- Débuter en référencement
- Droit et Internet
- e-marketing
- Ecrire pour le web et le référencement
- Gmail
- Google AdSense
- Google AdWords
- Google Analytics
- Google Chrome
- Google Images
- Google Labs
- Google Maps
- Google Mobile
- Google News
- Google Search
- Google Toolbar
- Google Webmaster Tools
- Google+
- Indexation Google
- L'entreprise Google
- Les API de Google
- Livres sur le référencement et les moteurs de recherche
- Outils
- PageRank
- R&D référencement
- Ranking Metrics
- Référencement Bing
- Référencement des images
- Référencement et PHP
- Référencement local
- Référencement Yahoo
- Référencement Yandex
- Réseaux sociaux
- Sitemaps
- Stratégies de liens
- Stratégies de mots-clés
- Techniques de référencement
- Webmastering
- WebRankInfo
- YouTube


8 mars 2009 à 9:18
Bravo pour vos conseils, j'ai pu m'apercevoir des difficultes a se referencer sur Google avec mon site jedonnetout.com. Meme avec un certain succes de la part des utilisateurs et un buzz considerable le site n'est pas dans les premiers. En tout cas il est vrai que google n'a plus du tout le meme comportement que les autres moteurs (balises...)
Bravo
3 mai 2010 à 13:47
Bonjour,
Ok pour la gestion des langues.
En revanche pour l'url rewriting là c'est trop complexe...
Pouvez-vous m'éclairez ?
Comment avec un .htaccess transformer une url :
http://www.mon-site.com/identite.php?lang=fr
par :
http://www.mon-site.com/identite.html
merci
3 mai 2010 à 17:03
Comme indiqué dans l'article, il est conseillé de lire le tutoriel sur l'URL rewriting
23 mai 2010 à 17:05
Bonjour,
Merci pour ce tutoriel. Par contre, j'ai une question : n'y a-t-il pas de risque de duplicate content entre http://www.mon-site.com et http://www.mon-site.com/fr/ ? ainsi d'aileurs qu'avec les index.html ?
Merci
Nicolas
1 août 2010 à 15:01
Je pense que si. C'est mieux que la page de la racine du site redirige vers l'URL correspondant à la langue voulue.
Par exemple, si l'HTTP_ACCEPT_LANGUAGE provient d'un navigateur français, monsite.com redirige vers monsite.com/fr (qui peut être géré en URL-rewriting) ou fr.monsite.com
La redirection ne doit pas être en javascript pour les moteurs de recherche.
Après, tu peux garder les préférences linguistiques du client par un cookie qui aura priorité sur l'HTTP_ACCEPT_LANGUAGE.
4 novembre 2010 à 19:17
J'ai fait ce que Marc dit sur un de mes sites. Vous pouvez en connaitre le fonctionnement à cette page : http://forum.webrankinfo.com/referencement-multilingue-avec-meme-url-t63545.html#p1238288
24 novembre 2010 à 14:57
En ce qui me concerne, j'ai opté pour l'option suivante:
Mon site a une langue par défaut, l'américain, qu'on trouve sur la page d'acceuil.
ex: http://www.superior-extensions.com
A partir de ce point, l'utilisateur peut choisir sa langue, et continue alors sa navigation dans un sous dossier définissant la langue :
ex: http://www.superior-extensions.com/fr
Avec ça, je n'ai pas de duplicate content.
Mais je me pose une autre question : Comment différencier le français du Canada du français standard? Quelqu'un pourrait me dire si je peux remplacer mes sous dossiers fr, it par fr-FR, fr-BE?
Car si j'ai bien compris, google associe chaque page non pas à une langue, mais à une localité...
Merci
24 novembre 2010 à 20:10
@Nicolas
Je ne crois pas que M. G fasse la différence entre fr-CA ou fr-BE.
Si tu veux avoir une localisation différente pour certaines pages de ton site, tu devras utiliser les sous-domaines.
Sur le site http://www.secure-anonymous-email.com/, j'ai utilisé le rewriting pour séparer le français de l'anglais. En ne disant pas à M. G de quelle langue et quelle localité est le site, il s'occupe lui même de trouver les langues et les associer au pays.
19 novembre 2011 à 0:02
Bonjour,
Je pense que pour un site multilingue la meilleur solution aux yeux de Google et d'utiliser directement des sous domaine avec pour www, la langue principale du site.
23 novembre 2011 à 0:33
Bonsoir,
je suis entrain de programmer la seconde version de mon site.
Et j'ai décidé d'ajouté à celle-ci une version multilingue, mais une question me tarode.
Comment faire en sorte qu'une fois la pag index.php traduite, tous ces liens renvoient bien vers page1.php&lang=$lang ou page2.php&lang=$lang ?
Je vous remercie par avance de votre réponse,
Bien amicalement,
yann.
21 mai 2012 à 15:11
Je réponds un peu tard, mais si cela peut aider d'autre personne... Ce que j'ai fait c’est créer une table avec les différentes traductions possible. Si la page existe dans la langue actuelle, je renvoie vers celle-ci (par exemple "produits.html". Si la langue n'est pas présente, soit le lien n'est pas fait ou alors il utilise la langue par défaut "products.html" pour l'anglais.
J'utilise la solution de la réécriture d'url pour la gestion des langues pour "créer" des dossiers (fr, en, nl, etc.)
Bonne journée