Amélioration des performances de Matomo
L’utilisation de Matomo pour réaliser la mesure d’audience de vos site Internet est une bonne décision. En plus d’être Open Source et gratuit, ils vous permet d’avoir des statistiques de fréquentation sur l’ensemble du volume des visiteurs. Mais surtout, il est RGPD friendly.
Mais voilà, si vous déployez Matomo dans le cadre d’un auto-hébergement, vous allez être confronté au volume de stockage des informations. Et il devient alors important d’optimiser ces données afin d’améliorer les performances de consultation des tableaux de bord statistiques.
Dans le cadre mon travail au sein de l’agence régionale du tourisme AURAT, je gère un serveur cloud managé chez Infomaniak. Il permet d’héberger un certain nombre de sites WordPress mais également une instance Matomo.
La documentation Matomo est bien faite, vous pouvez vous en inspirer pour créer le CRON dans votre environnement. Voici la méthode adaptée à Infomaniak.
Mise en place du CRON
Vous allez avoir besoin de la console SSH accessible via Web SSH. Rendez-vous dans le manager de votre hébergement Infomaniak.

Vous allez gérer la crontab de l’utilisateur courant, il n’est donc pas nécéssaire de préciser ce dernier dans les paramètres de la commande.
crontab -e
Si la crontab associée à l’utilisateur n’existe pas, la création se fait automatiquement et vous êtes alors invité à choisir l’éditeur qui sera utilisé. Je vous conseille de rester sur nano, cela sera plus simple pour effectuer des copier-coller.
Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/jmacs 3. /usr/bin/joe 4. /usr/bin/jpico 5. /usr/bin/jstar 6. /usr/bin/rjoe 7. /usr/bin/vim.basic 8. /usr/bin/vim.tiny Choose 1-8 [1]: 1 crontab: installing new crontab
Voici l’instruction à ajouter pour effectuer l’archivage tous les jours à 4h du matin :
0 4 * * * /usr/bin/php /path/to/matomo/console core:archive --url=http://example.org/matomo/ > /home/example/`date +\%Y-\%m-\%d_\%H-\%M-\%S`-matomo-archive.log
Décomposition des paramètres
- /usr/bin/php : chemin vers l’exécutable PHP. Il vous est aussi possible de cibler une version en particulier (ex : /opt/php7.4/bin/php)
- /path/to/matomo/console : modifiez cette valeur pour indiquer le chemin absolu vers Matomo sur votre serveur
- http://example.org/matomo/ : c’est l’URL de base de votre instance Matomo.
- /home/example/`
date +\%Y-\%m-\%d_\%H-\%M-\%S
`-matomo-archive.log : indiquez le pattern comprenant le chemin vers le fichier de logs. Ici, j’ai choisi d’avoir un fichier de log par opération d’archivage.
Pour tester si le CRON et la commande sont fonctionnels, vous pouvez modifier la configuration horaire en utilisant cet outil en ligne. Vérifiez ensuite la création du fichier de log dans le dossier que vous avez indiqué.