site multilangues

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

chepiok
Nouveau WRInaute
 
Messages: 12
Inscription: Ven Mar 26, 2004 13:03

site multilangues

Message le Mar Avr 06, 2004 17:03

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
WRInaute accro
 
Messages: 3721
Inscription: Ven Oct 04, 2002 11:22

Message le Mar Avr 06, 2004 17:31

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
 
Messages: 12
Inscription: Ven Mar 26, 2004 13:03

Message le Mar Avr 06, 2004 17:37

- 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é
WRInaute impliqué
 
Messages: 491
Inscription: Mar Oct 08, 2002 20:11

Message le Mar Avr 06, 2004 18:27

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: Tout sélectionner
<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>

:arrow: 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 :lol: 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
WRInaute occasionnel
 
Messages: 137
Inscription: Sam Oct 04, 2003 10:29

Message le Mer Avr 07, 2004 8:50

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
 
Messages: 38
Inscription: Ven Mar 19, 2004 15:14

Message le Mer Avr 07, 2004 12:04

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
WRInaute accro
 
Messages: 1087
Inscription: Mer Nov 12, 2003 17:48

Message le Mer Avr 07, 2004 12:28

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
WRInaute accro
 
Messages: 3721
Inscription: Ven Oct 04, 2002 11:22

Message le Mer Avr 07, 2004 12:33

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: Tout sélectionner
$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
 
Messages: 38
Inscription: Ven Mar 19, 2004 15:14

Message le Mer Avr 07, 2004 13:07

:(

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

:cry:

Liloulol
Nouveau WRInaute
 
Messages: 38
Inscription: Ven Mar 19, 2004 15:14

Message le Mer Avr 07, 2004 13:26

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é
WRInaute impliqué
 
Messages: 491
Inscription: Mar Oct 08, 2002 20:11

Message le Mer Avr 07, 2004 13:39

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
 
Messages: 38
Inscription: Ven Mar 19, 2004 15:14

Message le Mer Avr 07, 2004 14:33

ç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
WRInaute accro
 
Messages: 1087
Inscription: Mer Nov 12, 2003 17:48

Message le Mer Avr 07, 2004 14:48

Liloulol a écrit:J'ai réussi à charger firefox (super le navigateur!)

Bah tiens ! ! :wink:
Je trouve que c'est le meilleur du moment !

jwindal
Nouveau WRInaute
 
Messages: 40
Inscription: Lun Fév 09, 2004 9:52

lang=xxx

Message le Mer Avr 07, 2004 21:19

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
 
Messages: 12
Inscription: Ven Mar 26, 2004 13:03

Message le Jeu Avr 08, 2004 10:58

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.

site multilangues

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités