|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
chepiok Nouveau WRInaute
Inscrit le: 26 Mar 2004 Messages: 12
|
Posté le : Mar Avr 06, 2004 17:03 Sujet du message: site multilangues |
|
|
j'ai un site, en français, en php actuellement referencé dans google. Je voudrais faire une version anglaise et une française.
Mais voilà j'ai peur qu'au passage à la version anglaise/française j'ai des gros problèmes de référencement. Alors j'anticipe en me renseignant.
Pour cela, j'aimerais que le index.php :
- essayer de géolocaliser le visiteur et bascule automatiquement sur la bonne langue
- en cas d'échec propose le choix en français ou anglais
- une fois le choix effectué, la langue est stocké dans un cookie
- si le navigateur ne supporte pas les cookies alors c'est l'anglais qui est choisit par defaut
Comment google va pouvoir à la fois référencer correctement le côté anglais et le côté français ? N'y aurait il pas moyen avec un robot "d'expliquer" la situation à google (et aux autres) ?
Merci de votre aide pour que je choisisse la bonne solution technique. |
|
| |
|
 |
Suede WRInaute accro

Inscrit le: 04 Oct 2002 Messages: 3662 Localisation: Suède
|
Posté le : Mar Avr 06, 2004 17:31 Sujet du message: site multilangues |
|
|
Salut,
Si tu as php, tu peux via les entetes http connaitre la langue du navigateur et afficher la bonne langue. ne pas oublier de mettre une langue par défaut pour google qui n'en a pas.
Ensuite, pour que google trouve tes pages dans toutes les langues, il faut que des liens inclus la langue et qu'elle soit passé de page en page via l'url.
Par exemple /en/index.php ou index.php?lang=en
François |
|
| |
|
 |
chepiok Nouveau WRInaute
Inscrit le: 26 Mar 2004 Messages: 12
|
Posté le : Mar Avr 06, 2004 17:37 Sujet du message: site multilangues |
|
|
- oui j'ai PHP, t'aurais un exemple de code pour trouver la langue à partir de l'entête ?
- mon problème est que google s'intéresse beaucoup plus à /index.php que /en/index.php ou /fr/index.php. La première fois j'avais fais une indirection de la racine vers /dynamic.index.php et j'étais pas referencé. J'ai du m'arrangé pour que le /index.php affiche des choses pertinentes dès le début sans indirection. C'est pour ça que je doute...
- se trimballer le lang=xx sur tout les liens c'est monstrueux à faire. Moi j'ai un système de template localisé qui en fonction d'une valeur choisir un fichier HTML ou un autre automatiquement. J'espère m'en sortir comme ça mais il me faut un cookie pour fixer la langue à la première arrivée sur le site.
Stéphane |
|
| |
|
 |
EasyExpat WRInaute impliqué

Inscrit le: 08 Oct 2002 Messages: 477 Localisation: Londres
|
Posté le : Mar Avr 06, 2004 18:27 Sujet du message: site multilangues |
|
|
| chepiok a écrit: |
| - oui j'ai PHP, t'aurais un exemple de code pour trouver la langue à partir de l'entête ? |
Salut Stephane,
Voici un exemple de code a utiliser pour trouver la langue du navigateur automatiquement:
| Code: |
<script LANGUAGE="JavaScript">
<!--
if (top==self)
{
if (navigator.appName == 'Netscape')
var language= navigator.language;
else
var language= navigator.browserLanguage;
bl = language.substring(0,2);
//document.write("<b>Browser language is " + bl)
if (bl == "de" || bl == "de-at" || bl == "de-li" || bl == "de-lu" ||
bl == "de-ch")
{
//this.location = "default.php?lang=de"
this.location = "http://www.easyexpat.com/index_de.htm"
}
else if (bl == "es" || bl == "es-ar" || bl == "es-bo" || bl == "es-cl" ||
bl == "es-co" || bl == "es-cr" || bl == "es-do" || bl == "es-ec" ||
bl == "es-sv" || bl == "es-gt" || bl == "es-hn" || bl == "es-mx" ||
bl == "es-ni" || bl == "es-pa" || bl == "es-py" || bl == "es-pe" ||
bl == "es-pr" || bl == "es-uy" || bl == "es-ve" || bl == "ca")
{
//this.location = "default.php?lang=es"
this.location = "http://www.easyexpat.com/index_es.htm"
}
else if (bl == "fr" || bl == "fr-be" || bl == "fr-ca" || bl == "fr-lu" ||
bl == "fr-mc" || bl == "fr-ch")
{
//this.location = "default.php?lang=fr"
this.location = "http://www.easyexpat.com/index_fr.htm"
}
else if (bl == "it" || bl == "it-ch")
{
//this.location = "default.php?lang=it"
this.location = "http://www.easyexpat.com/index_it.htm"
}
}
//-->
</script> |
Attention n'oublie pas que Google ne lit pas le javascript, donc prevoit de mettre des liens en dur dans ta page. Par ailleurs certains internautes peuvent avoir desactive javascript, mefiance aussi il faut qu'ils puissent indiquer une langue.
En effet Google va desavantager tes pages qui semblent ajouter un sous repertoir de type .../en/index.php (en gros tu vas au minimum perdre 1 point de PR). C'est pour cela qu'il vaut mieux utiliser l'url rewriting pour reformater tes URL.
Tu pourras par exemple transformer un index.php?lang=en en index_en.htm. Tu trouveras des exemples sur le site EasyExpat
| chepiok a écrit: |
se trimballer le lang=xx sur tout les liens c'est monstrueux à faire. Moi j'ai un système de template localisé qui en fonction d'une valeur choisir un fichier HTML ou un autre automatiquement. J'espère m'en sortir comme ça mais il me faut un cookie pour fixer la langue à la première arrivée sur le site.
|
Mais non mais non, ce n'est pas monstrueux a faire Et pour l'utilisation des cookies n'oublie pas que Google n'en a pas et que certains Internautes peuvent les refuser. |
|
| |
|
 |
Thomas V. WRInaute occasionnel

Inscrit le: 04 Oct 2003 Messages: 137 Localisation: Toulon
|
Posté le : Mer Avr 07, 2004 8:50 Sujet du message: site multilangues |
|
|
Plus simplement, tu récupère en PHP la varible HTTP_ACCEPT_LANGUAGE, tu tronque la pour garder que les 2 premières lettres.
Tu fais un petit "if" pour rediriger.
Ca tient en 5 lignes de code. |
|
| |
|
 |
Liloulol Nouveau WRInaute
Inscrit le: 19 Mar 2004 Messages: 38
|
Posté le : Mer Avr 07, 2004 12:04 Sujet du message: site multilangues |
|
|
Bonjour
Je reviens sur le code donné par EasyExpat
Je suis en train de le tester et ça me renvoie bien sur l'accueil FR avec mon navigateur en français.
Par contre comment je fais pour passer mon navigateur en anglais pour voir si ça me redirige sur l'accueil anglais?
Merci! |
|
| |
|
 |
jeromax WRInaute accro

Inscrit le: 12 Nov 2003 Messages: 1085 Localisation: :noitasilacoL
|
Posté le : Mer Avr 07, 2004 12:28 Sujet du message: site multilangues |
|
|
| je te conseille de prendre comme navigateur Mozilla firefox qui supporte un paquet de plugin dont celui de changer la langue "à la volée" |
|
| |
|
 |
Suede WRInaute accro

Inscrit le: 04 Oct 2002 Messages: 3662 Localisation: Suède
|
Posté le : Mer Avr 07, 2004 12:33 Sujet du message: site multilangues |
|
|
| chepiok a écrit: |
- oui j'ai PHP, t'aurais un exemple de code pour trouver la langue à partir de l'entête ?
- mon problème est que google s'intéresse beaucoup plus à /index.php que /en/index.php ou /fr/index.php. La première fois j'avais fais une indirection de la racine vers /dynamic.index.php et j'étais pas referencé. J'ai du m'arrangé pour que le /index.php affiche des choses pertinentes dès le début sans indirection. C'est pour ça que je doute...
- se trimballer le lang=xx sur tout les liens c'est monstrueux à faire. Moi j'ai un système de template localisé qui en fonction d'une valeur choisir un fichier HTML ou un autre automatiquement. J'espère m'en sortir comme ça mais il me faut un cookie pour fixer la langue à la première arrivée sur le site.
Stéphane |
| Code: |
| $lang_nav = substr(strtolower($HTTP_ACCEPT_LANGUAGE), 0, 2); |
Te donne la langue du navigateur (en, fr,sv)
Passer par un cookies ne marchera pas pour google, il faut qu'il ait les langues en dur dans un lien.
Pour changer la langue du navigateur : Outils/preference/langue (bon, je traduit du suédois donc ca peut varier)
François |
|
| |
|
 |
Liloulol Nouveau WRInaute
Inscrit le: 19 Mar 2004 Messages: 38
|
Posté le : Mer Avr 07, 2004 13:07 Sujet du message: site multilangues |
|
|
j'ai beau changer la langue dans IE et aller sur easy expat, j'arrive toujours sur la page en français
j'ai essayé de télécharger firefox, il veut pas s'installer
mauvaise journée
 |
|
| |
|
 |
Liloulol Nouveau WRInaute
Inscrit le: 19 Mar 2004 Messages: 38
|
Posté le : Mer Avr 07, 2004 13:26 Sujet du message: site multilangues |
|
|
J'ai réussi à charger firefox (super le navigateur!) et l'extension pour changer la langue à la volée
ça marche avec google qui me redirige correctement selon la langue mais pas chez easyexpat
Cyril, tu es sur qu'il marche ton javascript de redirection selon la langue??? |
|
| |
|
 |
EasyExpat WRInaute impliqué

Inscrit le: 08 Oct 2002 Messages: 477 Localisation: Londres
|
Posté le : Mer Avr 07, 2004 13:39 Sujet du message: site multilangues |
|
|
Positif!
J'ai Netscape en francais et IE en anglais chez moi. Par ailleurs lorsque j'etais en Italie ca m'a ouvert l'index en Italien.
Ceci dit si c'etait a refaire j'essayerai plutot $HTTP_ACCEPT_LANGUAGE pour utiliser javascript le moins possible (en effet ca varie pas mal selon les navigateurs...).
A+
Cyril |
|
| |
|
 |
Liloulol Nouveau WRInaute
Inscrit le: 19 Mar 2004 Messages: 38
|
Posté le : Mer Avr 07, 2004 14:33 Sujet du message: site multilangues |
|
|
ça marche
mais il a fallut que je telecharge mon navigateur en anglais pq changer la langue dans les options ne fait rien sinon |
|
| |
|
 |
jeromax WRInaute accro

Inscrit le: 12 Nov 2003 Messages: 1085 Localisation: :noitasilacoL
|
Posté le : Mer Avr 07, 2004 14:48 Sujet du message: site multilangues |
|
|
| Liloulol a écrit: |
| J'ai réussi à charger firefox (super le navigateur!) |
Bah tiens ! !
Je trouve que c'est le meilleur du moment ! |
|
| |
|
 |
jwindal Nouveau WRInaute
Inscrit le: 09 Fév 2004 Messages: 40
|
Posté le : Mer Avr 07, 2004 21:19 Sujet du message: lang=xxx |
|
|
Je ne trouve pas ça inutile car avec une détection auto de la langue, on arrive sur la page index.php (avec le PR le plus fort)
Avec un choix de lang index.php?lang=fr ou index.php?lang=gb
Ca fait trois pages indexées pour deux pages différentes (très intéressant pour les gros sites (OS commerce par ex) |
|
| |
|
 |
chepiok Nouveau WRInaute
Inscrit le: 26 Mar 2004 Messages: 12
|
Posté le : Jeu Avr 08, 2004 10:58 Sujet du message: site multilangues |
|
|
Je comprend pas tout avec la solution javascript ou $HTTP_ACCEPT_LANGUAGE, google va arriver sur le site en était probablement en anglais et ne va donc voir que l'anglais. je vois pas dans ces solutions le moyen pour que google attrape le franaçais ET l'anglais.
autre chose, pour propager une adresse xxx.php?lang=fr sur tous les liens du site je vois pas bien comment faire simple. Faut quand même pas éditer à la main les différents endroits où il y a des liens ? d'un autre côté je peut consulter $HTTP_ACCEPT_LANGUAGE sur chaque page et choisir le bon template en fonction. |
|
| |
|
 |
| |
|
|