Rediriger les robots en php

Rediriger les robots en php - PHP - Programmation

Marsh Posté le 18-04-2007 à 10:49:07    

bonjour
 
je souaiterais rediriger les robots qui passent sur mon site a l'aide de PHP
 
j'ai deja un bout de script mais vu mes competences ca s'arrete la:
 

Code :
  1. <?php
  2. $UA=getenv("HTTP_USER_AGENT" );
  3. $bots = array ("googlebot","msnbot","yahoo!slurp" ); //je sais pas si j'ai bon la ?
  4. if  # si c'est un robot, alors :#
  5. {
  6. header("Location:http://mydomain/bots.html" );
  7. exit;
  8. }
  9. ?>


 
deja est ce que j'ai pas merder, les noms des bots sont ils bon & quel serait la condition a ecrire svp :) (ou si qq'1 a mieux en la matiere, sans parler de robots.txt ou .htaccess)
 
++

Reply

Marsh Posté le 18-04-2007 à 10:49:07   

Reply

Marsh Posté le 18-04-2007 à 11:41:53    

salut je ne suis pas un expert dans les script de redirection de robot mais google est mon ami  
tien  
 
http://danzcontrib2.free.fr/pieges.php
 
regarde la dessus il y a des script qui t'aiderons  :)

Reply

Marsh Posté le 18-04-2007 à 12:08:06    

Salut,
 
Je te donne un bout de code en PHP qui te permet entre autre de matcher le HTTP_USER_AGENT et ensuite redigirer vers une page web de ton choix.
 

Code :
  1. <?php
  2.     $user_agent = getenv("HTTP_USER_AGENT" );
  3.     $agents = array("Opera", "Firefox", "GoogleBot", "Yahoo" );
  4.     foreach ($agents as $agent) {
  5.         $preg = "/" . $agent . "/";
  6.         if (preg_match($preg, $user_agent)) {
  7.             header("Location: http://www.example.com/robot.html" );
  8.             exit;
  9.         }
  10.     }
  11. ?>


 
Et voila une liste de robots que tu peux ajouter a ton script PHP: http://www.robotstxt.org/wc/active/all.txt
Le user agent du robot correspond à la ligne robot-useragent


Message édité par r0main_ le 18-04-2007 à 20:31:08

---------------
r0main :: http://www.alwaysdata.com
Reply

Marsh Posté le 18-04-2007 à 13:37:41    

merci,
 
ou m'a proposer aussi ceci:

Code :
  1. if (in_array($UA, $bots)) { ... } //si le user agent $UA est dans la liste $bots


 
merci pour le lien, par contre tu est sur que c'est la ligne robot-useragent que je doit prendre ?
perso j'aurais tape dans robot-id ou robot-name :?

Reply

Marsh Posté le 18-04-2007 à 16:55:36    

Vous êtes au courant qu'il existe un fichier "robots.txt" à mettre à la racine du site et qui leur dit ce qu'ils ont le droit de visiter? Evidement ca n'empéche pas le passage de robots qui ne respectent pas ce qui est dit mais ca permet de gérer quasiment tous les robots dont les robots de moteurs de recherche.
En dehors de ça, ca n'a rien à voir, mais je me permet de vous rappeller que cette pratique est un motif d'exclusion des principaux moteurs de recherche par exemple celui de google : les pages envoyés au robot doivent toujours être quasiment identiques à celles fournis aux autres visiteurs.
 
r0main_ > Ton script est foireux, dans tous les cas il ne teste que le premier "agent" de la liste. La raison en est tellement évidente que je te laisse la trouver tout seul.

Reply

Marsh Posté le 18-04-2007 à 20:31:37    

omega2 a écrit :


 
r0main_ > Ton script est foireux, dans tous les cas il ne teste que le premier "agent" de la liste. La raison en est tellement évidente que je te laisse la trouver tout seul.


 
Oui effectivement...
 
 :pt1cable:

Reply

Marsh Posté le 18-04-2007 à 20:40:07    

daDD a écrit :

merci,
 
ou m'a proposer aussi ceci:

Code :
  1. if (in_array($UA, $bots)) { ... } //si le user agent $UA est dans la liste $bots


 
merci pour le lien, par contre tu est sur que c'est la ligne robot-useragent que je doit prendre ?
perso j'aurais tape dans robot-id ou robot-name :?


 
Oui il faut prendre la ligne robot-useragent, c'est ce qui va apparaitre dans les logs Apache ou LightTPD ou dans la variable d'environnement PHP.
 

Citation :


66.249.72.165 *** - [18/Apr/2007:05:57:09 +0200] "GET /robots.txt HTTP/1.1" 404 345 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"


 

Citation :


robot-useragent: Googlebot/2.X (+http://www.googlebot.com/bot.html)


 
Après cela peut plus ou moins varié selon les robots, une expression régulière fait l'affaire :)


---------------
r0main :: http://www.alwaysdata.com
Reply

Marsh Posté le 18-04-2007 à 23:29:32    

Ou à defaut d'expression régulière, avoir un cerveau et savoir s'en servir? Bordel mais lit le post de omega2!

Reply

Marsh Posté le 19-04-2007 à 11:22:39    

esox_ch a écrit :

Ou à defaut d'expression régulière, avoir un cerveau et savoir s'en servir? Bordel mais lit le post de omega2!


merci, regarde aussi ma demande "Bordel"  :non:  
 
 
@romain_ : dsl mais je ne comprend toujours pas ton script (surement trop complique pour moi)
 

Reply

Marsh Posté le 19-04-2007 à 11:40:16    

daDD > La question que je me pose, c'est pourquoi tu refuses le fichier "robots.txt".

Reply

Marsh Posté le 19-04-2007 à 11:40:16   

Reply

Marsh Posté le 20-04-2007 à 13:17:51    

parce que en fait j'ai des pages "semi prive" qui demande une authentification de la part des visiteurs.
 
et si il ne sont pas authentifie, il y a redirection PHP. mais je veux quand meme que les robots referencent la page.
 
voila, il ne me reste plus que Googlebot a checker...

Reply

Marsh Posté le 20-04-2007 à 16:56:07    

:heink:  
Quel est le but de référencer un accès restreint  :??:  
 
Il y a redirection vermoulue donc  :whistle:
 

Reply

Marsh Posté le 23-04-2007 à 13:21:32    

daDD a écrit :

parce que en fait j'ai des pages "semi prive" qui demande une authentification de la part des visiteurs.
 
et si il ne sont pas authentifie, il y a redirection PHP. mais je veux quand meme que les robots referencent la page.
 
voila, il ne me reste plus que Googlebot a checker...


Donc si je comprends bien et que je résume :  
1 ) il y a des pages qui ne sont accéssible qu'a certain ce qui implique que tu ne veux pas que ca soit visible par tout le monde.
2 ) si t'as affaire à un moteur de recherche, tu le redirigeras sur une page de connection spéciale moteur de recherche.
3 ) grace à cette page, le moteur de recherche aura accés à tout et pourra donc tout référencer.
 
Faille numéro 1 : la page de connection "spéciale robot" sera référencé comme les autres ce qui permettra à tout le monde d'avoir accés facilement à l'intégralité de ton site. (sic)
Faille numéro 2 : google et d'autres moteurs de recherche proposent des versions dites "en cache" des pages référencés, donc il suffit de passer par le cache d'un moteur de recherche pour voir tes pages sans que tu n'en ai la moindre trace. (pratique ... enfin, ca dépend pour qui)
 
Emmerdement du public numéro 1 : Ca m'a toujours fait chier de tomber sur des sites qui pratiquent ce genre de référencement sauvage. Quand je cherche une info, je veux tomber dessus rapidement, pas me faire jeter par une disaine de sites qui veulent me forcer à m'inscrire.
Emmerdement du public numéro 2 : Contrairement aux légendes urbaine, google n'est pas la solution idéale quand on veut un moteur de recherche interne à un site. Mieux vaut un moteur de recherche spécifique au site qui ne référencera que les parties significatives des pages. (par exemple on en a rien à faire de savoir qu'il y a une image nomé "index.gif" sur toutes les pages du site où qu'il y ai écrit "Recherche" une à deux fois par page)
 
 
 
Au fait, en passant, la pluspart des robots de moteurs de recherche ne gérent pas les cookies (a moins que ca ai changé récemment) donc même si tu les connectes en faisant passé l'id de session dans le cookie, ca ne marchera pas. Dans l'autre sens, si t'accepte que les id de session soient passé par l'URL alors tu fragilises la sécurité de ton site (c'est vite fait de mettre le lien d'une page dans un message sans voir que l'id de session est dans l'adresse ce qui permettra aux autres d'être connecté sur le site avec notre compte)
Si tu veux vraiment que google (et les autres moteurs de recherche) référencent les parties privés de ton site sans ce probléme là, alors il n'y a pas 36 solutions : il faut que tu mettes sur tes pages des conditions du genre "si t'es connecté ou que t'es un robot alors (contenu normal de la page)" plustôt que de dire "si t'es un robot alors passe par là". Mais ca n'enlévera pas la seconde faille pour autant.

Reply

Marsh Posté le 23-04-2007 à 22:16:46    

Ce ne sont pas les robots qu'il faut rediriger, mais les visiteurs : aucun robot sensé n'accepte d'être redirigé.
De plus, Google , yahoo, msn... pénalisent le cloaking.

Reply

Marsh Posté le 22-08-2007 à 15:13:58    

En techniques BlackHats, oui le cloaking est dangereux .. Utilisé à bon essient il parait que c'est bon
Qq'un aurait-il en sa posséssion la parfaite petite bible du référenceur SEO par là ?


Message édité par grosbin le 22-08-2007 à 15:18:51

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 23-08-2007 à 00:04:56    

Et pourquoi pas la marmotte dans son papier d'alu, oops le chocolat emballé par la marmotte ;)
 
C'est un art le référencement, tout comme les bonnes pratiques apparement. Suffit de comprendre comment marche l'ensemble, personne ne dit que les redirections sont interdites ete d'ailleurs les robots les suivent contrairement à ce que certains pensent, mais y'a redirection et redirection ;)

Reply

Marsh Posté le 04-09-2007 à 11:58:24    

Redirections des robots, ça revient à cloaker ton site, dès que google compare à partir d'un cache ( avec d'autres headers pour le user-agent ), tu risques de fortes pénalités .. à voir ..


---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Sujets relatifs:

Leave a Replay

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