SlimStat, Textpattern, und dazu noch lange URLs

17. Dezember 2005

Was interessiert eigentlich die Leute auf meiner Site? Kommen Sie, um zu bleiben, oder schauen sie nur kurz vorbei und sind gleich wieder weg?

Quälende Fragen, die ich für diese Site mit Hilfe des kostenlosen Webstatistik-Tools SlimStat (Version 0.8) beantworte. SlimStat ist eine Weiterentwicklung des populären ShortStat von Shaun Inman und damit sozusagen der bescheiden gekleidete Bruder des aufgerüschten und vielbeachteten Mint. (Nebenbei: Selbst Jon Hicks wird die Flut der Logos mit blättriger Optik mittlerweile zu viel).

SlimStat einrichten

Die Einrichtung von Slimstat erfordert etwas Handarbeit bei der Anlage der Datenbank, ist aber keine Hexerei und in ein paar Minuten erledigt. SlimStat arbeitet anders als die Statistikpakete, die von den meisten Webspace-Providern vorinstalliert angeboten werden. Webalizer, AWStats, oder Analog werten die vom Webserver geschriebenen Aufzeichnungen über ausgelieferte Seiten, Browserversionen und vieles anderes aus. SlimStat schreibt dagegen jeden Seitenaufruf live in einer Datenbanktabelle mit.

Dazu muss SlimStat Seitenaufrufe erst mal mitkriegen. Im Fall des hier werkelnden CMS Textpattern erledigt das eine einzige Zeile, die das Plugin wet_slimpattern automatisch einfügt, oder man ändert selbst ein wenig im Textpattern-Code: Am Ende der Datei [siteurl]/index.php wird das eingefügt:

textpattern();
@include_once($_SERVER["DOCUMENT_ROOT"]."/slimstat/inc.stats.php"); 

In der Version 4.0.2 von Textpattern ist das die Zeile 29 vor der abschließenden geschweiften Klammer. Die Aufzeichnung der Zugriffe startet sofort. Falls Fehler auftreten, kann man eine erste Diagnose durch einen Aufruf der Adresse http://[www.meine-adresse.net]/slimstat/inc.stats.php erhalten. Die blütenweiße leere Seite, die da üblicherweise kommt, zeigt, dass die Aufzeichnungsfunktion gefunden wird und keine Fehler auftreten.

Lange URLs darstellen

SlimStat registriert zur Spamunterdrückung keine Referrer, deren Domainname länger als 25 Zeichen ist oder mehr als zwei Bindestriche enthält. Mir ist das etwas zu scharf, also erlaube ich Domainnamen bis zu 35 Zeichen und vier Bindestrichen. Dann klappt’s auch mit www.oevp-attnang-puchheim.at.

Der Bereich ab Zeile 75 in /slimstat/inc.stats.php schaut dann so aus:

if ( sizeof( $domain_array ) > 4 ) {
	$is_spam = true;
}
if ( strlen( $stat["domain"] ) >= 35 ) {
	$is_spam = true;
}

UTF-8 ist das ASCII des 21. Jahrhunderts

Eine Zeichensatzdeklaration hilft bei der korrekten Darstellung von Umlauten und anderen Nicht-ASCII-Zeichen. /slimstat/index.php gibt den Dokumentenheader ohne Zeichensatzdefinition aus, die Ergänzung bei Zeile 118 um

<meta http-equiv="Content-Type"
 content="text/html; charset=utf-8" /> 

behebt den Mangel.

Ist das nicht alles ein bisschen eng hier drin?

Was Textpattern und auch andere Blogtools so auszeichnet, ist ja die Bildung der URLs aus den Artikelüberschriften. Die sind damit gerne mal etwas länger. SlimStat verwendet zur Anzeige der besuchten Seiten eine kleine Box, die in der Breite Platz für so um die 25 Zeichen bietet. Mir was das zu knapp, aber mit ein paar Eingriffen in die CSS-Datei /slimstat/_css.css von SlimStat ist das flott geändert.

Um die Zeile 90 schaut’s dann so aus:

.module {
	float: left;
	margin-bottom: 2em;
	margin-left: 2em;
	width: 29.5em;
}

Weiter geht’s bei Zeile 103:

.module div {
	height: 28.8em; 
	overflow: auto;
	width: 100%;
}

Dazu passend ist in _config.php die maximale Länge auf 36 Zeichen eingestellt:

/** Maximum number of characters shown in names */
var $truncate = 36;

Das war’s. Hübsch, nicht?

Kommentare

  1. Mich würde interessieren, was Du für Erfahrungen mit dem Datenbank-Hunger des Tools gemacht hast.
    Aus meiner Sicht ist das Tool zwar toll, jedoch sehr speicherintensiv und nur ohne Ländererkennung zu nutzen.

    Wenn Du Langzeit beobachtet hast, schreib mal drüber. :))