Cadeau! Si vous êtes webmaster, que vous êtes hébergé chez 1&1 et que vous souhaitez analyser vos logs apache, voici un script écrit en bash qui vous permettra de le faire simplement… et gratuitement.
Pourquoi analyser vos logs apache est indispensable
Si vous possédez un site internet, vous devez très probablement savoir que celui-ci est constamment visité par de nombreux robots. Ce sont en fait des centaines ou des milliers de robots qui parcourent chaque jour votre site. Le web étant par définition une toile, les robots « sautent » de page en page et de site en site au gré des liens trouvés, scannant le contenu de votre site.
Les moteurs de recherche comme Google, Bing et Yahoo ou encore le russe Yandex, envoient leur robot analyser les pages de votre site internet. Connaître leur passage, analyser les principales pages visitées ou encore noter le nombre quotidien de visites est indispensable pour vous assurer d’un bon crawl – et donc potentiellement d’une bonne indexation de votre site future. En cas de modification de votre site internet, cette analyse devient même cruciale pour garantir qu’il n’y ait pas de pages fantômes créees (problème d’URLs par exemple qui pourraient générer tout un lot de pages 404).
D’autres bots analysent votre site et peuvent être le signe d’un script pompant littéralement votre contenu ou encore essayant de rentrer sur votre back-office – rien de très agréable en soi. Connaître leur passage pour rapidement identifier les adresses IPs à exclure devient du coup indispensable.
Le script d’analyse de vos logs apache
Voici un petit script maison qui vous permettra d’analyser rapidement les principaux passages. Libre à vous de le modifier en fonction de ce que vous recherchez à analyser.
Ce script va analyser les choses suivantes: le nombre de passages de Googlebot-Image, le nombre de passages de GoogleBot, le passage de Bingbot (Microsoft), de Yahoo Slurp. Il va ensuite vous donner pour chacun le top 5 des pages les plus visitées. Finalement, il va vous donner le top des navigateurs qui se sont connectés à votre site web.
#!/bin/bash # script écrit par: anthony skolozdrzyk ardouin dir_path="$HOME/logs" log_file="access.log.current" file="$dir_path/$log_file" sitename="votre_nom_de_domaine" declare -a bot_type=("googlebot-image" "googlebot" "bingbot" "Slurp"); echo $bot_type; echo "TOP LEVEL KPIs SEARCH ENGINE BOTS" for i in ${bot_type[@]} do echo "Passage "$i": "$(grep $sitename $file | grep -i "$i" | wc -l); done echo "TOP URL CRAWLED"; for i in ${bot_type[@]} do echo "CRAWL DU BOT "$i" -----------------------" otp=$(grep $sitename $file | grep -i $i | awk -F" " '{print $7}' | sort | uniq -c | sort -r | head -n5 ); echo "$otp"; done echo "TOP BROWSERS ----------------------" browser=$(grep $sitename logs/access.log.current | awk -F\" '{print $6}' | sort | uniq -c | sort | sort -r | head -n10) echo "$browser";
Pour l’executer, il vous suffit de le lancer comme n’importe quel script bash directement en ligne de commande via ssh sur votre serveur.