Navigation überspringen

Matomo: Bug mit Plus-Zeichen (+) in Sei­ten­ti­teln, inkl. Fix

17.7.2023·Kommentare:  0

Aus irgendeinem Grund kommt Matomo seit Jahren nicht mit Plus-Zeichen in Seitentiteln klar. Über die Auswirkungen und wie man das Problem lösen kann, darum geht’s in diesem Post.

Das Problem

Zunächst merkt man es vielleicht gar nicht, weil im Seitentitel-Report (unter »Verhalten«) einfach das Plus-Zeichen im Titel zu fehlen scheint, Zugriffe aber offensichtlich getrackt werden. Das sieht dann ungefähr so aus – statt …

Wann startet ›From‹, Staffel 2 auf Pa­ra­mount+? […]

… steht nämlich:

Screenshot von Seitentitel-Report in Matomo mit einem Eintrag mit Plus-Zeichen, das Matomo durch ein Leerzeichen ersetzt
Problem #1: Matomo verschluckt das Plus-Zeichen.

Das wäre noch nicht so tragisch, allerdings funktioniert bei sämtlichen Seiten mit Plus-Zeichen im Titel das Referer- bzw. Transition-Reporting nicht. Ein Klick auf das entsprechende Icon liefert folgende Fehlermeldung:

Screenshot Fehlermeldung von Matomo, wenn man Transitions für eine Seite mit Plus-Zeichen im Titel öffnen will.
Problem #2: Transitions funktionieren nicht mehr.

Die Lösung

Der einfachste Lösungsansatz ist natürlich, statt eines simplen Plus-Zeichens (+) die entsprechende HTML-Entity im Titel zu setzen (+). In Anbetracht dessen, dass das Plus-Zeichen in HTML eigentlich relativ unproblematisch ist, schon etwas absurd und mühsam.

Man kann im Javascript-Tracking-Code von Matomo den Seitentitel auch manuell setzen und so das Plus-Zeichen automatisch durch eine HTML-Entity ersetzen lassen. Die einfachste Lösung ist das Zeichen direkt in JavaScript zu ersetzen und vor _paq.push(['trackPageView']); die Variable setDocumentTitle zu pushen:

_paq.push(['setDocumentTitle', document.title.replace(/\+/g, "+") ]);

Die Funktion kann man natürlich eleganter implementieren, sodass sie sich z.B. bei Bedarf erweitern lässt, sollte man auf weitere problematische Zeichen stoßen.

Beachten muss man bei beiden Lösungen, dass Matomo dann im Report tatsächlich den Entity-Code ausgibt statt eines dekodierten Plus-Zeichens (also z.B. »Paramount+« statt »Paramount+«). Dafür funktionieren die Transitions wieder.

Eure Meinung

Ist euch das Problem auch schon aufgefallen und habt ihr eine andere oder gar bessere Lösung? Auf euer Feedback freue ich mich wie immer in den Kommentaren!


Neueste Artikel

Schlagwörter

· · · · · · ·


Kommentieren

Ich freue mich über jeden Kommentar (Guidelines) & antworte immer (meist < 24h), HTML erlaubt.