Piwik : monitorez tous vos sites discrètement
Au gré de mes lectures sur le web, je constate que de nombreux webmasters s’interrogent quant à une alternative sérieuse et discrète à Google Analytics. L’impression d’être espionné en permanence oblige à aborder d’autres pistes pour cacher ses sites ou son réseau de sites.
Masquer son réseau de sites avec Piwik
L’article de Laurent à propos des différentes solutions de suivi des statistiques, Top 10 des alternatives à Analytics, laisse d’ailleurs des questions en suspens dans les commentaires à propos de Piwik. Car l’un des problèmes rencontrés avec Google Analytics peut être identique avec Piwik si l’on ne paramètre pas l’outil un minimum. Comment monitorer tous ses sites dans une seule admin en restant discret ?
J’en discutais avec Laurent sur Skype, il a choisi d’installer Piwik sur chacun de ses sites. Changer d’admin pour chaque site devient vite une plaie. je vous rassure de suite, il existe une solution et celle-ci se trouve dans la FAQ de Piwik.
Nous allons voir ensemble comment paramétrer Piwik pour qu’il devienne l’outil génial dont vous rêvez. :)
Créer un super utilisateur Piwik
Nous partons du principe que vous avez installé Piwik sur l’un de vos sites. Par exemple : http://www.votre-site.com/piwik/
Étape 1 : créer le compte du super utilisateur
- Allez sur votre outil Piwik et cliquez sur Paramètres puis sur l’onglet Utilisateurs.
- Cliquez sur Ajouter un utilisateur et remplissez les champs
- Nom d’utilisateur
- Mot de passe
- Courriel
- Alias où vous indiquerez Multi
Cela donne le résultat suivant où vous obtenez une clé appelée token_auth qui va être essentielle pour la suite.
Étape 2 : télécharger le fichier piwik.php
Vous allez avoir besoin d’un fichier spécial à poser sur le FTP de chacun des sites que vous monitorez. Chez Piwik, ils sont sympas puisqu’ils le proposent au téléchargement dans leur FAQ.
Une fois téléchargé, vous devez modifier ce fichier. Rien de bien compliqué puisqu’il y a deux paramètres à changer :
- $PIWIK_URL = indiquez l’URL où Piwik est installé (par ex http://www.votre-site.com/piwik/)
- $TOKEN_AUTH = indiquez la clé token_auth que Piwik vous indique pour le compte que vous venez de créer
Enregistrez le fichier et déposez le via FTP sur chaque site dont vous souhaitez suivre les statistiques. Pour ma part, je le mets à la racine du site.
Étape 3 : donner les droits au super utilisateur
Votre compte super utilisateur est créé et les sites à monitorer sont présents dans l’admin de Piwik. Il faut à présent donner les droits au super utilisateur. Pour ce faire, il suffit de sélectionner Appliquer à tous les sites dans le sélecteur Sites au dessus du tableau du haut. Enfin, vous cliquez sur le bouton rouge de la colonne Administration pour lui donner les droits nécessaires.
Vous devez avoir le résultat ci-dessous à l’écran :
NB : cette étape devra être répétée pour chaque nouveau site que vous ajouterez dans Piwik.
Étape 4 : mise en place du code de suivi
Lorsque vous ajoutez un site dans l’admin de Piwik, il vous est proposé un code pour taguer votre site. Celui-ci doit être modifié pour fonctionner avec les paramètres que nous avons renseigné au cours de ce tutoriel.
Vous devez remplacer le code d’origine :
<!-- Piwik --><script type="text/javascript">var pkBaseURL = (("https:" == document.location.protocol) ?"https://www.votre-site.com/piwik/" : "http://www.votre-site.com/piwik/");document.write(unescape("%3Cscript src=' + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));</script><script type="text/javascript">try { var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking();}catch( err ) {}</script><noscript><p><img src="http://www.votre-site.com/piwik.php?idsite=1"style="border:0" alt="" /></p></noscript><!-- End Piwik Tracking Code -->
Par celui-ci :
<!-- Piwik --><script type="text/javascript">var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.site-a-suivre.com/" : "http://www.site-a-suivre.com/");document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.php' type='text/javascript'%3E%3C/script%3E"));</script><script type="text/javascript">try { var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1); piwikTracker.trackPageView(); piwikTracker.enableLinkTracking();}catch( err ) {}</script><noscript><p><img src="http://www.site-a-suivre.com/piwik.php?idsite=1"style="border:0" alt="" /></p></noscript><!-- End Piwik Tracking Code -->
NB : à chaque installation du tag, pensez à verifier que vous avez bien indiqué l’identifiant du nouveau site (dans notre exemple, l’ID est 1) :
- var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
- src="http://https://www.site-a-suivre.com/piwik.php?idsite=1"
Voilà, votre outil Piwik est ainsi mieux protégé des regards indiscrets et vous pouvez suivre tous vos sites dans une seule interface d’administration.
Fastoche non ? :-)
EDIT : MAJ du 09/09/2013
Piwik a modifié le code de tracking qui est désormais en asynchrone. Vous devez utiliser le code modifié suivant :
<script type="text/javascript"> var _paq = _paq || []; _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.site-a-suivre.com/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "1"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.php"; s.parentNode.insertBefore(g,s); })(); </script>
Pour chaque installation du tag, vous devez modifier l'URL du site et son idendifiant :
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.site-a-suivre.com/";_paq.push(["setSiteId", "1"]);
EDIT : MAJ du 01/03/2014
Pour éliminer l'empreinte Piwik de votre réseau, vous pouvez également créer un fichier javascript où vous placerez votre code. Ensuite, offusquez le code avec cet outil pour être encore plus discret. Lors de l'offuscation, il faut uniquement crypter le code qui se trouve entre les balises script. ;)
Pensez à ajouter le code suivant sur vos pages pour appeler le script :
<script type="text/javascript" src="http://www.site-a-suivre.com/votre-fichier.js"></script>
EDIT : MAJ du 08/09/2014
Afin d'avoir un cookie conforme aux recommandations de la CNIL, il est nécessaire d'apporter une modification au code de tracking comme suit :
<script type="text/javascript"> var _paq = _paq || []; _paq.push([function() { var self = this; function getOriginalVisitorCookieTimeout() { var now = new Date(), nowTs = Math.round(now.getTime() / 1000), visitorInfo = self.getVisitorInfo(); var createTs = parseInt(visitorInfo[2]); var cookieTimeout = 33696000; // 13 mois en secondes var originalTimeout = createTs + cookieTimeout - nowTs; return originalTimeout; } this.setVisitorCookieTimeout( getOriginalVisitorCookieTimeout() ); }]); _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "http") + "://www.site-a-suivre.com/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "1"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.php"; s.parentNode.insertBefore(g,s); })(); </script>
25 réflexions sur ce billet
Effectivement voici un bon complément d'information à l'article de Loran.
Avec ce tutorial très complet et les astuces données dans le billet d'origine, on arrive à présenter un profil très discret. Encore faut-il que cela soit légitime, mais c'est un autre débat :-)
Si tout est installé sur le même serveur il faudrait voir si un rewrite pourrait pas remplacer avantageusement le proxy piwik (pas de requête http pour faire site => serveur piwik).
A noter aussi que le proxy ne fonctionnera pas sur les hébergements free et tous ceux qui interdisent le téléchargement de fichier via php.
Sinon c'est du tout bon, bien joué Hervé ;)
Au niveau des performances de Piwik, je suis curieux de savoir comment ça tourne, genre sur un site à 10k pages vues par jour, qu'est ce que ça demande comme ressources, est-ce ça répond vite, etc.
J'ai lu quelques retours sur Piwik, et la lenteur du tool était signalée (sur un mutualité j'ai l'impression...), ainsi que des lacunes dans les fonctionnalités (ou bug !).
Le 28/12/2012 à 18h18
@cdillat : j'avoue que je ne me suis pas penché sur ta solution. Je me suis arrêté à la doc Piwik.
@Baptiste : j'ai installé Piwik sur un dédié. Je ne constate ni lenteur, ni bug.
C'est assez pratique, j'utilise ça depuis 4 mois sur un réseau et ça se passe pas trop mal. Par contre il faut un serveur costaud derrière, sur un mutu ovh, ça ne tourne pas chez moi.
Beunwa avait donné un plugin wp à ceux qui avaient assisté au VLC2012 pour les flemmards comme moi ^^
Merci Hervé pour ce tutoriel sur Piwik. C'est vrai que cela reste LA meilleure alternative open-source à GA et surtout celle qu'on peut maîtriser. GA est un excellent outil, malheureusement Big G is watching you...
Bref, très bon tuto ! En complément à GA, j'utilise Gauges pour le pur real-time. C'est un service proposé par Githug et qui s'avère vraiment performant.
Bonnes fêtes à tous !
Le 28/12/2012 à 19h53
Merci pour le tuto.
Perso je ne suis pas un fan de Piwik tout comme je ne suis pas un fan de toutes les soluces hostées pour de simples raisons de sécurité déjà mais aussi parce que j'ai eu auparavant de mauvaises surprises avec Piwik (enfin plutôt avec le serveur sur lequel était Piwik - tombé - pas vu - perte des données)
Depuis quelques semaines que je teste, je suis vraiment conquis par cette solution. Idéale pour les projets de seconde zone ou réseau. Je préfère d'ailleurs l'interface à celle de Google.
Une seule critique, il semble difficile de pouvoir garder des archives sur plusieurs années sous peine d'avoir une bdd qui explose.
Rahhhhhh !
C'est exactement ce qu'il me fallait. Comme l'indique mon article, j'étais en train de chercher une solution pour ne pas montrer à Google tout mon réseau.
Et pour tout ce qui est statistiques et analyses du comportement de l'internaute, j'étais encore à considérer/déconsidérer/considérer/déconsidérer GA.
Comment je fais ,
- WHOIS différent, cela peut être facheux si on ne gère pas bien
- IP différentes ? Non, à moins d'être sur un dédié, de ne pas avoir pris suffisamment d'IP failover, et donc d'être grillé parce qu'on trouver 10, 20, 30 domaines sur une IP, on peut rester sur des mutualisés, au contraire, noyés dans la masse, les sites sont anonymes
- outil de monitoring/statistique différent de GA [ce qui est le sujet de l'article] : oui, quelle bonne idée que d'éviter de donner toute ton architecture à Google
- navigateur différent de Chrome ? Là c'est dur...
Le 29/12/2012 à 11h11
Hop là, on dirait que Piwik à le vent en poupe dans la communauté de SEO, ça fait plaisir à voir.
L'équipe de dev est au rendez-vous et la solution est vraiment bien finit, c'est cool de voir une petit outil comme ça prendre pleinement sa place dans le monde de l'analytics.
Merci Hervé pour cet article et pour pouvoir ce cacher de Big Bro Google ;)
Hello,
J'ai déjà utilisé Piwik, et il a peu de chose à envier à Google. De plus, c'est du open source, ce qui est plutôt un bon point pour un tels outils.
Après je ne l'ai pas utilisé pour un site e-commerce, donc si quelqu'un à un retour su cet aspect je suis preneur.
Le 31/12/2012 à 10h15
J'utilise Xiti sur plusieurs de mes sites mais je vais sûrement me laisser tenter par Piwik. Varier un peu les softs analytics est aussi un moyen de passer un peu plus sous les radars lorsqu'on administre plusieurs sites. Thx pour le tuto
Le 05/01/2013 à 19h13
J'utilise Piwik depuis un moment avec précisément cette technique sur un réseau de splogs US pour tracker les éventuelles nouvelles sources de monétisation à mettre en place.
Comme remonté par plusieurs personnes au-dessus j'en suis extrêmement satisfait, l'outil en lui-même est au top. Par contre j'aurai tendance à me méfier beaucoup pour des réseaux fortement interlinkés : utiliser Piwik reste en soit un beau footprint !
Du coup comme Vince j'essaie de varier les services analytics, utiliser toujours le même sur un réseau type linkwheel (même évolué hein) pour moi c'est du suicide. Sauf GA... à part que non.
Merci pour l'article et la discussion.
Le 09/01/2013 à 16h00
Merci pour cet article, très utile !
En revanche j'ai appliqué le tuto et le tracking ne fonctionnait plus.. j'ai mis du temps à trouver le soucis, en fait le code proposé ici n'est pas tout à fait le bon.
J'ai vu ca à la lecture de la doc piwik. A la 3eme ligne ce n'est pas "piwik.js" mais bien "piwik.php" (ce qui semble logique d'ailleurs) qu'il faut mettre, ce qui donne :
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.php' type='text/javascript'%3E%3C/script%3E"));
Merci en tout cas !
Le 09/01/2013 à 16h06
Alexandre
Merci d'avoir signalé la boulette. C'est corrigé. :)
Le 23/01/2013 à 22h53
Merci pour cet article, très utile mais malheureusement je suis dessus depuis hier sans succès :(. J'ai pourtant respecté à la lettre ton tutoriel en vérifiant que "allow_url_fopen = On" était bien paramétré dans le php.ini et que mon serveur était bien sur du php5+. Malgré ça quand tout est en place :
-> Script JS modifié : Url remplacé par le site à tracker, piwik.js remplacé par piwik.php, noscript supprimé
-> Piwik.php modifié avec $TOKEN_AUTH et $PIWIK_URL paramétré comme il faut. Piwik.php placé à la racine du site à tracker
Ça ne fonctionne pas. Le fichier piwik.php ne semble pouvoir se charger, la console me renvoi :
Fatal error: Only variables can be passed by reference in /***/***/www/piwik.php on line 112
A la ligne 112 de piwik.php on a :
'header' => "Accept-Language: " . @str_replace("n","t","r", "", $_SERVER['HTTP_ACCEPT_LANGUAGE']) . "rn" ,
Quelqu'un aurait une petite idée sur l'origine du problème ?! Merci d'avance.
Le 27/07/2013 à 19h12
Au top merci Hervé !
Je ne savais pas que cela était possible. J'ai plusieurs sites sur mon piwik & pas top d'avoir l'url de l'admin sur chaque site ^^
Je fait un retour semaine pro pour dire si j'ai eu un soucis vis a vis de Robin ;)
Le 29/07/2013 à 16h39
Arrivez-vous à bien tracker vos visiteurs avec Wordpress en mettant le piwik.php à la racine ?
Le 07/12/2013 à 17h35
Ouf, enfin un tutoriel clair et facile à suivre. Merci Hervé :)
Je vais désormais essayer tout ce qui a été dit sur PIWIK pour mes sites surtout pour celui qui se spécialise sur le ratp. Je vous en dirai plus une fois que j'en aurai essayé !
Le 18/12/2013 à 12h00
Je suis fan de Piwik surtout que c'est du open source, ce qui est plutôt un bon point pour un outil du genre. Juste une remarque, le proxy ne fonctionnera pas sur les hébergements free.
Bonne chose d'expliquer aux autre comment l'installer :D
Le 05/11/2014 à 14h10
J'utilise Analytics et Piwik, mais je passe beaucoup plus de temps sur Piwik qui est un formidable outil , gratuit et plus "intime" qu'Analytics. Je limite de plus en plus ma dépendance à Google, adieu Shopping et Addwords. Pour affiner sa fréquentation avec Piwik, on joue dans le qualitatif comme dit plus haut.
Le 22/01/2015 à 23h48
Bonjour,
Super ce tutoriel ! Je l'ai mis en place sur 4 sites wordpress.
Est-ce que ce piwik ralenti les performances des sites et est-ce que ce système limite le ralentissement ?
Bonne journée !
Le 23/01/2015 à 00h34
Thomas
Je n'ai constaté aucun ralentissement causé par Piwik. Installé sur près de 80 sites. :)
Le 09/03/2015 à 15h55
Bonjour
On a été aussi séduit par Piwik. On l'a installé puis on a inséré le code de suivi suivant :
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//piwik.xxxxxxx.mg/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 2]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
Mais rien n'est affiché comme statistiques jusqu'à présent. Pourriez-vous nous dépanner ?
Tiana
Le 09/03/2015 à 17h43
Tiana
Après l'ajout du domaine dans l'interface Piwik, avez-vous répété l'étape en sélectionnant Appliquer à tous les sites ?
La création de site Internet sur mesure est le coeur de métier de l'agence web Infini'click.
D'autres prestations sont également proposées, découvrez-les !
- Tutoriel : installer un serveur Debian (wheezy)
- Tutoriel : Installer un certificat SSL
- Piwik : monitorez tous vos sites discrètement
- Tutoriel Paypal : Intégration et configuration du paiement en ligne
- Tutoriel PayPlug : intégration au panier d'achat
- Référencement des images : l'état de l'art
- Des onglets en CSS avec JQuery
- Gildas le 04/03/2022 à 18:00
Nop j'ai que le require('fpdf.php) ; Mais pas... - Hervé le 04/03/2022 à 17:58
Gildas Tu n'appelles pas de fichier externe via un... - Gildas le 04/03/2022 à 17:50
merci de ton retour rapide, effectivement dans ma... - Hervé le 04/03/2022 à 17:45
Bonjour Gildas Effectivement, 8 ans ça fait un bail.... - Gildas le 04/03/2022 à 17:37
Bonjour Hervé, Bon j'arrive 8 ans après la... - Olivier le 16/01/2022 à 23:09
C'est clair que les actions réalisées ne correspondent...