Connaissez-vous vraiment qui se connecte à votre site?

Si vous possédez un site internet, vous avez peut-être envie de savoir quels sont les sites qui requêtent vos URLs. Vous pouvez pour faire cela, naturellement mettre en place un outil de web analytics comme google analytics, mais ces outils excluent généralement les robots qui parcourent la toile en permanence. 

apache foundation logo

Des robots par milliers sur la toile

Le web ne s’arrête jamais de tourner, les robots non plus. Des robots, qui ne sont rien d’autre que des programmes, parcourent frénétiquement l’internet, passant de page en page et de site en site au gré des liens trouvés ci et là. L’importance d’avoir un netlinking correct précisement de là: Les liens sont le ciment de l’internet.

Ce que les outils de web analytics ne montrent pas, ce sont eux: les robots qui passent de site en site ayant pour but de parcourir la toile et de relever de l’information. Et les chiffres sont vertigineux: plusieurs milliers de demandes d’URLs peuvent être effectuées chaque jour pour un simple site internet. Les outils de web analytics ne montrent que les visites « humaines » et ne peuvent montrer ce passage incessant de robots.

Le plus connu des robots est bien évidemment Google bot. Il existe des variantes, googlebot pour l’actualité, pour les images et d’autres variantes encore. Bing, le moteur de recherche de microsoft, possède aussi ses robots. Yahoo, Yandex (russe), Orange… voilà du côté des moteurs de recherche. Votre site internet peut aussi être sollicité par d’autres types de requêtes: spammeurs, robots d’outils de SEO (moz), voleurs de contenu et ainsi de suite.

Connaître et faire le point sur ces robots gloutons est important pour maîtriser ce qui se passe sur votre site internet et pouvoir bloquer les IPs indésirables ou tout simplement mesurer l’impact d’un changement de linking sur votre site. N’oubliez pas que les moteurs de recherche ne sont que ce qu’ils mangent.

Une commande simple pour analyser les referers

Pour connaître rapidement, d’un coup de ligne de commande qui sont les sites qui effectuent des passages chaque jour sur votre site, il existe plusieurs solutions. Des logiciels payants d’analyse de log existent, mais si vous souhaitez rapidement et gratuitement faire le point sur la situation, rien de mieux qu’un coup de ligne de commande sur votre serveur apache.

Une fois connecté en ligne de commande, la ligne à saisir est la suivante:

grep monsiteinternet.com access.log.current |  awk -F\" '{print $6}' | sort | uniq -c | sort

La commande se décompose de la sorte. Dans un premier temps, vous allez lancer une commande « grep » permettant d’aller récupérer dans le fichier access.current.log les lignes concernant uniquement votre site internet. En effet, vous pouvez avoir plusieurs sites internet sur le même serveur, autant les exclure pour analyser correctement chaque site internet indépendamment et en tirer les bonnes conclusions. Vous allez dans un deuxième temps lancer une commande awk permettant de traiter les chaînes de caractères (au même titre que les commandes Sed) et utiliser les guillemets pour délimiter chaque ligne et extraire l’élément en sixième position (celui concernant le referer et user agent). La suite est simple, on classe, on regroupe en comptant le nombre d’occurrences et on re-trie de manière croissante.
La sortie de cette commande va donner quelque chose de la sorte:

 46 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0
  48 Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36
  90 Mozilla/5.0 (compatible; Qwantify/2.1w; +https://www.qwant.com/)/*
  111 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36
  197 Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)
  209 -
  210 Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
  219 Mozilla/5.0 (compatible; OrangeBot/2.0; support.orangebot@orange.com)
  254 Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.0; trendictionbot0.5.0; trendiction search; http://www.trendiction.de/bot; please let us know of any problems; web at trendiction.com) Gecko/20071127 Firefox/3.0.0.11
  413 Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  741 Mozilla/5.0 (compatible; MJ12bot/v1.4.5; http://www.majestic12.co.uk/bot.php?+)
  883 Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
  3536 WordPress/4.3.1; http://www.reportingbusiness.fr
  6490 Python-urllib/2.6

Cela s’interprète de la manière suivante en partant des lignes les plus en bas pour remonter. Dans la journée en cours, 6490 demandes d’URL ont été effectuées via un script Python. 3536 URLs ont été demandées via un script interne. Bing a fait 883 appels d’URLs et ainsi de suite.
Le gros intérêt est bien évidemment de maîtriser et de comprendre quels sont les scripts / outils / spammeurs qui analysent et demandent des URLs de votre site pour prendre les mesures adéquates.

L’analyse des logs web : une mine d’informations incroyable

Ce type d’analyse peut être étendu et croiser avec d’autres commandes awk pour affiner et trouver de nouvelles informations. Vous pouvez par exemple voir les URLs demandées par GoogleBot et prendre les mesures nécessaires ou au contraire voir quelles sont les pages jamais analysées par les robots de référencement et prendre les bonnes décisions en ce qui concerne l’architecture de votre site. Connaître ces commandes est primordial pour la bonne santé d’un site internet.

Ce n’est généralement pas le travail du webmarketeur que de connaître en profondeur ces commandes. Néanmoins, savoir que ce type d’analyse existe et qu’elle peut avoir une influence sur comment les moteurs de recherche voient votre site est fondamental, chaque visite apportée par le SEO permet potentiellement d’augmenter le nombre de ventes … à un coût nul pour vous. Question rentabilité, il n’y a pas mieux.