Matomo è una piattaforma open‑source per analytics che può essere self‑hosted o usata come servizio cloud. Offre tracciamento pagine, eventi, ecommerce, funnel, segmentazione, API, tag manager e plugin per heatmaps e session recording.
Perché preferire Matomo in Europa
Proprietà dei dati: Con Matomo self‑hosted i dati risiedono sul tuo server: sei tu il titolare dei dati.
Indipendenza: Esporta, cancella o trasferisci i dataset senza dipendere da politiche aziendali di terze parti.
GDPR Compliance: Facilita la conformità: evita trasferimenti automatici verso paesi terzi, abilita anonimizzazione IP e gestione retention.
Cookieless: Opzioni per cookieless tracking che riducono la necessità di opt‑in per analytics tecnici.
Privacy: Non integra dati per finalità pubblicitarie cross‑site; riduce la profilazione commerciale.
Trasparenza: Codice open‑source ispezionabile; plugin e comportamenti verificabili.
Flessibilità: Tracking client‑side e server‑side, API estese e personalizzazione dei dati.
Scalabilità: Con tuning di DB e cache, Matomo scala per siti medio‑grandi.
Come installarlo (su Debian 12)
Prerequisiti:
VPS con Debian 12 e accesso SSH (root o sudo).
Dominio puntato al VPS (es. analytics.tuosito.it).
Stack LAMP/LEMP (PHP 8.1+, MySQL/MariaDB, Nginx/Apache).
Passo 1: Prerequisiti del sistema
sudo apt update && sudo apt upgrade -ysudo apt install -y nginx mariadb-server php8.2 php8.2-fpm php8.2-mysql php8.2-gd php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip unzip
Passo 2: Configura il Database
sudo mysql -u root
CREATE DATABASE matomo_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'matomo_user'@'localhost' IDENTIFIED BY 'tua_password_sicura';
GRANT ALL PRIVILEGES ON matomo_db.* TO 'matomo_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Passo 3: Scarica e Configura Matomo
wget https://builds.matomo.org/matomo-latest.zip
unzip matomo-latest.zip -d /var/www/matomo
sudo chown -R www-data:www-data /var/www/matomo
sudo chmod -R 755 /var/www/matomo
Passo 4: Configura Nginx
Crea il file /etc/nginx/sites-available/matomo:
server {
listen 80;
server_name analytics.tuosito.it;
root /var/www/matomo;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /(config|tmp|core|vendor) {
deny all;
return 403;
}
}
Attiva il sito:
sudo ln -s /etc/nginx/sites-available/matomo /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Passo 5: Installazione Web
Vai su
[http://analytics.tuosito.it](http://analytics.tuosito.it).Segui la procedura: lingua, verifica requisiti e inserimento dati DB.
Crea l'account admin e configura il primo sito.
Passo 6: Codice di Tracciamento
Inserisci prima del tag </head>:
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.tuosito.it/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
Passo 7: HTTPS con Let’s Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d analytics.tuosito.it
Ottimizzazioni e Manutenzione
Cache con Redis
sudo apt install -y redis-server php8.2-redis
sudo systemctl restart php8.2-fpm
In config/config.ini.php aggiungi:
[Cache]
backend = redis
redis_host = 127.0.0.1
redis_port = 6379
Backup Automatici (Crontab)
0 3 * * * mysqldump -u matomo_user -p'tua_password' matomo_db > /backup/matomo_db_$(date +\%Y-\%m-\%d).sql
0 4 * * * tar -czvf /backup/matomo_files_$(date +\%Y-\%m-\%d).tar.gz /var/www/matomo
Pulizia Dati
sudo -u www-data php /var/www/matomo/console core:archive --url=https://analytics.tuosito.it
sudo -u www-data php /var/www/matomo/console core:delete-old-data --days=365
Funzionalità Avanzate
Dashboard: Visite in tempo reale, grafici e mappe geografiche.
Obiettivi: Tracciamento conversioni (es. iscrizioni newsletter).
E-commerce: Monitoraggio ordini e carrelli (richiede JS specifico).
Eventi:
_paq.push(['trackEvent', 'Categoria', 'Azione']);Privacy: Opt-out integrabile tramite iframe e anonimizzazione IP nativa.
Tabella Integrazioni
| Strumento | Tipo Integrazione | Utilità |
|---|---|---|
| Drupal | Modulo dedicato | Tracciamento completo |
| WordPress | Plugin WP-Matomo | Tracciamento automatico |
| Joomla | Plugin Matomo | Integrazione nativa |
| PrestaShop | Modulo Analytics | Tracciamento e-commerce |
| Search Console | Import via API | Dati SEO in dashboard |
| Slack/Telegram | Webhook | Alert picchi traffico |
Conclusione: Quando scegliere Matomo
✅ Per chi dà priorità alla privacy e alla sovranità dei dati.
✅ Per chi deve rispettare rigorosamente il GDPR in UE.
✅ Per chi preferisce software Open Source ispezionabile.
✅ Per chi ha competenze tecniche per gestire un proprio server.