multilangue et redirection

Nouveau WRInaute
j'ai un site en plusieurs langues avec des pages en php qui utilisent un parametre de langue passé par cookie.
mon pb est que evidement google ne gere pas les cookies et n'a indexé mon site que pour la langue par défaut (espagnol).
J'ai pensé pensé passer la langue comme parametre dans l'url, mais certaines de mes pages ont déja 2 paramètres et 3 se serait trop pour l'indexation par google.
J'ai lu beaucoup de solutions sur ce forum, mais aucune qui pouvait m'aider car mon hébergeur n'acceptait ni les sous-domaines ni l'url-rewriting, j'ai donc laissé tomber un moment.
Maintenant, j'ai changé d'hébergeur et vais enfin pouvoir m'y remettre, je voudrais quelques conseils pour être sure d'avoir bien retenu la leçon:

pour que les 4 langues soient indexées par google:
avoir des pages du type www.monsite.com/fr/mapage.html -> transformé par url-rewriting en -> www.monsite.com/mapage.php?lang=fr

pour entrer avec la bonne langue, faire une page d'acceuil index.php avec une redirection selon la langue:
Code:
$Langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2); 
if ($Langue == "fr") { 
header("Status : 301 Moved Permanently"); 
header("Location: http://www.monsite.com/fr/"); 
} ...etc
ce qui permet de grouper le pagerank des 4 langues.

quelques doutes ici:
1> quelle est la page de google qui va recevoir les backlinks? la page avant redirection ou celle après redirection? www.monsite.com/ ou www.monsite.com/es/ (langue par defaut)?
on m'a conseillé d'utiliser plutot"302 Moved Temporarily", c'est pour que les backlinks restent sur www.monsite.com/ , ça marche?

2> on a acheté le domaine www.monsite.es, et bientot www.monsite.fr, qu'es-ce que je peux en faire? y mettre une page de redirection vers www.monsite.com/? ou vers www.monsite.com/fr/ ?
google n'aime pas qu'on ait 2 noms de domaines différents pour un même site, non?
 
WRInaute impliqué
quelques doutes ici:
1> quelle est la page de google qui va recevoir les backlinks? la page avant redirection ou celle après redirection? www.monsite.com/ ou www.monsite.com/es/ (langue par defaut)?
on m'a conseillé d'utiliser plutot"302 Moved Temporarily", c'est pour que les backlinks restent sur www.monsite.com/ , ça marche

chez moi la cible de la redirection a depassé la source au niveau du PR (l'anglais qui est par defaut et donc pour google)
2> on a acheté le domaine www.monsite.es, et bientot www.monsite.fr, qu'es-ce que je peux en faire? y mettre une page de redirection vers www.monsite.com/? ou vers www.monsite.com/fr/ ?
google n'aime pas qu'on ait 2 noms de domaines différents pour un même site, non?

d'un coté les noms de domaines c'est bien pour retenir (et cela marche), mais google retiendra les pages cible
 
WRInaute passionné
evaness a dit:
j'ai un site en plusieurs langues avec des pages en php qui utilisent un parametre de langue passé par cookie.
mon pb est que evidement google ne gere pas les cookies et n'a indexé mon site que pour la langue par défaut (espagnol).
J'ai pensé pensé passer la langue comme parametre dans l'url, mais certaines de mes pages ont déja 2 paramètres et 3 se serait trop pour l'indexation par google.
J'ai lu beaucoup de solutions sur ce forum, mais aucune qui pouvait m'aider car mon hébergeur n'acceptait ni les sous-domaines ni l'url-rewriting, j'ai donc laissé tomber un moment.
Maintenant, j'ai changé d'hébergeur et vais enfin pouvoir m'y remettre, je voudrais quelques conseils pour être sure d'avoir bien retenu la leçon:

pour que les 4 langues soient indexées par google:
avoir des pages du type www.monsite.com/fr/mapage.html -> transformé par url-rewriting en -> www.monsite.com/mapage.php?lang=fr

pour entrer avec la bonne langue, faire une page d'acceuil index.php avec une redirection selon la langue:
Code:
$Langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2); 
if ($Langue == "fr") { 
header("Status : 301 Moved Permanently"); 
header("Location: http://www.monsite.com/fr/"); 
} ...etc
ce qui permet de grouper le pagerank des 4 langues.

quelques doutes ici:
1> quelle est la page de google qui va recevoir les backlinks? la page avant redirection ou celle après redirection? www.monsite.com/ ou www.monsite.com/es/ (langue par defaut)?
on m'a conseillé d'utiliser plutot"302 Moved Temporarily", c'est pour que les backlinks restent sur www.monsite.com/ , ça marche?

2> on a acheté le domaine www.monsite.es, et bientot www.monsite.fr, qu'es-ce que je peux en faire? y mettre une page de redirection vers www.monsite.com/? ou vers www.monsite.com/fr/ ?
google n'aime pas qu'on ait 2 noms de domaines différents pour un même site, non?

Google n'a pas d' $HTTP_ACCEPT_LANGUAGE défini. Donc, si tu fais une détection comme tu l'indiques, Google ne verra jamias tes pages ainsi définies.
Il faut que tu mettes un lien en dur vers tes pages dans des langues différentes.

François
 
Nouveau WRInaute
Salut,
j'ai egallement le meme systeme que toi, moi j'utilise pour chaque site un nom de domaine different par langue et les liens des drapeaux renvoient directement sur le site en question, pour gerer ca en fait ca renvoi sur un meme et unique site, j'utilise une configuration des virtuals hosts me renvoyant sur un fichier PHP qui analyse le nom de domaine, et lui fait ce qu'il faire donc rediriger ver le bon fichier avec les bonnes variables tout en gardant le nom de domaine de la langue

apparament ca ne deplait pas a Google il est encore passe 238 fois depuis ce matin et il indexe presque toutes les pages dans les 4 langues
 
WRInaute discret
il serait préférable de faire un switch :

Code:
$Langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2); 
switch ($Langue) {
    case "fr":
        header("Status : 301 Moved Permanently"); 
        header("Location: http://www.monsite.com/fr/"); 
    case "es":
        header("Status : 301 Moved Permanently"); 
        header("Location: http://www.monsite.com/es/"); 
    default:
        header("Status : 301 Moved Permanently"); 
        header("Location: http://www.monsite.com/en/"); 
}

ainsi même si la variable $HTTP_ACCEPT_LANGUAGE n'est pas définie (le cas de google) tu tomberas sur la langue par défaut



mais il te faudra qd même des liens en dur :D, sinon il ne verra pas les autres langues



désolé pour le code bourrin, comme ça c'est mieux, non? :

Code:
$folder="";
$Langue = substr($HTTP_ACCEPT_LANGUAGE, 0, 2); 
switch ($Langue) {
    case "fr":
        $folder="fr";
        break;
    case "es":
        $folder="es";
        break;
    default:
        $folder="en";
        break;
}
header("Status : 301 Moved Permanently"); 
header("Location: http://www.monsite.com/'.$folder.'/");
 
Nouveau WRInaute
Merci a tous,
mais quelqu'un peut-il me dire si vraiment utiliser une redirection
Code:
302 Moved Temporarily
au lieu de 301 permet de regrouper le PR sur
Code:
www.monsite.com/
au lieu de
Code:
www.monsite.com/es/
 
Nouveau WRInaute
redirection selon la langue

Désolé, mais les explications qui commentent les scripts ci dessus s'adressent visiblement à les pointus de la prog. Ma question est simple. Est ce que les scripts que l'on voie plus haut dans ce forum permettent de rediriger un visiteur si la langue de son navigateur n'est pas le français?
Merci d'avance
 
Discussions similaires
Haut