site Multilangues, la bonne technique !!

julienquiz

Nouveau WRInaute
bonjour,
pour un Site multilingue : quelle méthode utiliser:

- Que dois-je mettre dans le "index.php" ?
- Comment Google va t-il référencer le site ?
- Est-ce que je dois réaliser la redirection vers les pages, en fonction de la langue du client, en PHP ?
- Si j'utilise le "htaccess" pour rediriger mes utilisateurs vers la langue de son pays Comment Google va t-il interpréter cela ?
- Est-ce que je peux définir plusieurs zones géographique, dans la boite à outils pour Webmaster sur Google, par exemple http://www.site.com/fr, http://www.site.com/es, http://www.site.com/en ?

En un mot : Quelle est la bonne technique pour référencer correctement mon site ?

cordialement
 

Marie-Aude

WRInaute accro
"la" bonne technique n'existe pas, tout dépend de tes contraintes.
J'ai d'ailleurs écrit un article assez détaillé là dessus
http://www.lumieredelune.com/encrelune/referencer-site-anglais,2008,07

Ensuite pour répondre à tes questions :

1. ça dépend, mais surtout pas une splash page pour choisir la langue
2. ça dépend de la façon dont tu le fais, mais pour moi je n'ai pas de problèmes
3. Oui, en fonction de la langue préférée du navigateur, avec un cookie pour mémoriser leur choix (si jamais ils changent)
4. euh.... plutôt php
5. Oui sans problème (attention à faire tes sites maps au même niveau)
 

jcaron

WRInaute accro
La première question à te poser, c'est si ton site est multilingue (tu vises tous les internautes qui parlent les langues utilisées) ou multi-régions (tu vises des pays particuliers, ou il y a d'autres choses qui changent d'une version à l'autre, par exemple les prix). Les approches peuvent être ensuite assez différentes.

Un peu de documentation de la part de Google:
http://googlewebmastercentral.blogspot.com/2010/03/working-with-multil ... sites.html

Si c'est un site multilingue (et pas multi-régions), je mettrais un sous-dossier pour chaque langue (exemple.com/fr/, exemple.com/en/, etc.), ou des sous-domaines (fr.exemple.com, en.exemple.com, etc.) et sur la page d'accueil une détection de langue avec redirection sur le bon côté.

Les moteurs n'envoient pas de Accept-Language, il faut donc gérer ce cas et avoir une langue par défaut (il faut aussi gérer le cas où l'utilisateur te dit qu'il préfère une langue que tu ne proposes pas, évidemment).

Ne pas oublier des liens entre les versions.

Jacques.
 

aladdin

WRInaute passionné
J'ai un site bilingue (Arabe/Français), je n'ai pas utilisé de technique spécifique au référencement, simplement les bonnes pratiques connues et utilisé pour un site normal.
seul nuance, pour le référencement dans google news, j'ai été obligé de soumettre un sitemap de news pour chaque langue.

résultat : google sait très bien faire la différence, les pages FR sont bien classées dans les pays francophones, et les pages AR sont bien classées dans les pays arabes.

après, c'est peut être juste due au fait que l'alphabet Arabe est Français sont complètement différent ....
 

jcaron

WRInaute accro
Quoi qu'il arrive, Google n'a pas besoin d'aide pour savoir dans quelle langue est une page (le domaine, le chemin, le Content-Language, les balises lang, etc. sont complètement ignorées). C'est effectivement plus facile pour des langues qui utilisent des scripts très différents, mais à partir du moment où il y a assez de texte il y arrive très bien. La séparation en dossiers ou sous-domaines n'est pas du tout indispensable, mais l'utilisation de paramètres (genre ?lang=fr) n'est pas très élégante, et la négociation automatique (i.e. afficher une langue plutôt qu'une autre en fonction du Content-Language ou d'un cookie), même si elle est nettement plus élégante, n'est pas supportée par les robots qui ne verront toujours qu'une seule langue...

Jacques.
 

Lentreprenaute

WRInaute impliqué
Idem pour la question initiale :

j'ai actuellement un site en plusieurs langues :

1 site.ltd
2 site.ltd/fr/
3 site.ltd/en/
3 site.ltd/es/

1 et 2 sont des pages identiques ( à cause de la structure demultipliée pour l'anglais et l'espagnol) et j'ai voulu avoir la version fr par défaut sans faire une page d'entrée par langue (cliquez la pour le fr,...). Est-il judicieux de rediriger l'url 1 vers l'url 2 par défaut sans en perdre le bénéfice actuel. Je parle d'une redirection qui s'adresse aux robots (et users) tel Google et non de faire une redirection pour les internautes en detectant la langue du navigateur.

bref j'ai une page de trop et si je pouvais faire de la page d'accueil l'url 2 se serait parfait. Merci pour les recommandations pour faire cela au mieux.

Cordialement
 

jcaron

WRInaute accro
Moi je ferais une redirection automatique de 1 vers 2, 3 ou 4 suivant la langue du navigateur, avec un défaut (valable pour les robots, donc) si pas de Accept-Language ou un Accept-Language non supporté qui va vers la version de ton choix (a priori fr, donc).

Ne pas oublier les liens entre les versions.

Jacques.
 

Lentreprenaute

WRInaute impliqué
jcaron a dit:
Moi je ferais une redirection automatique de 1 vers 2, 3 ou 4 suivant la langue du navigateur, avec un défaut (valable pour les robots, donc) si pas de Accept-Language ou un Accept-Language non supporté qui va vers la version de ton choix (a priori fr, donc).

Ne pas oublier les liens entre les versions.

Jacques.

je me suis fait blacklisté un site par le passé avec une detection/redirection, de memoire faite avec du js :oops: mais effectivement ce serait pas mal. si vous pouvez me confirmez pour le code ci-dessus, je vais voir si dans les prochaines semaines, cet ajout apporte quelque chose.

note : toutes les versions tournent dans leur repertoire langue, il n'y a aucun renvoi vers la home mais toujours au niveau du repertoire site.ltd/fr/ ou site.ltd/en/

meerci
 

Lentreprenaute

WRInaute impliqué
Lentreprenaute a dit:
En gros je mets cette balise : <link rel="canonical" href="http://www.site.ltd/fr/" /> dans ma page d'accueil (http://www.site.ltd/)et cela suffit?

Pourriez-vous me confirmer le bon usage de cette méthode? en faisant cela depuis la racine, je vais donc donner toute l'importance a la version http://www.site.ltd/fr/, n'est-ce pas risqué de rediriger vers ce repertoire et non plus a la racine.

merci
 

SylvB

Nouveau WRInaute
Bonjour à tous,

Je suis à peu près dans la même situation. J’ai un site .com en deux langues français et anglais, chacune des langues dans un sous-répertoire (monsite.com/en et monsite.com/fr) Pour garder la symétrie du site, je souhaitais initialement que les moteurs n'indexent que les pages monsite.com/fr et monsite.com/en et que la page monsite.com n'apparaisse pas dans les résultats.

A l'origine il n'y avait pas de redirection sur la page monsite.com qui apparaissait en anglais mais celle-ci utilisait une url canonique (afin de préciser aux moteurs que la page est relative à monsite.com/en). Mais après un an environ, tout est bien indexé (en français et anglais), sauf toujours la page d'accueil : ne sont indexées en effet que les pages monsite.com en anglais et monsite.com/fr en français.

Comme apparemment l'utilisation d'url canonique ne semble pas fonctionner, je me suis décidé à mettre en place une redirection sur la page d'accueil suivant la langue du visiteur, afin que disparaisse la page monsite.com des résultats de recherche et qu'elle soit remplacée par monsite.com/en.

Après avoir lu quelques discussions, j’ai décidé de procéder à une redirection 302 (vu qu'apparemment c'est la pratique la plus répandue dans ce cas) via le fichier htaccess suivant la langue détectée par HTTP:Accept-Language
Code:
  RewriteCond %{HTTP:Accept-Language} ^fr.$ [NC]
  RewriteCond %{REQUEST_URI} ^/$ [NC]
  RewriteCond %{QUERY_STRING} !(^q\=) [NC]
  RewriteRule ^(.)$ /fr [L,R=302]

  RewriteCond %{REQUEST_URI} ^/$ [NC]
  RewriteCond %{QUERY_STRING} !(^q\=) [NC]
  RewriteRule ^(.*)$ /en [L,R=302]
ie : si le visiteur est francophone, il est redirigé vers la page monsite.com/fr sinon (et donc les robots également) il est redirigé vers monsite.com/en

1) Est-ce une bonne idée de faire cela via le htaccess ? (j'ai vu que beaucoup de gens préféraient utiliser une redirection php)
2) Je comprends qu'avec la redirection 302, les moteurs ne vont pas actualiser leur index et donc j'ai peur que cela ne change pas grand chose à mon problème. Est-ce que je n'ai pas plutôt intérêt dans mon cas à utiliser une redirection 301 ? Mais alors est-ce que tout le site ne va pas être pénalisé (du fait d'une redirection 301 systématique) ?

Merci d’avance pour votre aide ! J’espère avoir été à peu près clair….
 

Marie-Aude

WRInaute accro
Si tu fais ta redirection uniquement sur la racine, elle ne sera pas "systématique" sur tout le site, mais uniquement sur la racine. Il n'y aura pas de redirection sur les répertoires /fr et /en
 

SylvB

Nouveau WRInaute
Je ne cherche pas à faire la redirection systématiquement sur tout le site, uniquement sur la page d'accueil

Le but c'est que lorsqu'une personne tape monsite.com elle soit redirigée soit vers monsite.com/fr soit vers monsite.com/en suivant la variable HTTP:Accept-Language

L'idée c'est que monsite.com disparaisse de l'index pour conserver une page d'accueil en français et une page d'accueil en anglais chacune avec une url propre

Page d'accueil Francais : monsite.com/fr
Page d'accueil Anglais : monsite.com/en et non pas monsite.com

Si je fais le redirection en 301 depuis monsite.com vers /fr ou /en est-ce que c'est risqué en terme de référencement ou bien cela ne pose pas de problèmes particuliers ?
 

Discussions similaires

Haut