Matomo Analytics
Hello,
On m’a remercié ce matin pour un post que j’ai fait précédemment, et en plus de faire plaisir, je me suis questionné, est-ce que mes articles sont-ils réellement lus par d’autres ? A l’origine, les posts de ce blog sont surtout à destination d’un public ciblé tel des amis et collègues. Mais je ne sais pas si il y a réellement du traffic ici.
C’est ainsi que j’ai mis en place Matomo afin de faire un peu d’analytics tout en étant respectueux des lecteurs. Voici donc la petite note technique concernant sa mise en place.
J’avais déjà mis en place Matomo dans un précédent projet professionel, mais j’avais utilisé l’image docker de Bitnami (https://hub.docker.com/r/bitnami/matomo), il me semble me souvenir qu’a l’époque l’image officielle était soit inexistante soit inutilisable. Mais cela ne semble plus etre le cas, donc j’ai utilisé l’imagine officelle avec le tag apache, je veux ici une configuration simple et minimale (en terme de conteneurs), donc on exclue l’image fpm-alpine. Je disposais déjà un serveur MariaDB tournant sur le Cluster Swarm, donc j’ai simplement crée la BDD/l’utilisateur et rajouté un réseau entre les deux, avec Traefik devant pour entre autres le HTTPS.
Une fois le service accessible et la configuration initiale passée, on crée notre site web correspondant au blog et on récupère le code de suivi JavaScript à intégrer sur le blog. Pour ce faire, j’ai dû créer le dossier _includes
, le fichier head.html
que j’ai récupéré du thème Minima (branche 2.5), auquel j’ai simplement ajouté :
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo-url";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', 'site-id']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
Je me suis également inspiré de cet article: https://www.altenburger.io/posts/matomo_non_cookie/, j’ai également essayé jekyll-analytics
sans succès, donc j’ai fini par faire pareil.
Enfin, côté Matomo, je me suis rendu dans les paramètres > Vie privée, et j’ai activé les options suivantes:
- Rendre anonyme les adresses IP des visiteurs (Masquer complètement l’adresse IP)
- Utiliser les adresses IP anonymisées pour enrichir les visites (Oui)
- Remplacer l’identifiant utilisateur par un pseudonyme (ne devrait pas servir de toutes façons)
- Anonymiser l’identifiant de la commande (ne sert pas de toutes façons)
- Force tracking without cookies : Evite l’utilisation de tout cookie, et c’est donc pourquoi on ne vous demande pas si vous acceptez ou non les cookies en arrivant ici
- Anonymiser le référent : Conserver uniquement le domaine d’une URL de référence
Mon but n’est pas de pouvoir savoir si Jean-Michel lit un article depuis son iPhone32 depuis l’ardèche, mais simplement d’avoir une idée grossière du nombre de visites, ça me suffit.
A+