Einige von Euch werden sicher Google Analytics oder Matomo (ehemals Piwik) kennen. Alle haben eines gemeinsam: Sie sammeln Daten über die Benutzer.
Diese Statistiken sind sehr nützlich, wenn man das Verhalten der Nutzer auf der eigenen Seite ansehen und seine Seite dahingehend verbessern will. Man kommt ohne schon gar nicht mehr ohne aus, wenn man seine Zielgruppe verstehen will. Seine eigenen Aufrufe der Seite möchte man aber natürlich nicht tracken.
Umami setzt es sich selbst zum Ziel, die Abhängigkeit zu Cloud-Lösungen aufzubrechen und will eine self-hosted Alternative hierzu sein. Wie genau das mit Umami funktioniert und wie man Umami einrichtet, erfahrt hier in meinem Artikel.
Umami tracked aber meine eigenen Aufrufe ❓
Leidvoll musste ich auch erleben, dass Umami auch meine eigenen Aufrufe trackt und so die Statistiken teils signifikant verfälscht. Das ist blöd, will keiner und mag keiner.
Leider gibt es dazu kaum Dokumentationen und ich hatte erst versucht, anhand der Referer-Infos im JavaScript das Tracking-Skript dynamisch einzuhängen. Aber das ist Code der gewartet werden muss (wenn auch nicht viel). Das möchte ich nicht.

Leider ist die Doku dahingehend recht schwach und bot erst einmal nichts, was man brauchen könnte.
Die Lösung 💡
Aber nach stundenlanger Suche in diversen Foren und viel Recherche tat sich dann ein GitHub-Issue auf, wo die vermeintliche Lösung beschrieben worden ist:
Die Lösung ist simpel, aber nicht intuitiv. Man setzt einfach im localStorageim Browser (für die Website) den Eintrag umami.disabledmit dem Wert true und schon wird nichts mehr von Umami in dem Browser getracked.
Warum eigene Aufrufe die Statistik verfälschen
Gerade bei kleineren Blogs oder neuen Projekten können die eigenen Seitenaufrufe einen erheblichen Anteil am Gesamttraffic ausmachen. Wenn du beim Schreiben eines Artikels diesen mehrfach aufrufst, bei der Formatierung prüfst und nach der Veröffentlichung nochmal kontrollierst, kommen schnell 20-30 Aufrufe zusammen, die nichts mit echtem Besucherinteresse zu tun haben.
Umami ist eine großartige datenschutzfreundliche Alternative zu Google Analytics. Es speichert keine personenbezogenen Daten, setzt keine Cookies und ist vollständig DSGVO-konform. Die Self-Hosting-Option gibt dir zudem die volle Kontrolle über deine Daten.
Weitere Umami-Tipps
Neben dem Ausblenden eigener Aufrufe bietet Umami auch die Möglichkeit, benutzerdefinierte Events zu tracken. So kannst du beispielsweise messen, wie oft bestimmte Buttons geklickt werden oder wie weit Besucher auf einer Seite scrollen – alles ohne Cookies und datenschutzkonform.
Weiterführende Artikel
Wenn dir dieser Artikel gefallen hat, könnten dich auch diese Beiträge interessieren:
Mehr Artikel entdecken
WEM-Portal in Home Assistant einbinden
Weishaupt-Gastherme mit WEM-Portal in Home Assistant einbinden. Wir machen es zusammen! 🪵
Pseudo Selector :nth-child() interaktiv erklärt
Du bist auch schon über den Pseudo-Selector :nth-child gestolpert und willst was er bedeutet? Hier erfährst du es. 🔥
Playwright: E2E-Testing ohne Kopfschmerzen 🎭
TL;DR: Playwright ist das modernste E2E-Testing-Framework und macht Schluss mit flaky Tests, komplizierten Setups und endlosem Warten. Auto-Waiting, Trace Viewer und native Multi-Browser-Unterstützung machen es zum besten Tool für zuverlässige End-to-End-Tests. Hier erfährst du, warum du sofort umsteigen solltest. 🤔 Warum E2E-Testing wichtig ist — und warum es trotzdem alle skippen
Angular Signals: Reaktives State-Management ohne RxJS 🚀
Angular Signals bringen reaktives State-Management ohne RxJS-Komplexität. Lerne signal(), computed() und effect() für sauberen Angular-Code.
Zod: Runtime-Validierung für TypeScript 🛡️
TypeScript-Typen verschwinden zur Laufzeit. Zod gibt dir echte Runtime-Validierung — nie wieder blindes Vertrauen in API-Responses.
CSS :has() – Der Parent Selector, auf den alle gewartet haben 🎯
TL;DR: CSS :has() ist der lang ersehnte Parent Selector – du kannst jetzt endlich Eltern-Elemente basierend auf ihren Kindern stylen. Kein JavaScript mehr nötig, kein Workaround, einfach pures CSS. Und ja, es funktioniert in allen modernen Browsern. 🤔 Warum gab es nie einen Parent Selector? Wenn du schon länger CSS schreibst,