Bonjour,

je cherche la bonne pratique pour rediriger un internaute vers la langue la plus appropriée d’un site, et malgré mes recherches je ne trouve pas de réponses carrées.
Disons que j’ai mon site en 2 langues, un dossier « fr », un dossier « en ». Le nom de domaine pointe sur une page index qui redirige vers l’un de ces 2 dossiers.
Je ne veux pas d’une page de choix de langue qui agace l’internaute plus qu’autre chose, impose un clic pour rien etc.

Ma question porte donc sur le critère de redirection (ip, langue du navigateur… ?) et surtout la méthode (meta, js, php, htaccess…)

• Si on use une redirection client (meta refresh), cela crée une redirection que google n’aime pas pour le référencement, il me semble.
• Si on fait une redirection permanente (301), ce n’est pas adapté à ce cas, ce serait un non sens vu que ça n’a rien de permanent et en plus je doute que l’on puisse utiliser une variable pour définir une redirection permanente.
• Si on use une redirection temporaire (302) je sais pas ce qui se passe mais il parait que les moteurs ne les traitent pas bien.
• Si on fait une redirection javascript, Google ne saura même pas que le dossier « fr » et « en » existent vu qu’il ne lit pas le js…

Je me doute que je fais erreur quelque part...
Bref je suis un peu perdu et m’en remets à vous.
Merci beaucoup.
Eric C.
Salut kalmah,

Je cherche également une réponse à cette question, on me demande de rediriger l'utilisateur en fonction de la langue de son navigateur avec bien entendu une possibilité de changer de langue à tout moment.

Petites réflexions :

Je me dit qu'il serait judicieux de présenter une page de choix de langue à google et de faire une redirection pour le reste du monde.

Peut-être justement en utilisant du javascript... pour moi le javascript est à utiliser pour donner un confort à l'utilisateur, je développe toujours mon site 100% fonctionnel sans javascript et je rajoute une couche de javascript pour améliorer les fonctionnalités (oups je m’égare Smiley smile , se cas de figure s'y prête pas mal je trouve.

Je ne suis pas pro en référencement donc j’attends l'avis des expert.
À moins que cela soit une demande explicite du client, je ne fais jamais de redirection depuis l'accueil d'une version du site (e.g. "/en/" ou "/fr/"). Par exemple, si un utilisateur dont la langue du navigateur est "es" arrive sur la page "/fr/" je ne le redirige pas vers "/en/" mais j'affiche un message qui indique que le site est disponible dans une langue qui pourrait mieux lui convenir.

Par contre si le visiteur arrive par l'index du site "/" je fais une redirection si une version correspond à la langue de son navigateur. Par exemple, lorsque la langue du navigateur est "en" et qu'il existe une version en "en" je le redirige vers cette version, mais si la langue du navigateur est "es" et qu'il n'y a pas de version "es" alors je le renvoie vers le site par défaut.
Modifié par Gofromiel (18 Aug 2011 - 16:32)
Le rapport entre la géolocalisation et la sélection de la langue ?
Modifié par jb_gfx (18 Aug 2011 - 20:21)
C'était déjà pas clair mais là ça devient carrément obscur. Smiley lol
Le rapport entre les styles CSS et la localisation de l'internaute ? Smiley rolleyes
Modifié par jb_gfx (19 Aug 2011 - 00:10)
Je vois, et ça serait intéressant si la géolocalisation était sortie au moyen âge. Sauf qu'à notre époque la géolocalisation n'est plus vraiment en rapport avec la langue. Rien que dans le sud de la France où je vis il a des centaines de milliers d'habitants d'origines espagnole, maghrébine, italienne et anglaise (pour les principales) et qui préféreraient sans aucun doute consulter les sites dans leur langue maternelle plutôt qu'en français. Et je parle même pas de la période estivale qui voit débarquer des centaines de milliers d'anglais, hollandais, allemands, etc...

PS: J'ai oublié de parler des pays où il y a plusieurs langues nationales
PPS : je vois toujours pas le rapport avec les CSS...
Modifié par jb_gfx (19 Aug 2011 - 01:47)
Pour revenir au sujet, quelques repères:

1. On évitera généralement la négociation de contenus qui propose plusieurs versions linguistiques avec une seule URL. Chaque version linguistique d'un document aura sa propre URL.
2. On utilisera le contenu de l'en-tête HTTP Accept-Language (envoyé par le navigateur). Attention à ne pas être trop strict, et à prévoir un fonctionnement correct lorsque cette information n'est pas disponible.
3. On donnera un moyen simple de passer à une version linguistique différente.
4. On évitera de rediriger automatiquement les visiteurs qui demandent une version précise (en chargeant une URL qui indique une préférence). Si la langue indiquée par l'URL et le contenu de Accept-Language ne correspondent pas, on peut rajouter dans la page un bandeau d'information qui propose de visiter une autre version linguistique (solution décrite par Gofromiel).
5. Les informations de localisation doivent servir à adapter un contenu géographique (par exemple montrer par défaut les prévisions météo de la région de connexion plutôt que du pays entier sur un site météo), pas à déterminer la langue d'affichage.
6. La prise en compte des spécificités des moteurs de recherche peut amener à modifier une solution par ailleurs correcte. Certains compromis sont parfois nécessaires.
7. Il n'y a pas de règle ou de bonne pratique applicable à tous les cas de figure. Tous les points ci-dessus sont contestables.