IP City Cluster Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
The IP City Cluster Plugin (IPCCP) generates a geographical cluster map based on where from people access you website (or to be precise: based on the IP they got from their provider). It requires a statistics plug-in (that keeps a database or logfile) which keeps track of the IP. Key features include a preview with a lightbox way of zooming, image maps for city names and hit counters for both the preview and zoomed image, template output, smart clustering and user control over color, sizes and such.
Some of you might be familiar with the ClustrMap Service. I signed up this month and was instantly hooked. After a week or two I had two issues though. One: why didn’t I sign up ealier (or how am I going to convince them to read my logfile)? Secondly you had to pay for the advanced service. Not my cup of tea (not to mention that you are always dependent on their service being up 😉 – I decided to look into writing my own cluster map WordPress plug-in. Key problem was of course the lookup of IPs. Fortunately MaxMind offers a free database and the required API to get City name, country name as well as longitude and latitude corresponding to an IP address.
See screenshots for an example.
Options
All IPCCP options are accessible through the corresponding admin options panel. First of all make sure to enter the correct SQL table and key name (if it’s anything else than “IP”). There are three ways to generate a new picture:
– pressing Redraw in the admin panel
– calling an URL with the addition of ?recluster=true
– using the scheduling feature (which automatically generates the cluster map after a specified amount of time – or to be precise, it automatically generates the cluster map, by the next call IPCCP-call after the user specified time. But give the amount of spammers and bots that are crawling over public sites. this should be close the the specified time itself. Doesn’t it give you some satisfaction, that they are actually doing some good for you 🙂 Just be aware of the CPU time required for the generation before scheduling IPCCP too often (or adding your terabyte long logfile).
Know Issues
The new “all cities per cluster” feature is not supported by all browsers. actually it’s probably only supported by Safari (or Konquerer or the like) and probably it’s not correct (X)HTML either. But it sure looks cool when it works 🙂
[Update] It also works in IE7! Maybe it’s only Firefox that got trouble displaying multiline titles?
License
This WordPress plug is released under the GPL and is provided with absolutely no warranty (as if?). For support leave a comment and we’ll see what the community has to say.
Version History
- 13.feb.2007 – v0.b5.8
> – optimised code: drastically increased speed of IP lookup
> – optimised code: now checking syntax of database IPs as well - 13.mar.2007 – v0.b5.7 [minor update]
> – bugfix: counting of visits fixed - 08.mar.2007 – v0.b5.6 [minor update]
> – optimised code: using less RAM [optimised filtering]
> – optimised code: runs faster with large datasets [kicked array_merge()]
> – increased verbosity while generating the cluster map - 06.mar.2007 – v0.b5.5 [major update]
> – new feature: JPG quality
> – new feature: non-linearity in clustering
> – bundled new GeoIP database (March.2007) - 23.feb.2007 – v0.b5.4 [minor update]
> – new feature: more details in subtitle & legend
> – optimised code: loading image map only on needed pages/posts
> – bugfix: scheduled task now works as claimed - 22.feb.2007 – v0.b5.3 [major update]
> – new feature: print all city names in a cluster
> – optimised code: rewrote smart clustering [you might have to readjust the SCC]
> – optimised code: lightbox JS [hardcoding of URL only in one place now]
> – bugfix: template now correctly saved - 20.feb.2007 – v0.b5.2 [major update]
> – new feature: verbosity while generating the cluster map
> – new option: Performance vs Memory efficiency
> – new option: legend [on/off]
> – optimised code: reading of large files now reliable and fast
> – optimised code: _getSize rewritten
> – corrected behaviour: when called with no data
> – corrected behaviour: when first called
> – corrected behaviour: _updateOptions and value validation updated
> – bugfix: image map not precise
> – bugfix: correct readout of international characters in city names - 18.feb.2007 – v0.b5.1 [minor update]
> – extended logfile support [Use any logfile and apply filter] - 17.feb.2007 – v0.b5 first public release [WhooHoo!]
> – new option: cron like automated generation [by setting a minimum time]
> – slightly modified admin panel
> – bugfix: rare change of user specified values for the template - 16.feb.2007 – v0.a4 new option: recluster by cron
> – new option: recluster by url
> – finished admin panel - 15.feb.2007 – v0.a3 lightbox + image maps [Woohooo!!!]
> – rendering of small and big images - 14.feb.2007 – v0.a2 smart clustering [using an adaptive clustering distance]
> – added logfile support [fetching IPs from file]
> – new option: image map support
> – new option: show your place - 13.feb.2007 – v0.a1 Preliminaries [fetch entries from SQL, group by IP, get places, group by places ]
> – figured out how long/lat corresponds to planar maps
> – figured out how to draw [using GD]
> – clustering of neighbouring citys into bigger ones