Giter Site home page Giter Site logo

statistics's Introduction

Analytics Addon für REDAXO CMS

Features:

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).

Medien-Tracking:

Um Aufrufe von Medien (Bilder, Dokumente, etc.) zu loggen. Dieses kann auf zwei Arten verwendet werden:

  1. Alle Medien tracken
    Dabei werden alle Aufrufe zu Medien in der Statistik erfasst.
  2. 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.

Events:

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).

Installation:

Das Repository herunterladen und im Ordner redaxo > src > addons entpacken.
Danach den Ordner in statistics umbenennen.
oder über den Installer in Redaxo

Beispiele:

Frontend Counter:

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.

Backend Event loggen:

<?php

use AndiLeni\Statistics\Event;

Event::log("my_event_name");

Download-Counter:

  1. Im Media Manager einen neuen Medientyp anlegen mit dem Namen "log"
  2. Zu diesem den Effekt "Datei in Statistik loggen" hinzufügen
  3. Ein Modul anlegen
    Eingabe:
     <label>Downloads:</label>
     REX_MEDIALIST[id="1" widget="1"]
    
    Ausgabe:
     <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>
    
  4. In den Einstellungen das tracken aktivieren.
  5. Das Beipiel erzeugt dann eine solche Tabelle:
    Beispiel1 Klickt der Besucher auf den Link "Download" wird dieser Aufruf in der Statistik gespeichert.

Kampagnen-Tracking:

Ziel: Das Klicken eines Links im Frontend soll erfasst werden.

  1. 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>

Preview:

Startseite des Addons mit den wichtigsten Metriken:

Preview

Seite mit Details über eine URL:

Preview

Statistiken über Medien Aufrufe:

Preview Preview

Verweise:

Preview

API / Kampagnen:

Preview

Integration in das Addon https://github.com/yakamara/dashboard

Preview

statistics's People

Contributors

andileni avatar tobiaskrais avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.