Comptabiliser les visites des bots

rudddy

WRInaute passionné
Bonjour,

j'aimerais me faire un script qui comptabilise les visites des bots sur ma page, si possible en différenciant :

- le GGBot
- le BingBot
- le YahooBot
- le bot GG News
- le bot GG Blog
- le bot GG image
- le bot GG Adsense
...

Vaut-il mieux travailler par User Agent ou par IP ?
Est ce compliquer à maintenir ? si changement d'user agent ou d'ip ...

Merci de vos retours
 

Zecat

WRInaute accro
rudddy a dit:
Vaut-il mieux travailler par User Agent ou par IP ?
Est ce compliquer à maintenir ? si changement d'user agent ou d'ip ...

Merci de vos retours
A mon avis faut coupler les deux (j'ai pas mal bossé la dessus) :

1 - premiere lame du rasoir : la plage d'ip
2 - deuxieme lame du rasoir : le user agent pour faire le tri

puisque avec une meme IP ca peut aussi bien etre du googlebot que du mediaprtner ...

Si tu veux maintenir ton truc a peu près up todate, il faut a mon avis etendre ton tracking a toutes les visites ... les point 1 et 2 ci dessus te permettant de sortir avec $isbot (true/false). Si false c'est a priori du visiteur non bot jusqu'à ce que tu vois passer un visiteur trop recurent (et la tu regardes si agent mérite que tu l'integre dans le cas isbot ... Bon viennent se greffer la dessus les aspi (plus ou moins barbares) ... perso j'ai pas fait dans la dentelle : plus de nn pages visitées dans une minute et boum ip bannie d'office de façon automatique (je recois juste un mail d'avis) ... le nn se reglant selon la nature des pages.
 

Zecat

WRInaute accro
Pour eviter d'encombrer la bdd, un petit stockage bien structuré dan sdes documents .txt sur le serveur ... ca le fait aussi très bien ... d'autant plus que la c'est juste un stockage sans update ni accès concurrents en modif ...
 

rudddy

WRInaute passionné
en fait je sais pas si c'est vraiment très gros, car je voudrais pas avoir la liste détaillé de chaque passage, mais par exemple des stats sur les 7 derniers jours, les 30 derniers jours et les 365 derniers jours, cad le nb de passage de chaque bot sans forcément avoir le détail par jour et par heure
 

Zecat

WRInaute accro
rudddy a dit:
en fait je sais pas si c'est vraiment très gros, car je voudrais pas avoir la liste détaillé de chaque passage, mais par exemple des stats sur les 7 derniers jours, les 30 derniers jours et les 365 derniers jours, cad le nb de passage de chaque bot sans forcément avoir le détail par jour et par heure
365 jours x 1000 visiteurs par jour = 365.000 mouvement. et si c'est 10.000 vu j ca passe a 3 millions de mouvements et des poussières ... (et encore la je suis gentil, je raisonne en visiteurs alors que ce que tu dois traquer ce sont le spages visitées - notamment pour les bots ... et donc tu peux tout multiplier par 3600 si tu poses comme postulat que sur un site bien frequenté par les bot, tu vois passer minimum 1 yahoo, 1 google, 5 yandex (quel goinfre celui la, etc etc ... par minute ...). Et je mets de coté les mediaprtners dont on se fout un peu en fait ... mais qu'il faut quand même traquer pour pouvoir les mettre de coté ...

- Casse bonbons dans une base de données quelle qu'elle soit (en plus juste pour du tracking !) ...

- Une formalité en document .txt (un dossier par an, un sous dossier par mois, un document par jour, une ligne par mouvement et a chaque visite le put qui va bien avec les 4 ou 4 info utiule (date-heure/IP/page/ etc ..). Et si tu veux des stats sans avoir a consolider tous ces doc a chaque fois, un petit txt de plus avec 365 données que tu mets ea jour en temps reel et un separateur entre chaque données pour imploder ca pepere). Tu peux aussi eclater ca par bot dans des doc specifique des l'arrivée, ... toujours ca de fait ...

Donc de toute façon, que tu le veuilles ou non, prepares toi a gérer du volume ...
 

rudddy

WRInaute passionné
vu sous cet angle en effet c'est pas du couscous mais plutôt des gros pois chiche :) :)

(elle peut rentrer dans les citations celle là ?? ;-))
 

UsagiYojimbo

WRInaute accro
Tu as un analyseur de logs genre Awstats ou Webtrends d'installé ? Parce que c'est typiquement le genre d'infos que tu peux y retrouver.
 

anemone-clown

WRInaute passionné
Pas la peine de se casser la tête; vive Browse Cap : http://alexandre.alapetite.fr/doc-alex/php-local-browscap/
C'est juste quand http://php.net/manual/fr/function.get-browser.php n'est pas implanté sur le serveur apache.
Il n'est, ensuite, pas compliqué de stocker les résultats dans un fichier temporaire et de faire un flush de temps en temps pour alimenter une bdd. Ainsi, il n'y a qu'une seule écriture (même pas de lecture) à chaque passage de bot en allant chercher le champ "crawler".
 

Zecat

WRInaute accro
Une verrue de plus dépendant d'une tierce partie ... source d'emm.... à un moment ou a un autre. vaut mieux se le coder soit meme à mon avis.
 

anemone-clown

WRInaute passionné
Zecat a dit:
Une verrue de plus dépendant d'une tierce partie.
Apache et PHP sont des tierces parties et sources d'emmerdement??? On est mal barré là... :lol: :mrgreen: On peut enlever la bibliothèque GeoIP aussi tant qu'à faire : je reconnais que sans ces deux bibliothèques (GeoIP et BrowsCap), Apache et PHP tournent plus vite.

Bon, on n'a plus qu'à passer tous sous Windows et ASP. :arrow:
 

Zecat

WRInaute accro
alors c'ets moi qui ai mal pigé ou se trouvait cette base de données ? :roll:

qui permet d’utiliser cette base de données browscap.ini. Comme l’utilisation de cette fonction nécessite de maintenir à jour la base de données, qui est fournie par des tiers et pas directement par PHP, nombre d’hébergeurs n’activent pas cette fonction.

Pour Geoip c'ets différent, une fois que tu as chargé le fichier binaire, tu ne fais plus appel a un tiers ... sauf pour les miases a jour mensuelles je te l'accorde ...
 

anemone-clown

WRInaute passionné
Toutes les bibliothèques PHP sont à mettre à jour régulièrement dans la mesure où elles intègrent des données non-fixes... Et avec des données basées sur des IP, ou des signatures logicielles, c'est obligatoire puisqu'il y a évolution (nouvelle version de FF par exemple, nouvelle IP attribuée à un site sur un dédié, etc.).

Théoriquement, la plupart des hébergements mutualisés "valables" offrent en natif la fonction php sans qu'il soit besoin de maintenir la base soit même, que ce soit browscap ou geoip (c'est le cas chez OVH si je me souviens bien). Et sur un dédié, on intervient tous les 3 mois par exemple, au cours d'autres opérations de maintenance plus ou moins obligatoires.

Donc, soit 99% des grands hébergements sont masos, soit on peut utiliser ces bibliothèques sans avoir "peur" d'un service "tiers".
 

Discussions similaires

Haut