Menu

Integration von PIWIK in Serendipity

PIWIK ist ein Analysetool für Webseiten ähnlich Google Analytics. Allerdings ist PIWIK Open-Source und kann auf dem eigenen Server gehostet werden. Die Vorteile sind, die Daten liegen nicht auf einem Google Server in den USA und ich habe die Kontrolle darüber welche Daten erfasst werden und welche nicht. Ich benutze PIWIK für die Besucheranalyse auf meinem Blog da mich interessiert wie viele Leute in welchem Zeitraum auf meiner Seite waren und wie lange sie geblieben sind.

Ich bemühe mich die Privatsphäre meiner Leser zu schützen, deshalb werden IP-Adressen durch nullen der letzten zwei Bytes anonymisiert und alte Besucherlogs nach 90 Tagen automatisch gelöscht. Da ich für meine Domain leider kein Wildcard-TLS-Zertifikat besitze, habe ich PIWIK als Unterseite von Serendipiy (das ist die Blogsoftware die ich verwende) eingerichtet um ohne HTTPS-Fehlermeldungen arbeiten zu können. Das Tutorial bezieht sich auf einen Webspace bei Uperspace, sollte ähnlich aber auch bei anderen Anbietern funktionieren.

Vorbereitungen

Zuerst muss man sich per SSH auf dem eigenen Uberspace anmelden und in das Verzeichnis html/blog wechseln. Dort legt man einen neuen Ordner piwik an und wechselt in diesen. Jetzt kann die ZIP-Datei von Piwik heruntergeladen und entpackt werden.

  1. cd html/blog
  2. mkdir piwik
  3. cd piwik
  4. wget http://builds.piwik.org/piwik.zip
  5. unzip piwik.zip

Als nächstes muss das Verzeichnis noch etwas aufgeräumt werden. Die How To Install.html und piwik.zip kann gelöscht werden. Die restlichen Verzeichnisse und Dateien werden in den Ordner html/blog/piwik verschoben. Zum Schluss kann noch das Verzeichnis html/blog/piwik/piwik gelöscht werden.

  1. rm *.html
  2. rm piwik.zip
  3. cd piwik
  4. mv * ../
  5. cd ..
  6. rm -R piwik

.htaccess Datei

Da die .htaccess von Serendipity alle Zugriffe auf Unterverzeichnisse wieder auf die Startseite umleitet muss im Unterverzeichnis /piwik noch eine neue .htaccess Datei mit folgendem Inhalt angelegt werden:

  1. DirectoryIndex index.php
  2. # disable folder browsing
  3. Options -Indexes
  4.  
  5. # force SSL for all sides
  6. RewriteEngine On
  7. RewriteCond %{HTTPS} !=on
  8. RewriteCond %{ENV:HTTPS} !=on
  9. RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
  10.  
  11. RewriteCond %{HTTP_HOST} www.(.*)$ [NC]
  12. RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
  13.  
  14. # protect critical folders
  15. RewriteRule ^piwik(/(index\.php|piwik\.(php|js))?)?$ - [L]
  16. RewriteRule ^piwik/js(/(index\.php|piwik\.js)?)?$ - [L]
  17.  
  18. RewriteRule ^piwik/(libs|plugins|themes)/([^/]+/)*([^/.]+\.)+(jp(e?g|2)?|png|gif|bmp|css|js|swf|html?|pdf|svg|ico)$ - [L]
  19.  
  20. RewriteRule .* - [F]

Installation

Die Installation von PIWIK ist relativ einfach. Deshalb möchte ich darauf nicht weiter eingehen. Man muss nur den Anweisungen des Installers folgen. Fertig.

PIWIK in Serendipity einbinden

Möchte man PIWIK mit Serendipity verwenden stößt man auf ein kleines Hindernis. Serendipity verwendet in seinen Themes das Framework Smarty welches in seinem Syntax geschweifte Klammern verwendet. Der Codebaustein von PIWIK enthät JavaScript und benutzt ebenfalls geschweifte Klammern. Diese müssen mit {ldelim} und {rdelim} maskiert werden.

Hier der fertige Baustein den man in die index.tpl seines Serendipity-Theme einfügen kann:

  1. <!-- Piwik -->;
  2.    <script type="text/javascrip>
  3.       var _paq = _paq || [];
  4.       _paq.push(['trackPageView']);
  5.       _paq.push(['enableLinkTracking']);
  6.       (function() {ldelim}
  7.            var u="//geeklabor.de/piwik/";
  8.             _paq.push(['setTrackerUrl', u+'piwik.php']);
  9.             _paq.push(['setSiteId', 1]);
  10.             var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  11.             g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  12.        {rdelim})();
  13.   </script>
  14.   <noscript><p><img src="//geeklabor.de/piwik/piwik.php?idsite=1" style="border:0;" alt="" /></p></noscript>
  15. <!-- End Piwik Code -->

Datenschutzeinstelungen

Die Einstellung zum Datenschutz findet man nach der Anmeldung im Webinterface unter Administration → Privatsphäre. Persönlich verwende ich die Anonymisierung der letzen zwei Bytes der Besucher-IP. Außerdem werden Besucher-Logs nach 90 Tagen automatisch gelöscht.

IP Adresse anonymisieren

Besucherlogs und Berichte löschen

Euch hat der Beitrag gefallen, ihr habt Fragen oder Anregungen? Hinterlasst mir einen Kommentar oder diskutiert im OSBN-Chat.

Kommentare

Linear Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht veröffentlicht, sondern nur für eventuelle Benachrichtigungen verwendet.
Die Formatierung der Kommentare ist über Markdown möglich.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Gravatar Autoren-Bilder werden unterstützt.
Markdown-Formatierung erlaubt