Redirecition header() en fonction de la langue et référencement

Redirecition header() en fonction de la langue et référencement - PHP - Programmation

Marsh Posté le 06-07-2010 à 15:52:25    

Bonjour,
 
Voici ma question de la semaine  :)  
 
J'ai un site commercial qui possède plusieurs versions selon la langue.
 


site.com/fr/index.php
site.com/en/index.php
site.com/de/index.php
...etc...


 
Pour l'instant, quand on se rendait sur site.com, on tombait sur site.com/index.php, qui est un doublon de site.com/en/index.php
 
Il me vient maintenant l'idée d'automatiser la langue en fonction du navigateur de l'internaute.
 
J'ai donc réécrit la page site.com/index.php :
 

Code :
  1. switch(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2))
  2. {
  3.     case 'fr':
  4.         $path = 'fr/index.php';
  5.     break;
  6.     case 'es':
  7.         $path = 'es/index.php';
  8.     break;
  9.     case 'de':
  10.         $path = 'de/index.php';
  11.     break;
  12.     case 'nl':
  13.         $path = 'nl/index.php';
  14.     break;
  15.     case 'sv':
  16.         $path = 'sv/index.php';
  17.     break;
  18.     case 'pl':
  19.         $path = 'pl/index.php';
  20.     break;
  21.     default:
  22.         $path = 'en/index.php';
  23.     break;
  24. }
  25. header('location: '.$path);


 
Tout marche très bien au niveau de l'internaute.
 
Par contre je ne sais pas si les moteurs de recherche seront perturbés par cette redirection.
J'ai recherché un peu, et on me propose d'indiquer en plus dans le header une redirection 301 ou 302 selon les cas.
Mais les deux cas servent dans le cas d'un site web déplacé, et ce n'est pas mon cas.
 
Les robots sauront-ils passer la redirection ? avec quelle langue ?
Et seront-ils capables d'analyser la page pointée ?
 
Quelle solution me conseilleriez-vous ?
 
Merci d'avance  ;)


Message édité par Pascal le nain le 06-07-2010 à 15:54:42
Reply

Marsh Posté le 06-07-2010 à 15:52:25   

Reply

Marsh Posté le 06-07-2010 à 17:30:50    

Surtout pas une 301 ni 302 dans ton cas.
Le code 200 envoyé me parait pertinent mais gare aux cascades de redirections que même Google digère mal.
Lecture : http://www.google.fr/search?q=casc [...] =firefox-a

Reply

Marsh Posté le 06-07-2010 à 18:02:22    

Donc on laisse en 200 ?
 
Quelle langue utilise le robot google ?
A-t-il un index et des robots spécifiques par pays ?
 
merci ;)

Reply

Marsh Posté le 06-07-2010 à 18:07:30    

301 et 302 sont des redirection, qui veulent donc dire "le contenu que tu chechais ici n'est plus, il est maintenant ici"
Avec ta 200, GG aura un code 200 (t'es bien arrivé) puis un 200 (t'as bien suivi).

 

Mais bon, pour ma part je proposerais au visiteur sans le forcer et en utilisant une lightbox JS (comme ebay par exemple).


Message édité par vanquishV12 le 06-07-2010 à 18:08:01
Reply

Marsh Posté le 07-07-2010 à 00:29:55    

J'ai vraiment peur que le robot s'arrête sur la page de redirection, et qu'il ne tire aucune données du site...
Quelqu'un d'autre aurait un avis à partager ? :)
 
Ou alors donnez-moi un exemple de site qui utilise cette technique, et qui est bien référencé  :sarcastic:


Message édité par Pascal le nain le 07-07-2010 à 00:30:40
Reply

Marsh Posté le 07-07-2010 à 00:53:09    

t'as une page par langue ? pourquoi ne pas avoir fais un petit système de lang ? ensuite un petit coup de htaccess et le tour est joué ;)

Reply

Marsh Posté le 07-07-2010 à 09:01:50    

Si tu y tiens absolument, passe par apache directement, pas par le PHP

Reply

Marsh Posté le 08-07-2010 à 15:44:01    

stealth35 a écrit :

t'as une page par langue ? pourquoi ne pas avoir fais un petit système de lang ? ensuite un petit coup de htaccess et le tour est joué ;)


J'aurai fait ça moi aussi, mais c'est le site de ma mère. Son niveau frise le frontpage donc elle a déjà tout fait en statique.  
J'ai déjà passé des semaines à la convaincre de faire des include() pour le header & footer  :na:  
Donc le but c'est de faire quelques automatisations sans chambouler toute la structure du site...
 

vanquishV12 a écrit :

Si tu y tiens absolument, passe par apache directement, pas par le PHP


Ah, ca me parait intéressant, ca passe par un htaccess ?


Message édité par Pascal le nain le 08-07-2010 à 15:44:33
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed