Piwik est un outil d’analyse d’audience, similaire à Google Analytics, à la seule différence qu’il est open source et que l’utilisateur peut l’installer lui-même sur son espace d’hébergement. Cet outil grossit donc au fil du temps pour enregistrer chaque visites de son site web. Lorsque le trafic est conséquent, la base de données qui contient toutes les informations des visites peut grossir fortement. Cet article présente 2 méthodes pour purger des données : soit en supprimant certaines visites ciblées, ou en purgeant de vieux enregistrements.
Précautions : avant d’effectuer quoi que ce soit, il est conseillé de réaliser une sauvegarder des données ou de s’assurer qu’il y a un backup récent de la base de données. Une mauvaise manipulation est si vite arrivée …
Supprimer de vieilles données
Dans l’interface de Piwik il est possible de supprimer des données liées à de vieilles visites. Toutefois, il peut être intéressant de supprimer soi-même les données en SQL.
La requête SQL suivante permet par exemple de supprimer les visites précédents le 1er janvier 2013.
DELETE `piwik_log_visit`, `piwik_log_link_visit_action` FROM `piwik_log_visit` INNER JOIN `piwik_log_link_visit_action` ON `piwik_log_link_visit_action.idvisit` = `piwik_log_visit.idvisit` WHERE `visit_server_date` <= '2013-01-01'
Il est possible d’exécuter cette requête directement depuis PhpMyAdmin.
Supprimer certaines visites
Il peut arriver que l’ont visites son propre site web sans vouloir ajouter sa visite au reste des données. Dès lors, il est judicieux de pouvoir supprimer certaines visites.
1er étape : trouver les visites dans “piwik_log_visit”
La première étape consiste à trouver les visites dans la table “piwik_log_visit”. Pour celà il est possible de filtrer sur le jour et l’heure des visites dans la colonne “visit_last_action_time”. L’essentiel consiste à récupérer les identifiants de ces visites contenus dans la colonne “idvisit”.
2ème étape : supprimer les visites et les actions liées à ces visites
Une fois la liste des identifiants récupérés, il est possible d’effectuer des requêtes SQL pour supprimer les données.
Supprimer les visites :
DELETE FROM `piwik_log_visit` WHERE `idvisit` IN (id1, id2, id3);
A noter : dans cet exemple il faut remplacer id1, id2 et id3 par la liste des identifiants que vous avez récupéré.
Supprimer les actions de ces visites :
DELETE FROM `piwik_log_link_visit_action` WHERE `idvisit` IN (id1, id2, id3);
3ème étape : supprimer les tables de caches :
Pour éviter de conserver des tables de caches totalement faussées, il faut supprimer les tables de caches correspondant aux visites supprimées. Pour cet exemple fictif nous allons supprimer les tables d’octobre 2013.
DROP TABLE IF EXISTS `piwik_archive_numeric_2013_10`, `piwik_archive_blob_2013_10`;
4ème étape : consulter l’interface pour regénérer les tables de caches
La dernière étape consiste simplement à se connecter à l’interface utilisateur. Piwik va automatiquement remarquer que le cache n’existe pas et les re-créer automatiquement.
Source de l’astuce : rootslabs.net.
Conclusion
Avec ces astuces il est possible de maîtriser la collecte des données sur Piwik. Il faut toutefois se montrer prudent de ne pas supprimer des données qui pourrait se révéler utiles dans le futur.