Matomo (früher Piwik) ist eine Open-Source-Web-Analyse-Plattform. Im Gegensatz zu Google Analytics hosten Sie die Daten selbst.
Vorteile von Matomo
- Datenschutz: DSGVO-konform, Daten auf eigenem Server
- Kein Cookie-Banner nötig: Bei korrekter Konfiguration
- Keine Datenweitergabe: Alles bleibt bei Ihnen
- Kostenlos: Open Source, selbst gehostet
- Umfangreiche Features: Ähnlich wie Google Analytics
Voraussetzungen
- Webserver (Apache oder Nginx)
- PHP 7.4+ (8.0+ empfohlen)
- MySQL/MariaDB
- Mindestens 128 MB RAM
- SSL-Zertifikat (empfohlen)
Installation
1. Datenbank erstellen
mysql -u root -pCREATE DATABASE matomo;
CREATE USER 'matomo'@'localhost' IDENTIFIED BY 'sicheres_passwort';
GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
FLUSH PRIVILEGES;
EXIT;2. Matomo herunterladen
cd /var/www
wget https://builds.matomo.org/matomo-latest.zip
unzip matomo-latest.zip
rm matomo-latest.zip
chown -R www-data:www-data matomo3. Nginx-Konfiguration
server {
listen 80;
server_name analytics.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name analytics.example.com;
root /var/www/matomo;
index index.php;
ssl_certificate /etc/letsencrypt/live/analytics.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/analytics.example.com/privkey.pem;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
# Matomo-spezifische Regeln
location ~ ^/(config|tmp|core|lang) {
deny all;
return 403;
}
location ~ /\.(?!well-known) {
deny all;
}
}4. Apache-Konfiguration
<VirtualHost *:443>
ServerName analytics.example.com
DocumentRoot /var/www/matomo
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/analytics.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/analytics.example.com/privkey.pem
<Directory /var/www/matomo>
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/matomo/config>
Require all denied
</Directory>
<Directory /var/www/matomo/tmp>
Require all denied
</Directory>
</VirtualHost>5. Web-Setup
Öffnen Sie https://analytics.example.com und folgen Sie dem Setup-Assistenten:
1. Systemprüfung bestätigen 2. Datenbank-Daten eingeben 3. Admin-Benutzer erstellen 4. Erste Website hinzufügen 5. Tracking-Code erhalten
Tracking-Code einbinden
Standard-Code
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.example.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->Ohne Cookies (DSGVO-freundlich)
<script>
var _paq = window._paq = window._paq || [];
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.example.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>Mit disableCookies setzt Matomo keine Cookies und ist ohne Einwilligung nutzbar.
DSGVO-Konfiguration
1. IP-Anonymisierung
Administration → Datenschutz → IP-Daten anonymisieren
- 2 Bytes anonymisieren (empfohlen)
- Beispiel: 192.168.1.100 → 192.168.0.0
2. Rohdaten-Anonymisierung
Administration → Datenschutz → Benutzer-IDs anonymisieren
3. Opt-Out einbinden
Auf Ihrer Datenschutzseite:
<iframe
style="border: 0; width: 100%; height: 200px;"
src="https://analytics.example.com/index.php?module=CoreAdminHome&action=optOut&language=de">
</iframe>4. Do Not Track respektieren
Administration → Datenschutz → "Do Not Track" respektieren aktivieren
Cron-Job für Archivierung
Für bessere Performance archivieren Sie Daten per Cron:
crontab -e -u www-data5 * * * * /usr/bin/php /var/www/matomo/console core:archive --url=https://analytics.example.com/Browser-Archivierung deaktivieren
In config/config.ini.php:
[General]
browser_archiving_disabled_enforce = 1Weitere Websites hinzufügen
1. Administration → Websites → Website hinzufügen 2. Namen und URL eingeben 3. Tracking-Code mit neuer Site-ID einbinden
Benutzer verwalten
Rollen
| Rolle | Rechte | |-------|--------| | View | Nur Berichte ansehen | | Write | Berichte + Tracking | | Admin | Alles außer Super User | | Super User | Vollzugriff |
Benutzer erstellen
Administration → Benutzer verwalten → Benutzer hinzufügen
Plugins
Nützliche Plugins
- CustomDimensions: Eigene Tracking-Dimensionen
- MarketingCampaignsReporting: Kampagnen-Analyse
- SEO: Suchmaschinen-Rankings
- FormAnalytics: Formular-Tracking
Plugin installieren
Administration → Marketplace → Plugin suchen → Installieren
Import von Google Analytics
Mit dem Google Analytics Importer Plugin:
1. Plugin aktivieren 2. Administration → Google Analytics Import 3. Google-Konto verbinden 4. Property auswählen 5. Importieren
Performance-Optimierung
MySQL-Einstellungen
[mysqld]
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128MPHP OPcache
In php.ini:
opcache.enable=1
opcache.memory_consumption=128Archivierung optimieren
php /var/www/matomo/console core:archive \
--url=https://analytics.example.com/ \
--concurrent-requests-per-website=2Updates
Automatisch
Administration → System → Updates
Per Kommandozeile
cd /var/www/matomo
php console core:updateBackup
Datenbank
mysqldump -u root -p matomo > matomo_backup.sqlDateien
tar -czvf matomo_files.tar.gz /var/www/matomo/configDatenschutzerklärung
Fügen Sie zu Ihrer Datenschutzerklärung hinzu:
## Web-Analyse mit Matomo
Diese Website nutzt Matomo zur Analyse der Websitebenutzung.
Die Daten werden auf unserem eigenen Server gespeichert und
nicht an Dritte weitergegeben.
Matomo verwendet Cookies, um die Nutzung zu analysieren.
Die IP-Adressen werden anonymisiert.
Sie können der Datenerhebung widersprechen:
[Opt-Out-Iframe hier]Bei cookieless Tracking:
Diese Website nutzt Matomo zur Analyse der Websitebenutzung.
Es werden keine Cookies gesetzt und keine personenbezogenen
Daten erhoben. Die IP-Adressen werden anonymisiert.Fazit
Matomo ist die beste Wahl für datenschutzbewusste Website-Betreiber. Mit der richtigen Konfiguration (ohne Cookies, IP-Anonymisierung) können Sie Besucherstatistiken erfassen, ohne ein Cookie-Banner zu benötigen. Die Installation auf dem eigenen Server gibt Ihnen volle Kontrolle über die Daten.