[lang_en]
I recently installed WP-ShortStat to gather blog statistics, and especially to make them more easily accessible (compared to webalizer). WP-ShortStat claims that one should just drop it in the plugin directory and enable it and it would work. Well, guess what happened.
[/lang_en]
[lang_de]
Ich habe vor kurzem WP-ShortStat installiert, um mal einfach verfügbare und lesbare (im Gegensatz zu Webalizer) Blog-Statistiken zu haben. WP-ShortStat behauptet, man müsses nur einfach nur ins Plugin-Verzeichnis legen, das Plugin anschalten, und es würde funktionieren. Ratet, was statt dessen passiert ist.
[/lang_de]
[lang_en]
At first, no stats showed up. I didn’t think much of it, since I was logged in as admin and it really shouldn’t track my own visits. Then I tried with another browser, but still got no stats. I thought of blaming WP-Cache, which might prevent the tracking function from ever getting called, but didn’t have the time to look into it. Time passes. It still doesn’t work. The author seems to have disappeared off the face of the earth. Looking into the source, I fixed a few obvious bugs ($wpss->$tz_offset
, rrrright!), but still, no go. Lots of googling later, I find a bugfix (the admin detection broke with wp2.x), and just after implementing it, a maintained version of the plugin… which actually works! It still looks broken though, because the columns don’t wrap right (a relic from the original version). Also, it’s slow since every request results in another request to an ip-to-country webservice. I kid you not. All that to save shipping with a “2mb ip-to-country file” (quote from the original author). Even with HappyArts’ optimizations, I prefer to use local data. Exit WP-ShortStat.
Enter WP-SlimStat. It’s a rewrite/conglomeration/bastardization/whatever of WP-ShortStat and something else, and it claims to fix all the bugs WP-ShortStat, have more features, be equally easily installed, and not break the WP admin area. Plus it can import WP-ShortStat data. Installation really is as easy as promised, and the admin panel looks neat and doesn’t break things.
Just don’t look at the main page.
For WP-SlimStat to work, you must have WPLANG
defined and it must not be empty, lest you get a fatal error “Cannot instantiate non-existent class: CachedFileReader”. Most non-english blogs should be fine, the others should define('WPLANG','en');
in their wp-config.php
.
I’m happy to report that after this little fix, things work. But the original author of WP-SlimStat still hasn’t incorporated the fix. What is it with writing stats plugins and disappearing?
I sense a conspiracy.
[/lang_en]
[lang_de]
Zuerst erschienen einfach keine Statistiken. Ich hab mir nicht viel dabei gedacht, weil ich noch als Admin eingeloggt war, und das Plugin meine eigenen Besuche wirklich nicht mitzählen sollte. Also hab ich es mit einem anderen Browser versucht, aber immer noch keine Stats gekriegt. Ich dachte mir, dass es an WP-Cache liegen könnte, weil die Tracking-Funktion vielleicht nie aufgerufen würde, hatte aber keine Zeit, mir das ganze genauer anzusehen. Ein paar Tage später. Es geht immer noch nicht. Der Autor scheint vom Erdboden verschluckt worden zu sein. Im Source finde und behebe ich ein paar offensichtliche Bugs ($wpss->$tz_offset
… äh, nein), aber mehr als leere Stats kriege ich trotzdem nicht. Viel googlen später finde ich einen Bugfix (die Admin-Erkennung geht mit WP 2.x nicht mehr), und kurz nachdem ich damit fertig bin, eine aktualisierte Version des Plugins… die sogar funktioniert! Leider sieht’s immer noch mies aus, weil die Spalten nicht richtig umbrechen (ein Relikt aus der Originalversion des Plugins). Außerdem ist es recht langsam, weil jeder Request eine Anfrage bei einem IP-to-Country Webservice nach sich zieht. Ernsthaft. Alles nur, um kein “2mb ip-to-country file” (Zitat Original-Autor) zu brauchen. Auch wenn HappyArts da noch einiges optimiert haben, ich mag lokale Daten. Abtritt WP-ShortStat.
Auftritt WP-SlimStat: Ein Rewrite/Zusammenballen/Bastardisieren/whatever von WP-ShortStat und anderen Scripts, behauptet, alle Bugs von WP-ShortStat zu beheben, mehr Features zu haben, genauso leicht installierbar zu sein, und das Admin Panel nicht zu zerhauen. Außerdem kann es die Daten von WP-ShortStat importieren. Die Installation ist auch wirklich so leicht wie versprochen, und das Admin Panel sieht nett aus und ist vor allem nicht völlig zerstört.
Die Hauptseite ist eine ganz andere Angelegenheit.
Damit WP-SlimStat funktioniert, muss die Konstante WPLANG
definiert und nicht leer sein, weil man sonst einen Fatal Error “Cannot instantiate non-existent class: CachedFileReader” kriegt. Die meisten nicht-englischsprachigen Blogs sollten kein Problem haben, alle anderen sollten define('WPLANG','en');
in ihre wp-config.php
eintragen.
Nach diesem kleinen Fix funktioniert netterweise endlich alles. Leider hat der Autor von WP-SlimStat den Bugfix immer noch nicht eingebaut. Warum verschwindet jeder, der Statistik-Plugins für WordPress schreibt, plötzlich?
Ich wittere eine Verschwörung.
[/lang_de]
Die 2 MB ip-to-country-Datei enthält nur einen Bruchteil der Daten, die unser Server liefert, denn wir verwenden eine gut 100 MB große Datei. Die Anfrage an unseren Server geht über UDP und dürfte keine merkliche Geschwindigkeitsänderung zur Folge haben. Ich überlege allerdings schon länger, die IP-Datei optional zu implementieren.
Das war gar nicht an die Happyarts-Version gerichtet, sondern an die ursprüngliche. Sorry, wenn das nicht deutlich war.
Generell sind mir lokale Daten lieber. Ich werde vermutlich die countries.nerd.dk DNS ‘blacklist’ lokal einspielen und die verwenden. Wäre das nicht auch für Happyarts eine gute Lösung?
z.B.
Ich hab grad einen UDP ip-to-country resolver geschrieben, der die countries.nerd.dk RDNSBL-Dateien verarbeitet, verflixt schnell ist, und wenig Speicher braucht.
Post dazu folgt.
Es gibt mehrere gute Quellen für die entsprechenden IP-Dateien, der halbe Code dafür liegt auch schon hier. Es fehlte einfach nur an der Zeit, es zu implementieren. http://countries.nerd.dk/more.html remote zu nutzen würde jedenfalls nichts bringen, unser Server läuft und ist sehr schnell, da wir einen eigenen Dämon geschrieben haben.