Statistik zur Verbreitung von Bildschirmauflösungen

Es ist ja schwer, zur Verbreitung von Bildschirmauflösungen harte/belastbare Zahlen zu erhalten: Die Information ist ja nur mit JavaScript zu bekommen – also nur mittels Tools wie GoogleAnalytics, Piwik oder ähnlichem. Und diese wiederum passen zumeist nicht wirklich zu den Datenschutzerklärungen der meisten Seitenbetreiber oder nicht zum jeweiligen Datenschutzgesetz.

Insofern sind auch die folgenden Zahlen mit Vorsicht zu genießen: Sie sind vielleicht repräsentativ, müssen es aber nicht sein:

Gruppe 1 (größere/moderne Auflösungen)

1280 x 1024 28,3%
1680 x 1050 6,3%
1152 x 864 3,6%
1920 x 1200 3,3%
1440 x 900 3,0%
1600 x 1200 2,6%
1400 x 1050 1,8%
1280 x 960 1,3%
Summe: 50,2%

Gruppe 2 (bisheriger “Office-Standard” und kleinere Breitbild-Laptops)

1024 x 768 39,0%
1280 x 800 4,5%
1280 x 768 0,8%
Summe: 44,3%

Gruppe 3 (Netbooks, ältere Geräte und sonstiges)

800 x 600 2,6%
andere 2,9%
Summe: 5,5%

Quelle für die Daten: www.webhits.de

WordPress Plugin Cystats – Fehlermeldung “Warning: Invalid argument supplied for foreach() in..” beheben

Das WordPress Statistik Plugin “Cystats” setze ich in einigen Blogs ein, da es einen schnellen Blick auf aktuelle Zahlen (wie Referer, Visits etc.) ermöglicht. Es reicht nicht an den Funktionsumfang von Google Analytics heran, bietet aber im Gegensatz mehr an Aktualität.

Hier im Open Source Blog machte das Plugin allerdings Probleme, die sich in dieser Fehlermeldung auf der Cystats Seite im WordPress Backend zeigten:

Warning: Invalid argument supplied for foreach() in /home/www/osblog/htdocs/wp-content/plugins/cystats/includes/view.class.php on line 645

Auch in den Logfiles des Apache schlug sich das Problem nieder – und diese waren auskunftsfreudiger bzw. etwas konkreter mit der Fehlerangabe. Unter vielen weiteren konnte man eindeutig sehen, was los ist: Es soll in nicht existente Tabellen geschrieben werden:

WordPress database error Table ‘osblogsql1.wp_TABLE_STATISTICS’ doesn’t exist for query INSERT INTO wp_TABLE_STATISTICS (name,type,val1,val2,val3) VALUES (‘visits_year’,’2′,’2009′,’0′,’1′) made by require, require_once, do_action, call_user_func_array, cystats_update_data, statistics->update

Dass die Tabellen auch auf Datenbankebene nicht zu sehen waren, brauche ich sicher nicht gesondert zu erwähnen ;-)

Leider verfügt Cystats über keinerlei Routinen zur Behandlung solcher Fehler, sodass man bei der Fehleranalyse etwas im Dunkeln stochert.

Es lag dann letztlich daran, dass der verwendete Datenbankuser einfach keine Tabellen anlegen durfte. Als ich ihm dieses Recht einräumte, legte Cystats dann bei der erneuten Aktivierung des Plugins die Tabellen automatisch an.

Leider scheint die Verbreitung von Cystats noch nicht allzu hoch zu sein – eine Google Recherche brachte diesen Lösungsweg nämlich leider nicht zu Tage.