Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Visitor Maps and Who's Online

Displays Visitor Maps with location pins, city, and country. Includes a Who's Online Sidebar. Has an admin dashboard to view visitor details.

Does this require a map API key?

No, this uses GeoLiteCity data created by MaxMind, available from http://www.maxmind.com/ it does not require registering an API. After you install this plugin, the GeoLiteCity data install is automatically processed by clicking a link on the settings page.

How often does the GeoLiteCity data need to be updated?

About once monthly an update becomes available, usually around the 1st-3rd of the month. About 1-2% of the GeoLiteCity database changes each month. When the update is available, the admin will be notified on the Who's Online Dashboard. The update is automatically downloaded by clicking a link.

Why is Geolocation sometimes not accurate?

Sometimes geolocation is close to perfect, sometimes not. Usually only about 85% accuracy. The lat & lon, city, state parameters the database produces is for the location the ISP has reported for your current IP address. Many ISPs share one block, or several blocks, of IP addresses with all their users. Each time you connect you may get a different IP address assignment with different location details. So the accuracy can even vary according to your current IP assignment. This can cause the reported city, state, lat & lon from the IP to vary from your actual location.

To check the database itself, enter the IP address in this online demo. http://www.maxmind.com/app/locate_ip

I don't use widgets. How can I add "Who's Online" to my sidebar manually?

Upgrade to version 1.0.5 or higher and add this code to your theme's sidebar.php:

    // display Who's Online
     if (class_exists("VisitorMaps")) {
            $visitor_maps = new VisitorMaps();
     if (isset($visitor_maps)) {
           echo '<ul><li>';
           echo '</li></ul>';

I can't get the geolite database to install. When I click on it, it tells me "download_file error: cannot write to file, check server permission settings" or "download_file error: reading or opening file"

Your server's PHP settings is the cause. Possible causes: PHP safe_mode could be enabled, you should turn it off. allow_url_fopen could be disabled, you should turn it on.

If you can, edit your PHP.ini file (usually located in /etc/php.ini or the root folder of your web site) and make sure these two settings are like this:

safe_mode = Off

, allow_url_fopen = On

The geolite database is really just a 30 meg file. As a workaround, you can manually download the GeoLiteCity.dat.gz file from this URL, unzip it and upload GeoLiteCity.dat to the /wp-content/visitor-maps-geoip/ folder. The GeoLiteCity.dat file is the database for the location from IP feature. If the file is missing, the blog should still function. When the file is not installed, the location information for a user is skipped.

Why are all the location pins about 10 pixels too low on the visitor map?

Some themes interfere with the proper display of the location pins on the Visitor Maps page. Uncheck the setting "Enable hover labels for location pins on visitor map page."

Why are the location pins different colors on the visitor map?

Visitors have Red/yellow location pins. Search bots will have blue location pins. Registered users who are logged in will have green location pins.

Can you add charts and graphs of visitor activity like Google Analytics?

Probably not. Google analytics, webalizer, etc. are already good free web tracking statistics tools. I would still like to hear from you if you have an idea of how I can improve this. If your suggestion is useful and easy to code, I might add it. Contact Mike Challis

Does this work on WPMU or BuddyPress?

Yes, If you use WPMU or BuddyPress you can have multiple blogs with individual visitor maps on each one. On WPMU you would install it in plugins, not mu-plugins. Do not the plugin activate site wide, then each blog owner can have his own visitor map settings and dashboard view.

Is this plugin available in other languages?

Yes. To use a translated version, you need to obtain or make the language file for it. At this point it would be useful to read Installing WordPress in Your Language from the Codex. You will need an .mo file for this plugin that corresponds with the "WPLANG" setting in your wp-config.php file. Translations are listed below -- if a translation for your language is available, all you need to do is place it in the /wp-content/plugins/visitor-maps/languages directory of your WordPress installation. If one is not available, and you also speak good English, please consider doing a translation yourself (see the next question).

The following translations are included:


  • Belorussian (be_BY) - Marcis G
  • Brazilian Portuguese (pt_BR) - Miguel Netto
  • Bulgarian (bg_BG) - Nicolas Nicolov
  • Chinese (zh_CN) - Awu
  • Danish (da_DK) - GeorgWP
  • Dutch (nl_NL) - Ton Strijbosch
  • French (fr_FR) - Whiler
  • German (de_DE) - JZDM
  • Hebrew (he_IL) - Udi Burg
  • Hungarian (hu_HU) - varnyu
  • Indonesian (id_ID) - Masino Sinaga
  • Italian (it_IT) - Gianni Diurno
  • Japanese (ja) - Chestnut
  • Lithuanian (lt_LT) - Vincent G
  • Polish (pl_PL) - Krzysztof Adamski
  • Portuguese (pt_PT) - Jose
  • Romanian (ro_RO) - Anunturi Jibo
  • Russian (ru_RU) - Zhmenia
  • Spanish (es_ES) - Natalia Pujol
  • Turkish (tr_TR) - Cenkgursu
  • More are needed... Please help translate.

Can I provide a new translation?

Yes, please read How to translate Visitor Maps for WordPress

Can I update a translation?

Yes, please read How to update a translation of Visitor Maps for WordPress

Requires: 3.1.0 or higher
Compatible up to: 4.7.3
Last Updated: 2 months ago
Active Installs: 30,000+


4.7 out of 5 stars


1 of 4 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,2,2
100,3,3 100,2,2 100,1,1 100,1,1 100,4,4 100,1,1 100,1,1
100,7,7 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,6,6 100,1,1
100,2,2 100,1,1 100,2,2 89,9,8 100,4,4 83,12,10 100,1,1 100,1,1
89,9,8 100,6,6 78,9,7 83,6,5 80,5,4 100,1,1 100,1,1
80,10,8 67,3,2 50,4,2 100,1,1 100,1,1
100,3,3 100,3,3 86,7,6 100,11,11 80,5,4 100,2,2 89,19,17 100,1,1
100,3,3 100,2,2 100,5,5 100,2,2
100,8,8 100,3,3
100,3,3 0,1,0
100,6,6 88,8,7 100,6,6 75,12,9
67,9,6 100,1,1
100,1,1 75,8,6
100,1,1 67,3,2
93,14,13 93,15,14 100,4,4 100,1,1
100,1,1 60,5,3
100,3,3 94,16,15
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1