Matomo
Matomo kann man zum Tracking verwenden, auch ohne eingebettetes Javascript und somit braucht man hierfür keine Einwilligung. Man verwendet dazu die Logfiles.
Im Fall des Providers Mittwald sieht ein Logeintrag folgendermaßen aus:
123.123.123.0 - - [22/Jul/2020:16:25:26 +0200] "GET /some-page.html HTTP/1.1" 200 3964 "https://www.example.com" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Firefox/78.0" www.example.com
Der Trick ist das einlesen des Logfiles für verschiedene Domains, um diese getrennt auswerten zu können. Im Logfile ist alles durcheinander, aber an letzter Stelle steht der "host".
Die Regex um das einzulesen sieht folgendermaßen aus:
(?P<ip>\S+) \S+ \S+ \[(?P<date>.*?) (?P<timezone>.*?)\] \"\S+ (?P<path>.*?) \S+\" (?P<status>\S+) (?P<length>\S+) "(?P<referrer>\S+)" "(?P<user_agent>.*)" (?P<host>\S+)
Diese kann man schön testen mit https://regex101.com/ und kann sie dann an Matomo übergeben mit --log-format-regex=
Der fertige Befehl sieht dann so aus:
python /home/www/p123456/html/matomo/misc/log-analytics/import_logs.py --url=https://matomo.example.com --log-format-regex='(?P<ip>\S+) \S+ \S+ \[(?P<date>.*?) (?P<timezone>.*?)\] \"\S+ (?P<path>.*?) \S+\" (?P<status>\S+) (?P<length>\S+) "(?P<referrer>\S+)" "(?P<user_agent>.*)" (?P<host>\S+)' --add-sites-new-hosts /logs/access.log
Das ganze dann per cron z.B. alle 30 Minuten ausführen und fertig ist die Logfile Analyse per Matomo. Schön DSGVO konform!