In Matomo die Canonical URL tracken lassen

Dieser Beitrag beschreibt, wie man in Matomo eine Umsetzung ermöglicht, dass Seiten mit identischem Inhalt, die jedoch unterschiedliche URL’s besitzen, unter einer einheitlichen URL getrackt werden. Ziel ist eine erheblich leichtere und schnellere Auswertung von Tracking-Metriken für solche Seiten.

Die Canonical URL

Diese einheitliche URL bezeichnet man auch als Canonical URL, die URL unter der ein Inhalt ursprünglich (originär) abrufbar ist. Im SEO-Umfeld sind Canonical URL’s, auch als Canonical Links bezeichnet, sehr bekannt und von hoher Bedeutung, um sogenannte Duplicate Content-Fehler zu vermeiden. Der Canonical Link wird im HTML einer einzelnen Seite hinterlegt. In der Regel erstellen Content-Management-Systeme diesen automatisch.

<link rel="canonical" href="https://example.com/unterseite.html">

Im Folgenden soll es darum gehen, wie sich das Vorhandensein einer Canonical URL in Matomo nutzen lässt, um auch in den Matomo-Berichten nur die úrsprüngliche URL zu verwenden.

Ein Beispiel von Links, die eine Canonical URL erfordern

Zunächst ein Beispiel einer Seite, die unter 5 verschiedenen URL’s erreichbar ist, aber die selben Inhalte ausspielt. Alle 5 URL’s werden in Matomo-Berichten als einzelne Seite ausgegeben:

  1. https://example.com/unterseiten/aktion_november.html
  2. https://example.com/11
  3. https://example.com/11/
  4. https://example.com/index.php?id=2712
  5. https://example.com/?id=2712

Wie kann so etwas entstehen?
Der Inhalt wurde bspw. in einem CMS ursprünglich im Seitenbaum  auf einer Seite „Aktion November“ gepflegt. Das CMS erzeugt die URI „aktion_november“. Ebenfalls wird im CMS eine Short-URI „11“ (für eine Aktion im November) angelegt, die diesen Inhalt zusätzlich auch unter der URI „11“ ausspielt. Mit dieser Short-URI wird bspw. eine Kampagne durchgeführt.
Je nach Webserver-Konfiguration wird manchmal ein Slash oder auch keiner angehangen oder es hängt vom Aufruf des Nutzers ab (Variante 3).
Bei bspw. Typo3 oder auch WordPress können Seiten auch mit ihrer internen ID aufgerufen werden oder bestimmte automatische Verlinkungsmechanismen verlinken nicht die sprechende URL, sondern eine mit der internen ID (Variante 4 und 5).

Möchte man nun in Matomo auswerten, wie oft diese Seite nun Besuche hatte, muss man alle Varianten 1-5 in Matomo einzeln heraussuchen und die Besucher addieren. Bei einer einzelnen Seite mag das noch schnell gemacht sein, jedoch wird es schnell sehr aufwendig, wenn hier potenziell der ganze Webauftritt solche Konstellationen vorhält oder die ID unbekannt ist und man im CMS diese heraussuchen muss. Auch sehr aufwendig wird es, wenn man sich die Interaktionen der Besucher einzeln zusammenstellen und addieren muss.

Artikelempfehlung:  Spamzugriffe aus Matomo Statistiken heraushalten

Es gibt also gute Gründe auch im Tracking die Canonical URL zu verwenden. Dies hilft nicht nur Suchmaschinen, sondern erleichtert auch die Auswertung in Matomo.

Idealerweise ist die Canonical URL im obigen Beispiel die URL aus Variante 1, also die sprechende URL.

Matomo Unterstützung benötigt? Ich helfe Ihnen gerne.

Jetzt informieren

Matomo die Canonical URL nutzen lassen

Matomo kann im Backend nicht konfiguriert werden, dass die Canonical URL automatisch ermittelt und diese an Stelle der im Browser aufgerufenen URL getrackt wird.

Der Lösungsansatz erfordert eine Erweiterung des Tracking-Snippets. Das grundlegende Tracking-Snippet stellt Matomo im Backend den Administratoren zur Verfügung, damit dieser Code-Schnippsel in die Webseite eingebettet wird. Sie müssen anschließend in diesen Schnippsel meine nachfolgend beschriebene Anpassung aufnehmen.

Ich greife dabei auf eine Matomo-Funktion zurück, mit der sich die getrackte URL ändern lässt (setCustomURL – siehe Matomo FAQ). Diese Funktion wird mit dem Wert der Canonical URL aufgerufen, die ich mir zuvor mit einer JavaScript-Funktion aus dem HTML ermittle. Gibt es keine Canonical URL im HTML passiert nichts, d.h. Matomo trackt „normal“ die URL, die im Browser aufgerufen wurde.

<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];

/******** Beginn ****/
/* Canonical URL ermitteln und verwenden */
var canonical = "";
var linklist = document.getElementsByTagName("link"); 
for (var i = 0; i < linklist.length; i ++) { 
  if (linklist[i].getAttribute("rel") === "canonical") { // <link rel="canonical"> gefunden
    canonical = linklist[i].getAttribute("href"); // Variable canonical mit Canonical-URL belegen
   _paq.push(['setCustomUrl', canonical]);
   break; 
  }
}
/******** Ende ****/
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://matomo.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.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->

Den angepassten Code habe ich mit Beginn und Ende in Kommentarzeilen gekennzeichnet.

Durch Cookie-Banner-Module oder Plugins für Matomo in bestimmten CMS muss die Integration ggf. diesen Modulen und Plugins angepasst werden. Wichtig ist jedoch, dass die Code-Anpassung einerseits nach der Initialisierung von paq erfolgt und noch vor Aufuf von trackPageView.

Edit 01.08.2021: Obiger Code muss noch angepasst werden, wenn zusätzlich zur Canonical URL die GET-Parameter aus der aktuellen URL an Matomo übergeben werden müssen. Dies ist erforderlich, wenn eine Matomo Kampagne durchgeführt wird oder wenn andere GET-Parameter in Matomo-Berichten ausgewertet werden müssen (z.B. Suchbegriffe).

Hierzu kann man mit einer eigenen JavaScript-Funktion die GET-Parameter der aktuellen URL auslesen und diese an die Canonical URL anhängen und den nun entstandenen String an die Funktion setCustomUrl übergeben.

Artikelempfehlung:  Preview-/ Debug-Panel des Matomo Tag Manager dauerhaft anzeigen

Kundenstimmen aus meinen Projekten


Meine Angebote zu Matomo

Matomo Support
Dauer: nach Aufwand
Inhalt: Kurzfristiger Support bei Problemen rund um Matomo und den Matomo Tag Manager (Beratung, Programmierung, Konfiguration)
Workshop
Dauer: 2-8h (je nach Bedarf)
Inhalt: Individuelle Fragen & Antworten zu Matomo, Matomo E-Commerce, Matomo Tag Manager inkl. Vorbereitung
Schulung (unterschiedliche Pakete)
Dauer: 2-8h
Inhalt: Webanalyse mit Matomo (für Einsteiger). Ausführliche Schulungsunterlagen. Individuelle Schwerpunkte möglich. Details zu Schulungsinhalten


Ihnen hat mein Artikel gefallen?

Lassen Sie sich per Newsletter über meine neuen Blog-Beiträge zu Matomo informieren.

Als Dankeschön erhalten Sie mein Gratis-E-Book „Die 10 besten kostenlosen Matomo-Plugins“.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Exklusiver, kostenloser Newsletter zu Matomo - plus Dankeschön!

Im Newsletter bespreche ich exklusiv Themen zu Matomo, die ich nicht auf meiner Webseite veröffentliche.
Werden Sie Teil der Community - ich freue mich auf Sie!

Als Dankeschön erhalten Sie mein Gratis-E-Book: "Die 10 besten kostenlosen Matomo-Plugins".

Dies schließt sich in 0Sekunden