Aller au contenu

Page localisée selon HTTP_ACCEPT_LANGUAGE


Sujets conseillés

Bonjour,

Depuis quelques semaines, les pages de notre site se localisent automatiquement selon le HTTP_ACCEPT_LANGUAGE du fureteur client.

Voici le code (ASP, désolé)

' En tête de page
<%
Dim gcLang, goLoc, gcResult
gcLang = Request.QueryString("Lang")
If IsEmpty(gcLang) Then gcLang = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
Set goLoc = Server.CreateObject("abSiteLoc.abSiteLoc")
gcResult = goLoc.PageLocSetup _
("E:\...\monSite.DBF" _
, gcLang _
, Request.ServerVariables("HTTP_USER_AGENT") _
)
Response.AppendToLog(gcResult)
%>

' Pour chaque texte
<%=goLoc.cTextLoc(448)%> ' 448 est l'index du texte dans la table de localisation

Le problème est :

Les araignées des MR fournissent un HTTP_ACCEPT_LANGUAGE vide :wacko:

Dans ce cas, nous choisissons une langue au hasard, d'où le paramètre Request.ServerVariables("HTTP_USER_AGENT")

(cloaking vertueux)

Depuis la mise en place de ce système, notre référencement chute.

Quelle est la meilleure méthode pour que le robot prenne en compte la langue de la page ?

<html lang="xx"> ?

<meta name="language" content="xx" /> ?

autre ?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Si tu génére la langue au hasard, le moteur rique de trouver une page radicalement différente à chaque visite et va en conclure que tu fait du cloacking :P.

Met toi aussi à la place du visiteur Français qui cache sa langue d'origine et qui se retrouve sur une page en Russe...

En général, la position à adopter, c'est de mettre comme langue par défaut soit l'anglais - langue internationale - soit la langue de la majorité de tes visiteurs. Tu peux aussi mettre la langue associé à ton extension (par exemple, google.fr est, par défaut, en français et google.ru en russe).

Aprés, il faut laisser le choix à ton visiteur de choisir sa langue. Les petits drapeaux en haut de page quand tu n'as pas trop de langues, ça marche pas mal.

Une fois qu'il a choisit, il faut stocker tout cela dans un cookie (coté serveur pour la session courante, coté internaute pour les sessions à venir).

Bon courage

Tizel

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse.

En fait, lorsque le visiteur n'est pas une araignée, je lui sers l'anglais par défaut.

Je prévois de mettre des petits drapeaux pour les visiteurs qui ne déclarent pas leur langue et n'aiment pas l'anglais par défaut mais les robots ne les verront pas ...

En ce qui concerne Google, bizarrement, je vois toujours le même USER AGENT:

Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.com/bot.html)

Je n'ai jamais vu passer

Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.fr/bot.html)

Je ne sais comment résoudre le problème, si ce n'est de mettre une page de sélection de langue à la racine du site, ce que je voulais précisément éviter.

Je trouve la sélection automatique de la langue assez cool, "user friendly" et "accessibility friendly".

Lien vers le commentaire
Partager sur d’autres sites

Mozilla/5.0+(compatible;+Googlebot/2.1;++http://www.google.fr/bot.html)

Normal, ce bot n'existe pas. L'index France et International est le même. C'est les filtres qui sont quelque peu différents pour distinguer les pays...

Pour les robots, le mieux, c'est de leur servir les pages en anglais. Encore mieux, si tu peux, c'est de faire apparaitre la langue dans l'URL. Par exemple :

www.monsite.com qui redirige au choix vers :

-en.monsite.com ou -www.monsite.com/en pour l'anglais

-fr.monsite.com ou -www.monsite.com/fr pour le français

Tu laisses tes drapeaux visibles aux moteurs, et ces derniers pourrons visiter toutes les pages pour toutes les langues de ton site.

Tizel

Lien vers le commentaire
Partager sur d’autres sites

Je trouve la sélection automatique de la langue assez cool, "user friendly" et "accessibility friendly".

Bonjour,

Pour les humains, la sélection automatique de la langue est effectivement assez cool. ;)

Pour les moteurs de recherche, par contre, ta solution actuelle n'est pas cool, puisque, si je comprends bien, pour tout le site, tu affiches des contenus dépendant de la langue pour chaque page, sans paramètre de langue dans l'URL. Pour les moteurs, il est indispensable d'avoir :

- 2 URL différentes pour 2 pages différentes (1 URL pour la page en français et 1 autre URL pour la page correspondante en allemand);

- des liens qui mènent le plus facilement possible à chacune de ces différentes URL.

Pour ce qui est de la différence d'URL entre les différentes langues, il y a mille possibilités. Tizel en a déjà citées deux.

Jean-Luc

P.S. araignée ? araignée ? araignée ? quel drôle de nom pour un robot... :D

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...