Header (location) et Robots...

Header (location) et Robots... - PHP - Programmation

Marsh Posté le 11-04-2007 à 17:13:41    

Bonjour à tous !
 
Une petite question qui parait toute bête mais gougeul n'a pas su me répondre...
 
 
voila sur un site j'ai mis un cookie, qui dit "si t'es deja venu sur ce site.. tu restes, sinon tu vas à une page intermédiaire".
 
le probleme de cette technique, c'est que le robot va donc forcement suivre le même acheminement et donc rester sur la page intermédiaire à sa visite.
 
Le contenu de la page intermédiaire nous importe peu... on aimerait que la page d'accueil soit réferencée...
 
niveau code ça donne ça (sur ma page d'accueil):
 

Code :
  1. $nextpage="intersticiel/index.php";
  2. if($_COOKIE['intersticiel']!="next" )
  3. {
  4. setcookie("intersticiel", "next", time()+86400);
  5. header('location:'.$nextpage);
  6. }


 
j'aimerai donc savoir si avec PHP on peut dire de suivre le header si c'est un utilisateur, et de ne pas le suivre si c'est un robot.
 
Merci d'avance !
 
Freed


Message édité par freed102 le 11-04-2007 à 17:16:11
Reply

Marsh Posté le 11-04-2007 à 17:13:41   

Reply

Marsh Posté le 11-04-2007 à 17:18:33    

Avec le user agent tu dois pouvoir détecter les bot des moteur de recherche.
Donc avec $_SERVER['HTTP_USER_AGENT'] du dois pouvoir trouver des truc du genre 'googlebot'...
 
Mais de toute façon, si sur ta page intermédiaire tu as un lien vers ta page principale alors les bot vont le suivre.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 11-04-2007 à 17:21:32    

le probleme c'est que la page intermediaire est en flash, c'est un teaser, ça va etre difficile de faire ça, et ça ne correspond pas à ce que veut le client

Reply

Marsh Posté le 11-04-2007 à 17:58:43    

j'ai fait ça :

Code :
  1. if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]) && !ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]) &&!ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])) {
  2. $nextpage="intersticiel/index.php";
  3. if($_COOKIE['intersticiel']!="next" )
  4. {
  5. setcookie("intersticiel", "next", time()+86400);
  6. header('location:'.$nextpage);
  7. }
  8. }


 
... vous pensez que c'est assez pertinent ?

Reply

Marsh Posté le 11-04-2007 à 19:36:23    

Non ca resout aucun probleme.

 

Pis le cloaking a rapporte rien si c est mal fait.

 


Message édité par supermofo le 11-04-2007 à 19:37:25
Reply

Marsh Posté le 11-04-2007 à 20:02:28    

Et puis je maintiens que sur la page intermédiaire devrait figurer un lien d'accès à la page d'accueille, ne serait ce que par soucis d'accessibilité. Et ça résoudrait du même coup le problème des bot.
 
Parce que, très franchement, la solution de travailler sur le USER AGENT ça fait un peu bricolage.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 12-04-2007 à 11:45:09    

Alors voila ce que j'ai fait :
 

Code :
  1. $googlebot=strpos($_SERVER["HTTP_USER_AGENT"],"Googlebot" );
  2. $msnbot=strpos($_SERVER["HTTP_USER_AGENT"],"msnbot" );
  3. $Yahoo=strpos($_SERVER["HTTP_USER_AGENT"],"Yahoo" );
  4. $VoilaBot=strpos($_SERVER["HTTP_USER_AGENT"],"VoilaBot" );
  5. $ZyBorg=strpos($_SERVER["HTTP_USER_AGENT"],"ZyBorg" );
  6. $WebCrawler=strpos($_SERVER["HTTP_USER_AGENT"],"WebCrawler" );
  7. $DeepIndex=strpos($_SERVER["HTTP_USER_AGENT"],"DeepIndex" );
  8. $Teoma=strpos($_SERVER["HTTP_USER_AGENT"],"Teoma" );
  9. $appie=strpos($_SERVER["HTTP_USER_AGENT"],"appie" );
  10. $Gigabot=strpos($_SERVER["HTTP_USER_AGENT"],"Gigabot" );
  11. $HenriLeRobotMirago=strpos($_SERVER["HTTP_USER_AGENT"],"HenriLeRobotMirago" );
  12. $psbot=strpos($_SERVER["HTTP_USER_AGENT"],"psbot" );
  13. $Szukacz=strpos($_SERVER["HTTP_USER_AGENT"],"Szukacz" );
  14. $Openbot=strpos($_SERVER["HTTP_USER_AGENT"],"Openbot" );
  15. $Naver=strpos($_SERVER["HTTP_USER_AGENT"],"Naver" );
  16. if($googlebot!==false && $msnbot!==false && $Yahoo!==false && $VoilaBot!==false && $ZyBorg!==false && $WebCrawler!==false && $DeepIndex!==false && $Teoma!==false && $appie!==false && $Gigabot!==false && $HenriLeRobotMirago!==false && $psbot!==false && $Szukacz!==false && $Openbot!==false && $Naver!==false)
  17. {
  18. //c'est un robot !
  19. }
  20. else
  21. {
  22. if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]) || ereg("^Mozilla/", $_SERVER["HTTP_USER_AGENT"]) || ereg("^Opera/", $_SERVER["HTTP_USER_AGENT"])){
  23. $nextpage="intersticiel/index.php";
  24.  if($_GET['index']!="on" )
  25.  {
  26.   if($_COOKIE['intersticiel']!="next" )
  27.   {
  28.   setcookie("intersticiel", "next", time()+86400);
  29.   header('location:'.$nextpage);   
  30.   }
  31.  }
  32. }
  33. }


 
j'ai également mis dans la page intermédiaire : les meta tags de la page d'accueil, et un lien caché dans le contenu alternatif du flash pointant vers la page d'accueil (et bien sur le même lien dans le flash pour fermer la page intermediaire... mais ça c t deja là !)
 
qu'en pensez vous ?

Reply

Marsh Posté le 12-04-2007 à 21:34:35    

1)C'est crade ton truc pour les robots, utilises un tableau avec les agents utilisateurs connus et cherche s'il est dedans
2)On doit avoir ie, ff ou opera pour voir ton truc :o Tu testes si c'est un robot, si ça n'en est pas un point :o

Reply

Sujets relatifs:

Leave a Replay

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