Matomo-Tracking im Backend verhindern, wenn WYSIWYG-Pagebuilder genutzt werden

  • Seit über einer Woche diskutiere ich vergeblich im deutschsprachigen Matomo darüber, wie ich den Matomo-Tracking Code verändern muss, damit Matomo mir meine Arbeiten mit dem Pagebuilder nicht trackt. Leider verlief die Diskussion bisher ohne Ergebnis aber mit viel Zweitaufwand.


    Das Thema "unerwünschtes Tracking im Backend bei Nutzung von Pagebuildern müsste eigentlich viele Joomla-User angehen. Deshalb habe ich mir erlaubt, dieses eigen tlich Matomo-spezielle Thema hier rein zu bringen. Deshalb poste ich das Thema jetzt hier.


    Wenn man einen WYSIWYG-Pagebuilder im Backend benutzt, so lädt der die sonst auf dem Frontend zu sehende Seite in einen Zwischenspeicher. Dieser Ladevorgang wird bisher bei meinem YooThemePagebuilder getrackt. Im Zwischenspeicher wird die Seite bearbeitet und wenn eine Änderung erfolgreich war, so speichere ich diese natürlich sofort ab. Hierdurch wird die bearbeitete Seite sofort erneut geladen und ich erhalte erneut ein Tracking. Das ist natürlich unerwünscht: Selbst wenn ich aus dem Besucher-Log mir die Besuche wegdenke, die auf meine PC-Ausstattung schließen lassen = eigener Besuch, ist die Sache doch sehr störend, wenn ich die grafische Besucherstatistik nutzen will.


    Die von Matomo vorgesehenen Dinge wie Cookies / do-not-track usw. greifen bei mir nicht, da ich meine Websites streng so aufgebaut habe, dass ich keinen Cookie-Banner oder vom Besucher eine sonstige Zustimmung zum Tracking benötige. Also muss man in den Tracking-Code mit einer "if"-Bedingung eingreifen.


    Die URL, die der Pagebuilder im Backend nutzt, bietet da einen scheinbar einfachen und sicheren Angriffspunkt:

    Jede URL meiner Website, die den Begriff "administrator" beinhaltet, soll nicht getrackt werden. Vielleicht reicht diese Bedingung nicht aus, denn die typische URL im Backend sieht so aus:

    https://meine-domain.de/administrator/index.php?option=com_ajax&templateStyle=12&p=customizer&format=html&site=https%3A%2F%2Fmeine-domain.de%2Fmein-blog


    Diese URL erscheint, wenn ich die Webseite "mein-blog" bearbeiten will. Der erste Teil der URL bezieht sich auf das Backend und der letzte Teil bezieht sich auf die URL der zu bearbeitenden Seite. In diesem letzten Teil ist ja das "administrator" nicht enthalten. Vielleicht müsste man die "if"-Kondition auf den begriff "&site=" beziehen, denn damit wird offensichtlich die im Pagebuilder zu bearbeitende Seite im Backend geladen?


    Aktuell habe ich aufgrund der Vorschläge aus dem Matomo-Forum folgenden Tracking-Code ausprobiert (der aber nicht das gewünschte Ergebnis brachte):

    Es gibt aus einer anderen Diskussion im Matomo-Forumfolgenden Vorschlag für die "if"-Bedingung:


    Aber auch dieser TrackingCode hat nicht funktioniert, sondern sogar das gesamte Tracking verhindert – auch im Frontend.


    Der Tracking-Code ohne die Bedingung am Anfang funktioniert seit Jahren zuverlässig auf mehreren Websites, daran kann es nicht liegen.


    Leider habe ich nicht die Zeit und die Fähigkeit, mich jetzt noch in Javascript einzuarbeiten, um dieses Problem zu lösen. Mein Beruf ist Heilpraktiker und nicht Software-Mensch. Dass ich aufgrund ständig knapper Finanzen diesen Mangel durch eigene Arbeitskraft ersetzen und mich viel zu oft mit Dingen beschäftigen muss, die mich eigentlich nicht interessieren und keine Freude machen, ist schon schlimm genug.


    Hier fehlt mir einfach nur die passende Formulierung der "if"-Bedingung. Bin gespannt, ob mir jemand diese hier mitteilt!

  • OK, ich hab da im Matomo-Forum völlig falsch verstanden, nämlich wohin die if-Kondition gehört. Aktuell habe ich folgende zwei Versionen des Tracking-Codes getestet. Die erste verhindert das Tracking im Backend nicht und die zweite verhindert jegliches Tracking – auch im Frontend. Übrigens: Auch ein Blick in die W3schools.com hat mich nicht schlauer gemacht:

    JavaScript String startsWith() Method
    W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript,…
    www.w3schools.com

    und

    JavaScript String match() Method
    W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript,…
    www.w3schools.com


    Hier nun der erste Code, wie er mir im Matomo-Forum nahe gelegt wurde:

    Und hier der zweite Tracking-Code

    Die im Backend angezeigte URL, während ich im YooThemePagebuilder arbeite ist:

    https://meine-domain.de/administrator/index.php?option=com_ajax&templateStyle=12&p=customizer&format=html&site=https%3A%2F%2Fmeine-domain.de%2Fmein-blog


    Was sollte ich nun noch ausprobieren?

    Oder: Hat jemand überhaupt dieses Problem (unerwünschtes Tracking im Backend) lösen können?

  • Gerade habe ich im Matomo-Forum die Lösung erhalten, sie eingebaut und erfolgreich getestet:


    Das WYSIWYG-Layout im Backend wird in einem iFrame dargestellt. Deshalb schlugen die bisherigen Versuche fehl, das Tracking zu verhindern. Die if-Kondition muss also erkennen, dass die Webseite in einen iFrame geladen wird.


    Allerdings wird damit zugleich das Tracking von Lightboxen usw. verhindert, die mit iFrame-Technik arbeiten und in die z.B. ein Joomla-Beitrag hinein geladen wird.


    Hier der Tracking-Code, der das Tracking von iFrame-Inhalt verhindert: