J’ai le plaisir de vous présenter aujourd’hui Watussi Box, un analyseur de log SEO qui va vous permettre d’analyser et comprendre les comportements de crawl de Googlebot.
Le script est 100% gratuit et open source, n’hésitez pas à le modifier et partager les évolutions.
CLIQUEZ-ICI POUR TELECHARGER WATUSSI BOX GRATUITEMENT
Ah, voilà qui va m’intéresser énormément! Je teste ça ce weekend sans faute, je vois que c’est encore noël sur ton blog et ça c’est cool :D
Cela arrive après noel mais cela ressemble à un joli cadeau de noël.
J’ai hâte de tester cela mais d’avance, merci !
Ceux qui s’étaient pré-inscrit ont normalement reçu le cadeau à l’heure ^^.
Merci beaucoup Jean-Benoit pour ce cadeau SEO de la nouvelle année 2013 ;)
Je vais tester cette box tranquillement la semaine prochaine! Ce sera mon plaisir de Geek de Janvier :))
Bon WE à tous!
Un grand bravo pour avoir mis un tel outil en accès libre. Un petit portage sur github ?
Merci pour le compliment :) Portage github envisageable si l’outil plaît et qu’il évolue.
Bravo et merci!
Je suis sur le même genre de projet depuis plus d’1 mois…et le tien est beaucoup mieux :-)
Tu n’as pas de problèmes au niveau du parse des logs entre les différents hebergeurs (format des données pas exactement identiques)?
Merci pour le compliment :)
La question des formats de log est un vrai problème (même si avec 2 ou 3 formats tu dois couvrir une grande partie du parc).
Pour cette version open source, j’ai donc décidé de ne pas gérer le problème ^^.
Tu as deux modes d’installation :
– La solution « hébergement mutualisé » ou tu mets un include sur tes pages –> on ne travaille pas directement sur les logs.
– La solution « serveur dédié » ou tu dois faire une petite modification de configuration Apache –> tu mets au format que JE veux :D
J’ai une version beaucoup plus avancée que cette version open source qui permet de parser les logs. Dans ce cas là il y a une phase de setup où il faut généralement développer une petite moulinette sur mesure.
N’hésites pas à m’en dire plus sur ton projet, ça m’intéresse (en MP si tu préfères) ! Tu peux également modifier ma Watussi Box, dans ce cas là il faut redistribuer les sources sous la même licence ;-)
tu connais la syntaxe comment configurer avec un vhost pour un serveur dédié qui tourne sous nginx et lighttpd ? Sinon ça a l’air vraiment sympa.
Non, je ne connais pas.
Et je ne suis même pas sûr que l’option de « piped logs » (« journaux redirigés » : http://httpd.apache.org/docs/trunk/fr/logs.html#piped) soit disponible.
Si tu trouves, ça m’intéresse.
J’ai également un serveur qui tourne sous nginx et varnish.
On peut pas passer par un script bash qui copie le log nginx au bon format, et le script va taper dedans ? J’ai rien vu de tel dans watussi_log.php
Il n’y a effectivement rien de tel pour l’instant.
Mais ça ne demande qu’à être développé et partagé ;-)
Je pourrais regarder, tu peux me dire à quoi sert la fonction add_log ?
C’est la fonction qui ajoute le crawl ou la visite en base de données. C’est cette fonction que tu dois modifier si tu souhaites faire un parser.
Donc si je modifie ce fichier php pour taper dans un fichier de log contenant le bon format, ça règlerait tous nos problèmes non ?
Yes :)
Alors j’ai tout modifié pour lire en direct, l’injection SQL est bonne mais rien ne se passe.
Les accès SQL sont bons, ça a été vérifié.
J’ai toujours « Attention : Vous n’avez lancé aucune analyse pour le moment. Cliquez-ici pour lancer une analyse (peut prendre quelques minutes) » et rien ne se passe quand je clique dessus.
De même, j’ai tenté php watussi_log.php, et j’obtiens ça :
PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/watussibox_free/inc/fonctions.inc.php on line 146
PHP Warning: date(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CET/1.0/no DST’ instead in /var/www/watussibox_free/inc/fonctions.inc.php on line 130
Une idée ?
Bonjour Jean Benoît
Tu as pu jeter un oeil à mon problème ?
Bonjour Bruno,
Je n’ai malheureusement pas de temps en ce moment pour traiter les bugs. C’est dans ma todo list, j’essaie de voir ça au plus tôt ;-)
Ca marche, merci, parce que je sens que je suis tout prêt.
Merci de ta réponse. C’est vrai que ta manière d’aborder le problème est intéressante.
Je suis en train de développer une suite de petits outils + l’analyseur de logs, je te recontacte pour que tu me dises ce que tu en penses.
Je vais regarder ton code
Tu connais l’ISCIO à Osay?
Ca marche, n’hésites pas ;-)
Je ne connais pas l’ISCIO, et je n’ai pas vraiment d’excuses puisque j’étais juste à côté : j’ai fait mes études à l’IUT d’Orsay.
Pourquoi cette question ? ^^
Hello, justement parce que j’ai vu que tu avais fais tes études à Orsay aussi :-)
Cela me fait penser que cette solution ressemble fortement à la solution seo pseudo magique de http://www.botify.com/fr qui communique soit disant sur un outil révolutionnaire.
Votre script est nickel, open source et je vous en remercie et suffit largement par rapport a la solu botify qui n’apporte a peine plus d’informations que la box watussi.
Merci pour le compliment :)
Pour connaître un petit peu Botify, pour avoir utilisé des outils équivalents en agence, et pour développer moi même des outils non publics et non open source, je peux tout de même vous dire qu’on n’est pas sur le même niveau d’information.
Cette version open source a l’avantage d’offrir à tout le monde et gratuitement un premier niveau d’information sur le crawl de Googlebot. C’est nouveau car auparavant la source de donnée principale était Google Webmaster Tools, ce qui était tout de même très pauvre…
Si vous avez besoin de faire des analyses très poussées avec des volumes de données très important, il faudra utiliser une autre solution.
Je suis d’accord
Une fois que l’on passe sur un site a haut trafic les problèmes consistent plus dans l’industrialisation (dimensionnement vs serveurs) de ce genre de solution.
Mais je reste persuadé que cela reste plus un travail de la DSI du client que d’une agence SEO, sachant qu’en plus les logs vont être dépendants des technologies serveurs ( PHP, C# ou JAVA).
Paul
Pour avoir travaillé sur quelques uns des plus gros sites français, j’ai malheureusement constaté que les DSI sont généralement incapables de faire ça (ou n’ont pas le temps, ne veulent pas, n’ont pas le budget, …).
D’autant plus que certains indicateurs complexes nécessitent une véritable expertise SEO (ne serait ce que pour savoir comment les calculer !).
La récupération de logs complets et fiable est un problème récurrent.
Pour voir travaillé sur qqes gros sites français aussi, c’est clair que ce n’est pas la DSI qui analyse les logs avec une optique SEO
Salut Jean Benoit,
Bravo pour cet outil d’analyse de logs qui permet déja d’avoir un petit aperçu du comportement de google sur un site.
Reste plus qu’à introduire des catégories, personnaliser sa fenetre de crawl, … d’ailleurs tu utilises quoi comme fenêtre pour établir le crawl utile / inutile ? Ce qui serait cool aussi ce serait la possibilité de personnaliser sa fenetre de crawl par catégories.
Mais bon, c’est peut être pas utile d’avoir un niveau d’infos trop complexes, surtout si c’est plutôt destiné à des petits volumes de pages.
Ca promet en tout cas, mon JB, ca ne demande qu’à évoluer…
Et j’en profite pour te souhaiter une bonne année 2013 à toi et aux lecteur de Watussi.
Hello,
Pas de fenêtre de crawl pour le crawl utile / inutile. Je considère que le crawl est utile dès lors qu’il est effectué sur une page active. Je suis d’accord que ça peut se discuter.
Les autres fonctionnalités que tu évoques (catégorisation, personnalisation de la fenêtre de crawl, …) sont disponibles, mais pas sur la version open source ;-)
Bonne année à toi.
C’est très technique et pointilleux comme sujet. Mais est-ce que cela est vraiment nécessaire comme outils ?
Et au passage : Bonne année :)
A mon avis ce commentaire n’est là que pour obtenir un BL, dans le doute je le retire ;-)
Pour la réponse à ta question, je pense (j’espère !) donner quelques éléments de réponse dans le screencast.
Salutations
Bien joué. 2013 sera l’année des outils SEO balaises :-)
Open source … mais tu veux tuer le marché ? :-)
A+
Ravi d’avoir des lecteurs aussi prestigieux :-)
L’open source est souvent perçu comme un risque, mais ça offre également de nombreuses opportunités.
Tu remarquera tout de même que l’on reste à un niveau d’analyse assez faible. J’ai encore quelques cordes à mon arc ;-)
Un nouvel outil en libre accès après watussi report, on va finir par s’habituer à avoir régulièrement des tools gratuits et sympa, tu vas devoir continuer alors :D
Merci, mais là je vais faire une petite pause ;-)
Hello Jean Benoît,
Merci beaucoup de partager cet outil, super utile pour les noubs en dev comme moi.
J’ai tout installé sans problème (hébergement mutualisé), et ai observé avec délectation Google visiter mon site en temps réel. Vivement les prochains jours pour avoir des infos plus complètes. ^^
Quelques petites questions en attendant :
1. Combien de place les données stockées dans les tables watussi de ma db vont-elles prendre ?
Est-ce qu’on ne garde que les 30 derniers jours ?
2. J’ai testé une visite SEO via Google Images pour voir si elle remontait dans le dashboard ‘temps réel’ : elle n’est pas détectée par la WBox. Normal ?
A priori Googlebot crawle aussi pour Google Images, cela aurait du sens de l’inclure comme source de trafic pour mieux refléter le taux réel des pages actives.
Merci !
Anna
Hello,
1) Ca dépend évidemment du volume de crawl + visites de ton site. A la louche il faut compter 1 Mo toutes les 10 000 lignes. Tout est conservé, mais tu peux supprimer toi mêmes les données les plus anciennes si besoin.
2) C’est normal, je ne gère ni le trafic issu du Google Image, ni le crawl de Googlebot-Image, ça peut être une évolution envisageable.
Pile ce qu’il me faut, content de voir que l’open source a toujours la cote, une attention très sympa de ta part en tout cas :-)
Je cherchais le produit qu’il me fallait depuis 2 jours et Ô merveille… Merci pour le partage
Je viens de le mettre en place sur plusieurs site est bien c’est super bien ce truc :)
Je n’ai pas installé le script, mais à 7min35, tu parles de codes 200 qui sont les seuls à être visibles dans le cas d’un hébergement mutualisé. Mais si on place ton tracker dans une page vers laquelle le htaccess redirige en cas d’erreur 404, on devrait palier ce problème, non?
Merci de partager ton travail.
Je me suis effectivement posé la question il y a quelques jours.
C’est à tester !
Les infos sur le crawl des pages sont intéressantes. J’ai installé Watussi Box pour l’analyse des logs, premières impressions très bonnes pour cet outil gratuit.
Merci beaucoup pour cet outil qui donne des informations qu’on ne trouve pas partout…
J’ai installé l’outil mais je n’ai accès qu’aux onglets « Accueil », « KPI » et « Real time ». Tous les autres onglets affichent l’erreur suivante :
Fatal error: Call to undefined function: json_encode() in (chemin vers la box)/watussibox_free/inc/graph.inc.php on line 123
Avez-vous une idée de comment régler ce problème ?
En tout cas, très beau travail :-)
Tu es en PHP5 sur ton serveur?
Sur mon serveur oui, mais je pense qu’il n’y a pas de soucis sur PHP4.
Le msg d’erreur te dit qu’il ne reconnait pas json_encode() donc l’extensions n’est pas installée (ou pas activée)
Il faut juste faire ça.
Non, effectivement, il semble que je soie en version 4.4.9… Tu penses que ca peut poser un problème de compatibilité ?
Bonjour
Ca semble être un super outil.
Je pense que je vais l’installer mais j’ai une question, j’ai 2 frontaux web ( et un répartiteur de charge en amont ), je suppose qu’il faut l’installer sur les 2 serveurs ? Cela pose t’il un soucis par ailleurs ( accès en double à la base par ex ) ?
Merci
Pas de soucis à priori, mais il faudra effectivement installer le tracker sur les deux serveurs.
Merci Jean-Benoît..
… pour le partage de ton expérience ainsi que pour tes inventions et leur accessibilité ..
Bonjour,
Merci pour cet outil que je viens de découvrir et installer à la demande d’un client.
Ce serait effectivement très pratique qu’il soit disponible sur github pour pouvoir envoyer quelques contributions :-)
J’ai noté quelques points au passage :
– Sur la vue «realtime» j’ai un décalage de 2h entre les dates affichées sur la page et l’heure effective des visites. C’est simplement que le serveur apache remonte des dates en UTC et que PHP est configuré sur la timezone europe/paris. Du coup, un paramètre de configuration pour spécifier la timezone des logs serait pratique.
– Il y a un petit problème pour exécuter le script analyse.php dans un shell via crontab (et donc avec php en mode CLI) à cause de l’appel à la fonction login(). J’ai rajouté un petit test pour ne pas appeler cette dernière lorsqu’on est en mode CLI.
– Attention à l’utilisation de la directive CustomLog dans apache, dans la plupart des installations (debian / ubuntu par exemple) elle va appeler le script en tant que root. Personnellement je suis passé par un petit script shell intermédiaire qui s’occupe de changer d’utilisateur avant d’exécuter le script watussi_log.php
Salut,
Merci pour ce retour intéressant :-)
Tu n’es pas le premier à me proposer de mettre le projet sur github, je vais donc l’envisager très sérieusement.
D’ici là, n’hésites pas à m’envoyer tes modifications : jb _AT_ watussi _DOT_ fr
Hello,
tout d’abord pour cet outil, je viens juste de l’installer sur un mutu, je le teste donc.
Questions :
– concernant la pause du tracker et cette ligne de code :
« $RES_CODE = 200; »
Cela signifie-t-il donc que le script ne va nous remonter que les codes http 200 ?
Sur un mutu, aurais-je accès à des remontées de codes type 404, etc ?
– est-il possible de bannir sa propre adresse IP afin de ne pas fausser les stats ?
Dans mon cas chacune de mes visites est comptabilisée.
Merci à toi
Salut,
En l’état tu ne vas effectivement remonter que des codes 200, à toi de mettre la valeur du code retour que tu vas renvoyer.
Il est tout à fait possible de bannir ton adresse IP, il faut pour cela ajouter une condition avant l’appel de la fonction add_log().
Hello,
merci de ta réactivité !
Est-il donc possible de remonter plusieurs codes retour un peu de cette manière :
« $RES_CODE = 200, 400, 401; » ?
Pour exclure mon IP, j’ai fait comme ceci :
« $monip = ‘0.0.0.0.0’;
if ($adresse_ip != $monip) {
add_log($adresse_ip, $referer, $user_agent, $url, $RES_CODE, $RESPONSE_TIME);
}
»
Ca te semble bon ?
Il n’est pas possible de remonter plusieurs codes retour. Quel serait l’intérêt ?
Le bout de code d’exclusion me semble correct.
Re belle réactivité.
Je pensais, peut-être à tord, que le script détectait à la fois les pages en 200, et aussi en 404 pour identifier les pages en erreur.
Si ce n’est pas le cas, à quoi sert donc l’onglet « erreurs » ?
Pour le reste, je suis très satisfait : le temps réel fonctionne parfaitement, le script est très réactif, quand je partage une url via G+, le script la remonte immédiatement en nouvelle page et en page crawlée par Google.
Cela permet de faire aussi un benchmark sur des digg like par exemple, savoir lequel d’entre envoie un signal à Google et dans quel délai.
Voilà, merci à toi.
Les codes retour sont récupérés automatiquement lorsque tu configure le script avec les logs serveur.
Lorsque tu es en mode « mutualisé », le script ne peut pas deviner les codes retour tout seul, c’est à toi de les gérer applicativement.
Bien donc, si je paramètre le RES_CODE, le script me remontera bien les 404 : bon ?
C’était ma dernière question, promis. Merci à toi.
Erratum, je viens de m’apercevoir que j’ai fait une faute de frappe ; il fallait lire bien sûr « si je paramètre le RES_CODE=404 ».
Désolé.
Yes, c’est bien ça ;)
\o/
Bonjour,
Merci pour cet outil.
A priori (je ne suis pas expert dans le domaine), l’installation ne fonctionne pas sur un serveur dédié avec la Release 2 d’OVH, cela fait planter Apache.
Je suis donc passé par la version avec le code en php, mais quelle valeur faut-il mettre dans la variable $RESPONSE_TIME ? Faut-il la laisser à zéro ou mesurer le temps de chargement de la page ? Quelle est l’utilité de cette variable ?
Merci d’avance pour la réponse,
Geoffrey
Salut,
Si tu veux monitorer les temps de réponse, il faut que tu remplisse la variable $RESPONSE_TIME.
Merci de ce partage, je viens de le découvrir grâce à l’article de Laurent qui parle de ta formation.
C’est vraiment pratique, en plus comme c’est du php, je vais pourvoir ajouter quelques petites idées que j’ai en tête :)
Bonjour,
Merci pour cet outil.
J’ai une petite question, j’ai pas mal de pages qui passent en crawl mais qui ont un canonical.
La question que je me pose est : est-ce que le canonical suffit pour ne pas diluer mon scoring globa, ou est-ce qu’il faudrait plutôt mettre en place du robots.txt ou du nofollow ?
Merci !
Jérôme
Bonjour,
A priori la canonical transmet le jus.
Par contre, vous faites crawler des pages que vous ne souhaitez pas indexer.
C’est dommage…
Dire que j’ai mis plus de 2 ans à essayer l’outil.
On ne m’y reprendra plus.
Merci beaucoup pour le travail et le partage, l’install sur un wordpress sur mutu s’est faite en deux minutes, impeccable.