Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2788 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Rediriger les robots en php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rediriger les robots en php

n°1544144
daDD
Posté le 18-04-2007 à 10:49:07  profilanswer
 

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)
 
++

mood
Publicité
Posté le 18-04-2007 à 10:49:07  profilanswer
 

n°1544189
sebP59
Posté le 18-04-2007 à 11:41:53  profilanswer
 

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  :)

n°1544214
r0main_
Posté le 18-04-2007 à 12:08:06  profilanswer
 

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
n°1544251
daDD
Posté le 18-04-2007 à 13:37:41  profilanswer
 

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 :?

n°1544476
omega2
Posté le 18-04-2007 à 16:55:36  profilanswer
 

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.

n°1544558
r0main_
Posté le 18-04-2007 à 20:31:37  profilanswer
 

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:

n°1544563
r0main_
Posté le 18-04-2007 à 20:40:07  profilanswer
 

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
n°1544650
esox_ch
Posté le 18-04-2007 à 23:29:32  profilanswer
 

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

n°1544861
daDD
Posté le 19-04-2007 à 11:22:39  profilanswer
 

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)
 

n°1544904
omega2
Posté le 19-04-2007 à 11:40:16  profilanswer
 

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

mood
Publicité
Posté le 19-04-2007 à 11:40:16  profilanswer
 

n°1545713
daDD
Posté le 20-04-2007 à 13:17:51  profilanswer
 

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...

n°1545871
leflos5
On est ou on est pas :)
Posté le 20-04-2007 à 16:56:07  profilanswer
 

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

n°1547056
omega2
Posté le 23-04-2007 à 13:21:32  profilanswer
 

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.

n°1547691
Dan_A
Posté le 23-04-2007 à 22:16:46  profilanswer
 

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.

n°1602386
grosbin
OR die;
Posté le 22-08-2007 à 15:13:58  profilanswer
 

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
n°1602640
leflos5
On est ou on est pas :)
Posté le 23-08-2007 à 00:04:56  profilanswer
 

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 ;)

n°1607996
grosbin
OR die;
Posté le 04-09-2007 à 11:58:24  profilanswer
 

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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Rediriger les robots en php

 

Sujets relatifs
Header (location) et Robots...[BATCH] DOS : rediriger a telnet une req HTTP contenue dans un .txt
Rediriger le flux console vers un JtextfieldRediriger les Console.writeline vers un fichier
Comment rediriger vers des pages différentes suivant le statut ?Rediriger en fonction de la date?
rediriger vers une page html après un controle d'identitérediriger vers un autre script après exécution d'une fonction
Les meta robots ?rediriger sur un page avec un paramètre
Plus de sujets relatifs à : Rediriger les robots en php


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)