Système d'analyse de fréquence de passage de GoogleBot

Consolidation des données collectées sur les sites participants

Présentation
L'analyse des visites des moteurs de recherche passe par une comparaison des visites sur différents sites.
L'activité d'un bot n'est pas régulière, il arrive parfois qu'il ne passe pas sur le site pendant plusieurs jours.
Son activité peut également varier selon des événements tels que le calcul de l'index, le reclassement des sites, le calcul de filtres...
L'objectif du système mis en place est de fournir visuellement les statistiques de fréquentation non pas d'un site mais de tous les sites témoins consolidés.
Principe de fonctionnement
Un code est exécuté sur chaque site participant lorsqu'il reçoit la visite de GoogleBot.
Un fichier texte est mis à jour sur le site participant pour incrémenter le compteur de visites du bot.
L'historique de ces visites est conservé pendant 5 jours seulement afin d'être le plus léger possible, le moins intrusif pour ne pas pénaliser le site.
Un serveur central (ici) effectue la lecture quotidienne de ces compteurs afin de les consolider. Le site participant ne reçoit donc qu'une visite du serveur central ce qui ne le charge pas.
Lorsque les données des sites ont été récupérées, un graphe est calculé et généré sous format d'image statique qui peut alors être consulté.
En cas d'incident (serveur ne pouvant effectuer son relevé quotidien), les donées ne sont pas perdues car toujours présentes sur les sites grâce à l'historique de 5 jours.
Les informations obtenues permettent de représenter l'évolution dans le temps des cumuls de visites, et des indicateurs tels le nombre de pages lues par rapport au nombre total de pages, ou selon le PR etc.
Les graphs ne sont actuellement pas tous calculés, le projet étant à ses débuts.
Limitations
Afin de rester léger sur le site participant, le système ne permet pas une analyse par DataCentre ou par IP, par page ni par fréquence horaire.
Le système ne peut pas être intégré à une page HTML ni monitorer les accès de Google sur les images. Seules les pages PHP sont analysées. Il faudrait sinon se baser sur l'analyse des logs du serveur web, ce qui n'est pas compatible avec la conception de cet outil.
Structure du fichier de logs
Un fichier texte est créé par l'agent sur le site participant, selon le format de ligne suivant :
date|valeur/date|valeur/date|valeur/date|valeur/date|valeur
date est de la forme AAMMJJ : date("ymd")
valeur est un entier incrémenté à chaque passage
/ est le séparateur de donées entre 2 dates
|est le séparateur de données dans un enregistrement.
Agent
Voici le code de l'agent à placer sur votre site. Le placer dans un fichier nommé par exemple 'agent.php' et modifier sur la première ligne le chemin d'accès au fichier qui va être créé et contenir les compteurs de passage. Ce fichier de logs créé devra être accessible par la suite via une URL renseignée dans le formulaire d'inscription.

<?php

$FileName
=$_SERVER["DOCUMENT_ROOT"].'/'.'googlelog.txt'//Nom complet du fichier local sur le serveur
if(strstr($HTTP_SERVER_VARS['HTTP_USER_AGENT'] ,'Googlebot')){
    if((!
file_exists($FileName))||(filesize("$FileName")==0)) {
        
$handle=fopen($FileName,"w"); //cre le fichier
        
fwrite($handle,date("ymd").'|1');
        
fclose($handle);
    }else{
    
$handle=fopen($FileName,"r");
    
$val_array=explode('/',fread($handle,filesize("$FileName")));
    
fclose($handle);
    
$flag=FALSE;
    for (
$i=0;$i<count($val_array);$i++) {
        list(
$d,$c)=explode('|',$val_array[$i]);
        if(
$d==date("ymd")){$c++;$flag=TRUE;}
        
$val_array[$i]=$d.'|'.$c;
    }
    if(!
$flag)$val_array[]=date("ymd").'|1';
    while(
count($val_array)>5)array_shift($val_array);
    
$handle=fopen($FileName,"w");
    
fwrite($handle,implode('/',$val_array));
    
fclose($handle);
    }
}
?>
A noter qu'il n'y a pas d'utilisation de flock car googlebot espace par lui-même l'accès aux pages

Créer un fichier vide de taille nulle correspondant au fichier de logs sur le serveur, et lui attribuer les droits d'écriture.

Pour solliciter l'agent depuis vos pages, ajouter à la fin de vos pages PHP les ligne suivantes :

<?php
include 'agent.php';
?>
Astuce : Changer la détection du user agent en mettant la signature de votre navigateur pour s'assurer que le script fonctionne, puis remettre le code d'origine.
Les erreurs peuvent survenir lorsque le chemin d'accès au fichier n'est pas bon ou que les droits sur le fichiers ne sont pas bons (il faut lecture ET écriture), ou lorsque le fichier n'existe pas mais que les droits ne sont pas suffisants pour le créer.
Formulaire d'inscription
L'inscription permet de vous identifier comme site participant à l'opération. Le serveur ira alors chercher vos statistiques pour les consolider.
La réinscription permet de mettre à jour les données si vous étiez déjà inscrit (même URL, même eMail).
Nom du site
URL principale du site (sans redirection)
Checksum de l'URL ci-dessus
URL d'accès au fichier log généré par l'agent
email optionnel pour être prévenu des mises à jour du code de l'agent
Nombre de pages crawlables disposant du compteur
N'envoyez le formulaire que lorsque l'agent est en place et que Google a déjà effectué un passage (log présent)
Attention, l'affichage de la page après soumission du formulaire peut prendre plusieurs secondes, le site soumis est analysé.
Sites participant
Cliquez sur le lien d'info pour accéder au rapport du site correspondant.
InterClasse (info)
Rapports
Le rapport ci-dessus présente les proportions des pages crawlées regroupées par PR de site.
Ces ratios sont égalisés à un même nombre de pages connues pour chaque PR. Ainsi, si la proportion de l'échantillon de sites à PR5 est trop importante par rapport à celle de PR 7, le ratio sera recalculé comme s'il y avait autant de pages analysées de PR 5 que de PR 7.
Conclusion possible : pour un même nombre de pages pour chaque pr, Google visite très nettement plus de pages par jour plus le PR est élevé.
Remarque : Fin de la première semaine de février, les visites des pages à faible PR ont proportionnellement augmenté, cela coïncide à peu de jours près à une réévaluation du nb de BL pour les sites indexés par Google (voir rapports de sites).

Le rapport ci-dessus présente le ratio des crawls par PR selon les sites enregistrés.
Il y a donc des disproportions par rapport à la réalité tant que l'échantillon de sites hébergeant des agents n'est pas équilibré. Il s'équilibre naturellement plus y a de sites enregistrés; il dépend du nb de sites par PR et ne tient pas compte du nb de pages total réajusté.
Le résultat est plus significatif par rapport au nombre réel de sites ou pages pour un PR donné, le rapport précédent égalisant les résultats en estimant un même nombre de pages ou sites pour un pr donné. Le résultat a pour effet d'augmenter la part des crawls de petit PR car leur nombre est plus important
Remarque : étrangement les sites de PR 6 ne sont plus visités mi-février. Etant donné le faible nombre de sites de PR6 dans l'échantillon, il est difficile de conclure.
Evolutions
le meme rapport en calcul logarithmique que le premier rapport, sans quoi on ne voit pas les crawls pour les sites de petits PR
D'autres indicateurs et graphs
Faire analyse par site avec moyenne du site, variance etc...
Permettre de gérer d'autres bots
Analyser selon localisation géographique
Identifier les frémissements des rapports annonçant les GoogleDances
tracer l'évolution du volume global de pages crawlées reportées à max=100
afficher la liste des sites par classement de pr dans une matrice regroupant les données par pr (c, k...)
Rapport analysant le volume de crawl global (normalement plus élevé lors d'une danse)

Server Info
Remote Info
Compress

Batchs
BootSector
Droit
Accessoire GFA
On Now
Ecran plasma
Système d'exploitation
Son
Unités
Scripting
Multilingue
Site Web
Bruit et son
Architecture Google


4K
Color picker
TaskList
Backup files
Mini Port Scanner
Website To CHM
PixyDemo
Web password recovery
4KWebServer
Kill Popup
VBE decoder
Script Optimizer
Database Password Recovery
Class
Ini
EMail validator
Graphical Class
MP3 Info
Pinger Class
IP ranger class
SoftwareMetering
Path Validator
Time Stamper Class
LoggerCLS
HTA
Keyword Ranking
DOM Explorer
HTA-Notepad
PixyPortManager
Other
flashMessage

VBE decoder (fixed)
Error Codes
Maze generator
Char counter
HTML To Word
ICQ Choose User
ScreenSaver Password decoder
Mp3Playlister - singleList
Long Filename To Short
Trace Math
Dump Hexa File
Self modifying script
Mp3Playlister - multiList
HTANoid
PixyWebServer
Python
Progress indication

©2002 Jean-Luc Antoine. All Rights Reserved. Scripts or any other material on this website may not be redistributed or put as part of ANY collection (script archives, CDs etc) without prior written permission. Permission granted to use and modify any of the scripts found on InterClasse.com