Interview de l’auteur de Crawltrack : Jean Denis Brun

Q1:Salut Jean Denis, j’ai connu Crawltrack en 2007, à l’époque je n’avais que des connaissances vagues sur les bots (j’étais plutôt Google analytics). Or ce dernier ne détecte que les visites d’humains. Très concerné par le Seo technique, j’ai très vite vu l’intérêt d’un outil comme Crawltrack qui à la différence de Google Analytic à l’époque, détectait les visites des bots. Mais parlons d’abord de toi, comment es tu venu à Crawltrack? Quelles connaissances techniques avais tu à l’époque où tu as commencé à coder Crawltrack?

Pour revenir à l’origine de CrawlTrack il faut remonter à fin 2004. Je fait partie d’une famille nombreuse dont les membres sont éparpillés un peu partout en France, et j’ai eu l’idée de créer un site  pour  s’échanger des infos.  J’ai commencé par un site fait en Frontpage sur un hébergement gratuit, mais assez vite j’ai eu envie d’apprendre et de maitriser le code et j’ai laissé tomber Frontpage pour un simple notepad++.

J’ai installé un phpMyVisites (aujourd’hui Piwik)pour suivre les statistiques de visites et la j’ai eu envie de comprendre comment ça marchait. Je n’avais jamais fait de php, je ne suis pas informaticien mais ingénieur en mécanique. J’ai acheté plusieurs livres (du style php5 pour les nuls) et j’ai appris. Assez vite j’ai fait des modifs dans phpMyVisites pour mon usage personnel et j’ai fini par mettre en ligne des plugins pour phpMyVisites.

Au mois de juin 2005, l’idée de permettre la détection des robots par phpMyVisites est lancé et je me charge de cette partie. A l’époque RobotStats est la référence dans la détection de robots mais déjà son développeur (Olivier Duffez du site Webrankinfo) a visiblement d’autres priorités et le script n’est plus mis à jour. Après plusieurs semaines de travail, il apparaît clairement qu’il y a  une incompatibilité technique entre phpMyVisites qui utilise le Javascript (tout comme Google Analytics) et la détection des robots qui nécessite d’utiliser le php.  L’idée de l’intégration dans phpMyVisites est abandonnée et j’ai pris la décision de sortir CrawlTrack comme script autonome. La première version a été proposée en téléchargement le 5 novembre 2005.

Q2:Peux tu nous expliquer comment marche crawltrack techniquement?
Voilà une vaste question, je vais essayer de faire simple. A chaque requête,  le tag de CrawlTrack qui est positionné sur la page lance l’exécution d’un script php.  Ce script va utiliser les informations disponibles dans la requête http reçue par le serveur (url demandée, user-agent, IP et referer) pour  classifier la visite (attaque ou pas, robot ou humain, etc…). La visite une fois  identifiée comme venant d’un robot connu par CrawlTrack, venant d’un humain ou étant une attaque fera l’objet d’un enregistrement dans la base de donnée. Les autres visites « non identifiées » seront juste comptées mais pas enregistrées. L’ensemble du traitement est fait coté serveur, c’est la différence fondamentale avec des scripts qui utilisent le Javascript (Google Analytics, Piwic) dont une part du traitement est fait coté client. CrawlTrack ne pourra jamais donner la résolution de l’écran d’un visiteur mais en contrepartie il ne dépend pas de l’activation de Javascript pour détecter une visite ce qui lui permet de détecter les robots.

Q2bis:Comment fonctionne en principe la détection d’attaque?

La détection des attaques est faite par l’analyse de l’url demandée en y regardant chacun des paramètres passé dans l’url. Classiquement, une tentative d’injection de code fait appel à un lien vers le script malicieux, c’est ce lien qui est détecté. De même pour les tentatives d’injection sql, c’est la présence de morceaux de requêtes SQL qui est détectée. La liste d’attaques qui est disponible dans la base de CrawlTrack n’est pas utilisée dans le processus de détection, elle ne sert qu’à donner les infos sur la page de statistiques de CrawlTrack (les scripts visés par les attaques reçues).

Q3:Crawltrack est en php et non en javascript pour pouvoir détecter des robots (qui ne lisent pas le javascript en général). Aujourd’hui il détecte aussi les humains, quels challenges dois tu affronter pour restituer au mieux la réalité. Sachant qu’il n’y a pas de solution parfaite, pourquoi as tu décidé d’enrichir Crawltrack dans cette direction?

C’est vrai qu’au départ je n’avais pas prévu d’intégrer la détection des humains. Ce qui m’a fais évoluer dans ce sens c’est d’une part les utilisateurs de CrawlTrack qui ont été de plus en plus nombreux à le demander et d’autre part, mon expérience en tant que webmaster qui trouvait lourd de devoir utiliser plusieurs outils différents pour avoir l’ensemble des informations qui m’intéressaient. L’avantage du tag php c’est qu’il voit toute les requêtes reçues par le serveur, mais quand il s’agit de détecter les humains ça devient un inconvénient. C’est fou le nombre requêtes que reçoit un serveur web. Pour faire le tri entre les humains et les autres il a fallu développer des  filtres pour séparer le bon grain de l’ivraie. Ce traitement est lancé lors de la préparation de l’affichage des pages de résultat. Il a fallu presque un an de tests en parallèle avec Google Analytic pour mettre au point ces filtres.

Q4:Comment un webmaster peut-il tirer au maximum de l’environnement Crawltrack? Par exemple il m’est venu à l’idée de croiser les données de crawl de Google avec le temps d’indexation de Google, et j’entrevois d’intéressante possibilités pour de l’analyse fine et statistique, surtout pour des sites de taille moyenne. Que vois tu d’autres comme applications possibles?

C’est chaque utilisateur qui peut inventer son mode de fonctionnement et d’utilisation des données. C’est clair par exemple que de voir ce que font les robots permet de mieux comprendre le processus d’indexation pour éventuellement  apporter les corrections nécessaires pour favoriser un crawlage en profondeur. L’analyse des mots clef utilisés par les visiteurs et des pages d’entrée sur le site permet dans un deuxième temps de vérifier l’impact du référencement. On découvre parfois que des mots clefs utilisé par les visiteurs pour arriver sur le site ne sont pas ceux auxquel on avait pensé, ce qui peut ouvrir de nouvelles pistes pour le référencement. Il y a certainement encore beaucoup d’autres façons d’utiliser la masse importante d’informations donnée par CrawlTrack. Et c’est les suggestions des utilisateurs qui permettront de donner de nouvelles pistes pour les évolutions futures.

Q5:On voit une profusion de solutions analytiques pour les humains, mais très peu pour les bots. Confirmes-tu mon analyse?Pourquoi à ton avis?

Je pense qu’il y a une première raison, c’est que les webmasters sont d’abord intéressés par le nombre de visiteurs sur leur site. La prise de conscience de l’importance des robots ne vient qu’en deuxième temps si le webmaster commence à s’intéresser au référencement.
La deuxième raison c’est qu’il est plus simple pour le webmaster d’intégrer un tag Javascript qui ne demande rien de particulier au niveau du codage du site, alors que le tag php demande soit des pages en .php, soit un paramétrage du serveur pour traiter les pages html comme du php. Pour un produit « grand public », le choix du Javascript parait au première abord plus évident mais du coup cela ferme la porte à la détection des robots.

Q6:Pourquoi des bots sont plus gourmands que d’autres?

C’est un bonne question, sur mon site le numéro un et de loin s’appelle Googlebot avec une  visite toute les 2 à 4 secondes; ensuite arrive dans l’ordre Slurp Inktomi (Yahoo) et MSN Bot. Je trouve ça plutôt bon signe, mais si je fais un calcul de ratio (visiteurs envoyés)/ (visites du robot) je trouve que Yahoo et Bing utilisent beaucoup de bande passante pour un résultat très médiocre. Alors en fait je n’ai pas la réponse à ta question, il faudrait la poser à Google, Yahoo et Microsoft…

Q7:As tu des conseils à donner à ceux qui font du référencement de par ta connaissance des crawlers? Penses-tu que l’on ne met pas assez l’accent sur cette partie invisible qu’est le crawling?

Le référencement a pour objectif essentiel d’amener des visiteurs sur un site; tout le travail du référenceur consiste à faire connaître le site sur la toile. La part de visiteurs venant de moteurs de recherche (principalement Google) est souvent très importante, voir la plus importante. Ces moteurs ne « conseilleront » un site à un visiteur que si ils  le connaissent, et la seule façon pour eux de connaitre un site est de le crawler. Clairement, une page jamais crawlée, ne sera jamais proposée par le moteur puisqu’il ne la connait pas. C’est donc fondamental de savoir ce qui se passe au niveau du crawling pour d’une part vérifier que tout se passe bien (ça serait ballot de bloquer l’IP de Googlebot dans son .htaccess par exemple), mais aussi détecter les pages qui sont oubliées par le robot (page orpheline?). Un autre paramètre important est la fréquence de crawling, Googlebot viendra de plus en plus souvent si il découvre de nouvelles informations (ou pages) et si il n’est pas freiné dans son exploration. J’ai souvent observé qu’une augmentation de la fréquence  de crawling précédait une augmentation du nombre de visiteurs. Attention aux capacités du serveur, les robots peuvent être très gourmands, souvent nettement plus que les visiteurs humains.

Q8:ta base de bots a l’air sympa puisque très complète. Cela me rappelle que Fantomaster lui aussi a une base d’addresse ip de bot très mise à jour. Des possibilités que certains utilisent ta base à des fins de cloaking (surtout pour les ip de Google) ou alors c’est un peu risqué ?

Les utilisateurs sont libres de faire ce qu’ils veulent avec cette base, à eux d’assumer les risques qu’ils prennent au niveau de leur référencement. Personnellement je ne tente pas le diable, Google est beaucoup trop important en terme de source de visiteurs pour prendre le risque d’un blacklistage. Les ingénieurs de Google ne sont pas nés de la dernière pluie, ils savent que le cloaking existe et ils peuvent le détecter. Je ne serai pas étonné que de temps en temps Googlebot se déguise en visiteur lambda…[Ne tentez pas le black hat sur vos sites importants NDB]

Q9:le travail que tu as fait est considérable, Crawltrack est toujours gratuit, penses-tu le rendre payant un jour, en faire un service professionnel et freemium?

CrawlTrack est et restera open-source et gratuit. Les ressources publicitaires me permettent maintenant d’amortir l’ensemble des coûts d’hébergement. CrawlTrack reste pour moi un loisir, j’ai une activité professionnelle qui n’a rien à voir avec le web qui me permet de faire bouillir la marmite.

Q10:Quelle direction va prendre Crawltrack dans les mois et années à venir?

Voilà une bonne question, je ne fait pas de plan à long terme, les évolutions sont la plupart du temps venues suite à des demandes d’utilisateurs.
Dans un premier temps, c’est certainement la partie anti-hacking qui va évoluer le plus, ensuite on verra, j’attends les suggestions.

Q11:Parles nous de Crawlprotect, ta solution de protection des sites web, en quoi une protection au niveau du serveur peut être efficace?

CrawlProtect est né d’une demande de certains utilisateurs de CrawlTrack qui n’étaient intéressés que par la protection anti-hacking. L’objectif était donc de proposer un script léger uniquement dédié à la protection. CrawlProtect utilise un fichier .htaccess, et c’est donc au niveau du serveur Apache que le traitement est fait, avant tout traitement php (et donc avant les éventuels failles présentes dans les scripts utilisés).
Ca permet un plus grande réactivité tout en utilisant moins de ressources. Cela  fonctionne quelque soit le type de page (hml, php, …) sans avoir a intégrer un tag sur le site.
Mais attention, aucune protection n’est efficace à 100%, de nombreux cas de hacking se font simplement par ftp avec le login et le mot de passe qui ont été récupéré directement sur le PC du webmaster par un Trojan. Et là ni CrawlTrack, ni CrawlProtect ne peuvent rien y faire, alors si je peux donner un dernier conseil, en tant que webmaster, mettez vous à Linux, surtout que si vos affaires marchent bien il faudra passer au serveur dédié un jour et là vous serez en terrain connu 😉 .

Merci JDB. pour cette interview.

Si vous avez marre de Google Analytics il est temps d’essayer des alternatives certes moins puissantes (mais combien de gens utilisent les fonctions avancées de GA?) légère et au moins vous gardez tout pour vous.

Une réflexion au sujet de « Interview de l’auteur de Crawltrack : Jean Denis Brun »

  1. Eric NIAKISSA

    Merci pour cette interview.

    J’en profite pour remercier l’auteur de CrawlTrack qui m’a aidé en tant que référenceur à comprendre l’indexation des sites par les robots et gérer de manière très efficace le positionnement de mes clients chez ODIMAT Référencement.

    Concernant GA, je trouve que c’est un outil qui a le mérite d’avoir des fonctionnalités avancées (segmentation, alertes, rapports) qui sont de plus en plus plébiscités par les professionnels.

    Référencement vôtre.

Les commentaires sont fermés.