Malheureusement, les fichiers d’analyse de Piwik sont inscrits sur EasyList. Par conséquent, les Ad-Blocks et autres uBlock l’empêchent de fonctionner et vous ratez une bonne partie de votre audience.
Nous allons voir comment changer ça, simplement et proprement.
0. Disclaimer
Ce n’est pas le sujet de l’article mais personne n’a quoi que ce soit ici ni contre les ad-blockers ni contre la pub. Il est légitime pour un fournisseur de contenu de vouloir se rémunérer tout comme il est légitime pour un utilisateur de vouloir contrôler ce qui s’affiche sur son ordinateur personnel.
Mais Piwik possède de nombreuses fonctions de respect de la vie privée : masquage des IP, cookie d’opt-out, archivage anonyme des rapports… Il est donc regrettable qu’il soit inscrit sur les listes puisqu’il s’agit d’un bon élève. Et ce, surtout quand on considère qu’un analytics auto-hébergé est toujours plus respectable…
1. Diagnostic du problème de Piwik
Le problème est simple : les fichiers « piwik.js » et « piwik.php » sont inscrits sur la liste noire d’EasyList. Or, si on peut se passer du premier, notamment avec la technique de l’image noscript, le second est sans issu. En effet, pour comptabiliser vos statistiques, il faut qu’un contact soit fait avec le fichier php et celui-ci est bloqué par les ad-blockers.
D’ailleurs, dès qu’une personne dans votre audience a un tel logiciel, vous ne le verrez nulle part dans les logs.
2. Explication de la solution
L’idée générale est de faire un contact non plus sur des fichiers nommés « piwik » mais sur un autre nom, par exemple « p » ou « stat » ou n’importe quoi.
Vous trouverez beaucoup de gens qui vous conseillent de renommer les fichiers incriminés. C’est une impasse car cela doit être fait à chaque mise à jour et ce n’est vraiment pas recommandable car au moindre changement vous risquez de casser les liens entre fichiers. Idem pour les solution de duplication du fichier sous un autre nom.
La bonne technique va être l’URL Rewrite. On va rediriger de manière transparente toutes les requêtes sur « p.js » et « p.php » vers « piwik.js » et « piwik.php » respectivement. Les deux fichiers « p » n’existeront pas formellement, c’est juste un alias qui sera créé virtuellement par notre serveur web. Par conséquent, rien à faire en cas de mis à jour : c’est totalement transparent !
3. Mise en œuvre
Là, ça change selon votre serveur web : Apache ou Nginx.
Si vous ne savez pas, partez sur l’idée que vous avez Apache.
Pour Apache, ajoutez un fichier nommé « .htaccess » à la racine de votre installation de Piwik, là où se trouve le fichier « index.php ». Mettez-y les lignes suivantes :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule "^p.php$" "piwik.php" [PT]RewriteRule "^p.js$" "piwik.js" [PT]</IfModule>
(si le fichier existe déjà, rajoutez ces lignes à la fin)
Pour Nginx, ajoutez cela à votre configuration de Piwik :
location /
{
rewrite "^p.php$" /"piwik.php";
rewrite "^p.js$" /"piwik.js";
}
Une fois ceci fait, allez dans la configuration de votre site web, à l’endroit où le code analytics est créé et changez les appels vers « piwik.js » et « piwik.php » par « p.js » et « p.php »…
À partir de maintenant, tous les utilisateurs apparaîtront dans votre interface d’analyse, et vos statistiques n’en seront que plus précises.
Cela ne vous dispense pas d’activer l’ensemble des options garantissant la vie privée !
Ajouter un commentaire