Dieses Addon stellt im REDAXO CMS eine Besucherzählung bereit.
Dabei werden folgende Metriken erfasst und optisch dargestellt:
- Tag des Besuches (Datum und Wochentag)
- Besuchszeit
- Browser
- Gerätetyp
- Betriebssystem
- Gerätemarke und Gerätemodell
- Bots (Crawler etc.)
- Referrer
- Anzahl besuchter Seiten in einer Sitzung
- Besuchsdauer in einer Sitzung
- Ausstiegsseiten
Dieses Addon arbeitet OHNE clientseitige Cookies.
Die IP Adresse des Besuchers wird gehasht gespeichert.
Allerdings wird diese zu Datenschutzzwecken nicht roh gespeichert, sondern mit dem User-Agent des Besuchers gehasht.
hash = sha1(ipAdresseClient + userAgentClient)
.
Der User Agent wird nicht auf dem Server gespeichert. Um an die IP zu kommen, muss dieser Hash also aufwendig per Brute Force geknackt werden.
Die IP Adresse des Besuchers wird genutzt, um ein wiederholtes Aufrufen von Seiten nicht in die Statistik einfließen zu lassen.
Um den Datenschutz zu erhöhen kann der mitgelieferte Cronjob eingesetzt werden (benötigt das Cronjob Addon von Redaxo). Diesen am besten auf 00:05 täglich einstellen. Dadurch werden alte, nicht länger benötigte Hashes automatisch gelöscht um Datensparsamkeit zu gewährleisten (löscht alle Hashes die älter sind als der aktuelle Tag).
Um Aufrufe von Medien (Bilder, Dokumente, etc.) zu loggen. Dieses kann auf zwei Arten verwendet werden:
- Alle Medien tracken
Dabei werden alle Aufrufe zu Medien in der Statistik erfasst. - Medien mittles Media-Manager-Effekt tracken
Um gezielt Medien erfassen zu können, kann ein Media-Manager-Effekt genutzt werden. Dieser wird einfach als weiterer Effekt hinzugefügt und erfasst dann nur die Medien die tatsächlich für die Statistik interessant sind.
Erlaubt es, einen API Request zu nutzen um im Frontend oder Backend ein bestimmtes Ereigniss zu tracken (beispielsweise das Anklicken eines Links oder das Absenden eines Formulars).
Das Repository herunterladen und im Ordner redaxo > src > addons
entpacken.
Danach den Ordner in statistics
umbenennen.
oder über den Installer in Redaxo
Falls man im Frontend einen Besucher-Counter einfügen möchte klappt das mittles der folgenden Modul-Ausgabe:
<?php
use AndiLeni\Statistics\VisitorCounter;
?>
<p>Besucher: <code><?php echo VisitorCounter::getText() ?></code><p>
Der Ausgegebene Text kann dann nach Belieben gestaltet werden.
<?php
use AndiLeni\Statistics\Event;
Event::log("my_event_name");
- Im Media Manager einen neuen Medientyp anlegen mit dem Namen "log"
- Zu diesem den Effekt "Datei in Statistik loggen" hinzufügen
- Ein Modul anlegen
Eingabe:Ausgabe:<label>Downloads:</label> REX_MEDIALIST[id="1" widget="1"]
<div class="container"> <h2>Downloads:</h2> <table class="table"> <tr> <th>Name</th> <th>Link</th> </tr> <?php foreach (explode(',', "REX_MEDIALIST[1]") as $img) { echo '<tr>'; echo '<td>'. $img .'</td>'; echo '<td><a href="'.rex_media_manager::getUrl('log',$img).'">Download</a></td>'; echo '</tr>'; } ?> </table> </div>
- In den Einstellungen das tracken aktivieren.
- Das Beipiel erzeugt dann eine solche Tabelle:
Klickt der Besucher auf den Link "Download" wird dieser Aufruf in der Statistik gespeichert.
Ziel: Das Klicken eines Links im Frontend soll erfasst werden.
-
Ein Modul anlegen Eingabe:
<label>Kampagnen-Name:</label> <input type="text" name="REX_INPUT_VALUE[1]" value="REX_VALUE[1]">
Ausgabe:
<a class="btn btn-primary" onclick="myFunction()" href="http://example.com/">Link</a> <script> function myFunction() { fetch('/?rex-api-call=stats&name=REX_VALUE[1]'); } </script>