Skip to content

Wasser predigen, selbst auch trinken

Piwik Nachdem ich gern über Datensammler herziehe, habe ich gestern in einem Rundumschlag den Piwik-Analysecode aus meinen Webseiten entfernt und die Datenbank gelöscht.

Serendipity Obwohl die Installation entsprechend den Empfehlungen für Datenschutz eingestellt war (siehe auch meinen Blogeintrag von 2011). Die IP-Adressspeicherung in der Blogsoftware s9y habe ich schon seit 2009 deaktiviert.

Piwik, s9y, 404

Anmerkung: Dieser Artikel ist von 2011. Ich kann nicht garantieren, dass das noch so funktioniert.

Um eine eigene 404er-Error-Seite von s9y geliefert zu bekommen, kann man auch das Plugin »Statische Seiten «(serendipity_event_staticpage) verwenden. Dort gibt es die Option »Diese Seite als 404-Fehler-Seite definieren«. Damit erspart man sich die Fummelei im Code und es funktioniert auch nach einem Template-Wechsel.


Um 404er-Fehlermeldungen mit Piwik in Serendipity (s9y) zu überwachen, ist Handarbeit nötig.

Achtung: vorm Ausprobieren unbedingt die index.tpl sichern! Bei Fehlern kann man sich wunderbar das Template zerschießen!

Außerdem wichtig: s9y verwendet in den tpl-Dateien Smarty-Code. Deshalb muss man die eckigen Klammern des Piwik-Codes durch {ldelim} bzw. {rdelim} ersetzen (siehe ldelim, rdelim bei Smarty, evtl. ist es einfacher, am Piwik-Codeanfang {literal} und am Ende {/literal} einzufügen).

Standardmäßig gibt es keine 404er Seite in s9y. Bei ungültigen URLs wird immer die Index-Seite angezeigt. Weil mir das nicht gefällt, habe ich irgendwann in meinem Template folgendes in die index.tpl eingebaut (der Teil mit» if $view == "404"«) bis »{/if}«:


<div id="content">
{if $view == "404"} {* begin 404 *}
<h2>404 - Adresse nicht gefunden<h2>
<p>Ooops, da ist etwas schief gegangen. Der Artikel wurde nicht gefunden, sorry.</p>
<p>Vielleicht hilft ein Blick ins Archiv?</p>
{else}
{$CONTENT}
{/if} {* end 404 *}
</div><!-- end content -->

 

Wo man das einfügt, hängt natürlich vom verwendeten Template ab. Bei mir steht der Hauptinhalt in einem div names content.

Damit Piwik die 404er-Meldungen überwacht, ist laut FAQ eine Codeergänzung auf der 404er Seite nötig. Weil das bei s9y alles über die index.tpl gesteuert wird, muss man an zwei Stellen basteln.

Im Header muss der Titel angepasst werden, damit man in der Statistik den Seitentitel »Error 404 ...« gezeigt bekommt:


<head>
<title>{if $view == "404"}Error 404 {/if} {$head_title|@default:$blogTitle} ...

 

und beim Piwik-JS müssen ein paar Zeilen ergänzt werden, auch hier wieder erkennbar am »if $view == "404":«


var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
   {if $view == "404"}{* Abschnitt zum Tracken von 404er Fehlern *}
piwikTracker.setDocumentTitle('404/URL = '+String(document.location.pathname+document.location.search).replace(/\//g,"%2f") + '/From = ' +
String(document.referrer).replace(/\//g,"%2f"));
  {/if}
piwikTracker.trackPageView();

 

Wenn alles geklappt hat, sieht man in Piwik unter "Aktionen / Seitentitel" Daten über den Aufruf der 404-"Seite". Beim Testen dran denken, ob man in seinem Browser eventuell das Piwik-Cookie gesetzt hat (Einstellungen / Benutzereinstellungen), damit die eigenen Seitenaufrufe nicht in der Statistik landen. Und ob man die Statistikaktualisierungsintervalle unter "Einstellungen / Allgemeine Einstellungen" von 10 Sekunden auf einen höheren Wert gestellt hat.

Piwik Analytics

Bei meinem Wechsel zu Uberspace habe ich all meine Webseiten (u1amo01, im-kino-gesehen, kursax und dieses Blog) in einen Uberspace namens u1amo01 gestopft. Der Vorteil ist ein Account für alles, eine Überweisung etc. Ein Nachteil sind die daraus resultierenden Serverlogs. Für eine Auswertung mit Webalizer nicht zu gebrauchen. Wobei ein besonderes Problem meine geänderten Blogadressen sind: früher blog.u1amo01.de, seit Monaten u1amo01.de/blog (ein entsprechender Eintrag in der htaccess leitet zuverlässig auf die neuen Adressen um).

Logo Eine Lösung wäre, das alles auf einzelne Uberspaces zu verteilen, die andere probiere ich gerade aus: Piwik. Open-Source-Software, die für mich als bisherigem Webalizer-Nutzer geradezu unglaubliche Zugriffsstatistiken liefert, in denen man sich verlieren kann. Und weil das auf dem eigenen Webspace läuft, muss man sich weniger Gedanken um Datenmissbrauch machen.

Voraussetzung ist mindestens PHP 5.1 und eine MySQL Datenbank. Installiert ist das in wenigen Minuten. Dabei wird ein Javascript-Codeschnipsel generiert, den man in die zu überwachende Webseite einbauen muss. Für viele CMS gibt es Plugins. Für das hier genutzte Serendipity (s9y) noch nicht (geplant für die nächste Version).

Logo s9y Ich hab's von Hand im aktiven Template in der index.tpl nach dem Footer eingebaut. Vorsicht Falle: Smarty versucht die Klammern { und } zu interpretieren – anschließend sieht man beim Blogaufruf eine leere Seite ohne Quellcode. Deshalb alle Klammern im Javascript durch {delim} bzw. {rdelim} ersetzen (Siehe s9y-Forum).

Damit man gar nicht erst Daten sammelt, die missbraucht werden könnten, aktiviert man im Piwik-Dashboard über Einstellungen / Plugins AnonymizeIP. Damit wird der letzte Teil der IP-Adresse der Besucher anonymisiert (80.122.145.123 wird als 80.122.145.0 gespeichert).

Vielen Dank an Jonas vom Uberspace-Support für die Unterstützung!