Lorsque je faisais du SEO chez un comparateur de prix, nous avions voulu connaitre la fréquence de crawl des moteurs de recherche sur le site web ainsi que les catégories les plus crawlées afin de faire concorder cela avec les catégories les mieux indéxées etc....

A l'époque nous avions installé un outil de comptage de crawls qui avait l'inconvénient d'être un peu trop gourmand en ressources (Il faut dire que la quantité de stats à ingurgiter devient vite importante).
Il y a 6 mois de cela nous nous sommes penché sur la question avec mon collègue de travail
Alan Boydell et nous sommes arrivés à insérer ces statistiques de crawl dans Google Analytics. Une telle méthode permet de voir en un coup d'oeil, dans Google Analytics, la fréquence de passage des moteurs de recherche, quelles pages ont été crawlées, combien de fois les moteurs sont revenus (
cf capture en haut à gauche) etc... et de faire porter la charge serveur par Google au lieu de le faire sur ses propres machines.
Alan va vous expliquer sur son blog comment paramétrer au mieux son compte, je vais pour ma part vous expliquer le fonctionnement du script et la manière de l'installer sur votre site.
La problématique que nous avons eu a été double :
- Comment insérer des statistiques dans Google Analytics alors que le tag Google est en javascript (ce dernier n'étant pas exécuté par les robots d'indexation)?
- Comment faire la séparation de trafic entre visiteurs et robots?
Sur la problématique de la segmentation du trafic il a fallut ruser par rapport au fonctionnement des moteurs de recherche. Le système ne peut être fiable à 100% mais il permet de catcher la majorité des crawls. Afin de détecter s'il s'agit d'un moteur de recherche 3 étapes sont effectués :
- Check de referer, si le client qui se connecte a un referer, il ne peut s'agir d'un bot dans la mesure où ceux-ci n'ont pas de referer. => Pas d'insertion
- Check de l'OS par rapport au User Agent, si le client qui se connecte déclare être sous un OS connut (
Win XP, Vista, Linux etc..) il ne peut s'agir d'un bot (
check par rapport aux patterns BBclone). => Pas d'insertion
- Check du moteur de recherche, si les deux conditions du dessus sont respectées, on check de quel moteur il s'agit par rapport aux patterns
BBclone. => Insertion
Sur la problématique du javascript nous sommes d'abord parti dans des solutions peu flexibles avant de tomber sur le billet de blog d'un certain
Peter Van der Graff que nous avons adapté à la problématique des moteurs de recherche et enrichi de nos connaissances en SEO et Web Analytics. Peter cherchait à logguer les requêtes faites sur son flux RSS ou sur ses documents PDF. Bref, nous reconstruisons l'URL d'insertion dans dans GA puis nous envoyons en Curl (
il faut donc que la librairie Curl soit installée sur votre serveur) aux serveurs de Google.
Installation :
- Placez les sur votre serveur.
- Adaptez le fichier config.php pour vos besoins.
- Faites un include_once du fichier analytics.php. (<?php include_once( dirname(__FILE__).'/analytics/analytics.php'); ?>vous aurez
- Dans environ 24h vous aurez les premiers résultats dans Google Analytics
Si vous avez des questions sur le plan technique et sur l'implémentation n'hésitez pas à laisser un commentaire sur mon blog ou sur celui
d'Alan.