Counterize plugin for WordPress

Counterize banner

Counterize plugin for WordPress

Introduction

Counterize is a counter and statistics plugin for WordPress that doesn’t use external libraries. Download Counterize!

Notice

There has been some reports that Counterize does not work well with WordPress 4.x currently. As we do not plan to update the plugin anytime soon, we advise to use another statistics plugin.

Features

  • Hourly, daily, weekly and monthly traffic stats
  • Popular pages and posts stats
  • IP addresses stats
  • Countries stats
  • Referrers stats
  • Accurate browsers stats (browser name and version)
  • Accurate operating system stats (operating system name, version and platform)
  • Keywords stats
  • Powerful history with filters let you find precisely what you’re looking for
  • Email reports
  • Integration in the WordPress toolbar
  • No flash, no external library needed
  • Extensible thanks to WordPress actions and filters
  • Dashboard widget for a quick overview of your blog statistics
  • Complete API to use the data of Counterize charts as you like
  • An administration interface using the new WordPress Settings API is available, as well as a dashboard with detailed informations and statistics
  • The users that are authorized to display the Counterize dashboard can be defined using WordPress capabilities
  • It can display statistics in your pages and posts (visit this webpage for a demo)

Version 3 of Counterize is doing its best to be compatible with the latest release of WordPress, but this is still a work-in-progress. Feel free to report any incompatibility! Also, please note that Counterize is only guaranteed to work correctly on the latest version of WordPress.

You are welcome to propose your translation for Counterize, please follow this guide. I am not a native English speaker, so your help for a better English translation would be appreciated as well.

Here is a very short demo of what Counterize can do:

[counterize type=”os” items=”3″ subitems=”5″ collapsible=”yes” header=”Top 3 operating systems”]

Counterize is a fork of Counterize II by Steffen Forkmann (http://www.navision-blog.de/counterize) who kindly gave us the permission to continue the development of his plugin. It has since evolved to a more complete and powerful plugin, and almost doesn’t share common code anymore.

Counterize API

After you have installed the Counterize plugin, you can see a lot of diagrams on the Counterize Dashboard page (Dashboard/Counterize).

Most likely you’d like to have a counter somewhere on your pages, showing the number of visitors or similar.
Here’s an overview of the functions which can be used anywhere in your WordPress blog:

Traffic functions

counterize_getamount()                 // Returns the total hits seen by Counterize.
counterize_getpagesamount()            // Returns the total pages/posts views.
counterize_gethitstoday()              // Returns the total hits registered today.
counterize_get_online_users()          // Returns the number of currently online users.
counterize_getlatest7days()            // Returns the total amount of hits from the last 7 days.
counterize_getuniqueamount()           // Returns the total unique IP's that's been seen.
counterize_getfromcurrentip()          // Returns the total hits from the IP that's visiting.
counterize_getuniquehitstoday()        // Returns the number of different IP's registered today.
counterize_gethitstodayfromcurrentip() // Returns the daily hits from the IP that's visiting.
counterize_current_post_hits()         // Get number of hits on current post/page.
counterize_return_first_hit()          // Returns the date of the first registered entry in the database.
$counterize_plugins['traffic']->counterize_get_hits()                     // Output an HTML table with statistics about hits.
$counterize_plugins['traffic']->counterize_feed_daily_stats()             // Get the daily stats data feed.
$counterize_plugins['traffic']->counterize_render_daily_stats()           // Render the daily stats data feed.
$counterize_plugins['traffic']->counterize_feed_monthly_stats()           // Get the monthly stats data feed.
$counterize_plugins['traffic']->counterize_render_monthly_stats()         // Render the monthly stats data feed.
$counterize_plugins['traffic']->counterize_feed_weekly_stats()            // Get the weekly stats data feed.
$counterize_plugins['traffic']->counterize_render_weekly_stats()          // Render the weekly stats data feed.
$counterize_plugins['traffic']->counterize_feed_week_progression_stats()  // Get the progression between the last current week stats data feed.
$counterize_plugins['traffic']->counterize_render_week_progression_stats()// Render the progression between the last current week stats data feed.
$counterize_plugins['traffic']->counterize_feed_hourly_stats()            // Get the hourly stats data feed.
$counterize_plugins['traffic']->counterize_render_hourly_stats()          // Render the hourly stats data feed.

Referrers functions

counterize_getuniquereferers()                                              // Returns the amount of unique referrers that have been recorded.
$counterize_plugins['referers']->counterize_feed_most_seen_referers()       // Gets the most seen referrers data feed.
$counterize_plugins['referers']->counterize_render_most_seen_referers()     // Renders the most seen referrers data feed.
$counterize_plugins['referers']->counterize_feed_most_seen_referers24hrs()  // Gets the most seen referrers data feed for the last 24 hours.
$counterize_plugins['referers']->counterize_render_most_seen_referers24hrs()// Renders the most seen referrers data feed for the last 24 hours.

Pages and Posts functions

counterize_getuniqueURL()                                                 // Returns the amount of unique URL's that have been shown.
$counterize_plugins['pages']->counterize_feed_most_requested_urls()       // Gets the most requested URLs data feed.
$counterize_plugins['pages']->counterize_render_most_requested_urls()     // Renders the most requested URLs data feed.
$counterize_plugins['pages']->counterize_feed_most_requested_urls24hrs()  // Gets the most requested URLs data feed for the last 24 hours.
$counterize_plugins['pages']->counterize_render_most_requested_urls24hrs()// Renders the most requested URLs data feed for the last 24 hours.
$counterize_plugins['pages']->counterize_feed_most_popular_posts()        // Gets the most popular posts/pages data feed.
$counterize_plugins['pages']->counterize_render_most_popular_posts()      // Renders the most popular posts/pages data feed.
$counterize_plugins['pages']->counterize_feed_most_popular_posts24hrs()   // Gets the most popular posts/pages data feed for the last 24 hours.
$counterize_plugins['pages']->counterize_render_most_popular_posts24hrs() // Renders the most popular posts/pages data feed for the last 24 hours.

IP addresses functions

$counterize_plugins['ip']->counterize_feed_most_active_ips()       // Gets the most active IP addresses data feed.
$counterize_plugins['ip']->counterize_render_most_active_ips()     // Renders the most active IP addresses data feed.
$counterize_plugins['ip']->counterize_feed_most_active_ips24hrs()  // Gets the most active IP addresses data feed of the last 24 hours.
$counterize_plugins['ip']->counterize_render_most_active_ips24hrs()// Renders the most active IP addresses data feed of the last 24 hours.

Keywords functions

$counterize_plugins['keywords']->counterize_feed_most_searched_keywords()       // Gets the most searched keywords data feed.
$counterize_plugins['keywords']->counterize_render_most_searched_keywords()     // Renders the most searched keywords data feed.
$counterize_plugins['keywords']->counterize_feed_most_searched_keywords24hrs()  // Gets the most searched keywords data feed for the last 24 hours.
$counterize_plugins['keywords']->counterize_render_most_searched_keywords24hrs()// Renders the most searched keywords data feed for the last 24 hours.

Countries functions

$counterize_plugins['keywords']->counterize_feed_most_visiting_countries()       // Gets the most visiting countries data feed.
$counterize_plugins['keywords']->counterize_render_most_visiting_countries()     // Renders the most visiting countries data feed.
$counterize_plugins['keywords']->counterize_feed_most_visiting_countries24hrs()  // Gets the most visiting countries data feed for the last 24 hours.
$counterize_plugins['keywords']->counterize_render_most_visiting_countries24hrs()// Renders the most visiting countries data feed for the last 24 hours.

Browsers functions

counterize_getuniquebrowsers()                                                         // Returns the amount of unique browser strings that have visited your blog.
$counterize_plugins['browsers']->counterize_feed_most_used_browsers_collapsible()      // Gets the most used browsers data feed with detailed version statistics for each item.
$counterize_plugins['browsers']->counterize_render_most_used_browsers_collapsible()    // Renders the most used browsers data feed with detailed version statistics for each item.
$counterize_plugins['browsers']->counterize_feed_most_used_browsers_without_version()  // Gets the most used browsers without version data feed.
$counterize_plugins['browsers']->counterize_render_most_used_browsers_without_version()// Renders the most used browsers without version data feed.
$counterize_plugins['browsers']->counterize_feed_most_used_browsers()                  // Gets the most used browsers data feed.
$counterize_plugins['browsers']->counterize_render_most_used_browsers()                // Renders the most used browsers data feed.

Operating systems functions

$counterize_plugins['os']->counterize_feed_most_used_os_collapsible()      // Gets the most used os data feed with detailed version statistics for each item.
$counterize_plugins['os']->counterize_render_most_used_os_collapsible()    // Renders the most used os data feed with detailed version statistics for each item.
$counterize_plugins['os']->counterize_feed_most_used_os_without_version()  // Gets the most used os without version data feed.
$counterize_plugins['os']->counterize_render_most_used_os_without_version()// Renders the most used os without version data feed.
$counterize_plugins['os']->counterize_feed_most_used_os()                  // Gets the most used os data feed.
$counterize_plugins['os']->counterize_render_most_used_os()                // Renders the most used os data feed.

Actions

  • counterize_show_data : Let plugins show their data into the “Counterize” sub-menu page.
  • counterize_after_includes : Happens right after Counterize included its files.
  • counterize_before_insert_into_database: Let plugins do something just before some data is inserted into the database.
  • counterize_after_insert_into_database : Let plugins do something just after some data is inserted into the database.
  • counterize_init : Let plugins add a hook into Counterize initialization procedure.
  • counterize_before_install : Let plugins do something just before installation.
  • counterize_after_install : Let plugins do something just after installation.

Filters

  • counterize_before_includes : Let plugins filter which files are included.
  • counterize_server_remote_addr : Let plugins filter the $_SERVER[‘REMOTE_ADDR’] value.
  • counterize_server_http_user_agent : Let plugins filter the $_SERVER[‘HTTP_USER_AGENT’] value.
  • counterize_server_request_uri : Let plugins filter the $_SERVER[‘REQUEST_URI’] value.
  • counterize_server_referer : Let plugins filter the $_SERVER[‘HTTP_REFERER’] value.
  • counterize_server_this_url : Let plugins filter the $this_url variable.
  • counterize_bot_array : Let plugins filter the bot array.
  • counterize_check_insert_into_database : Let plugins add their own conditions for determining if data should be inserted into the database.
  • counterize_check_data : let plugins add their own diagrams.
  • counterize_shortcodes : let plugins add their own shortcodes.
  • counterize_dashboard_add_submenu : let plugins add their own sub menu.
  • counterize_mce_js_before_form_filter : let plugins output something before the form of the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_before_fields_filter: let plugins output something before the fields of the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_type_filter : let plugins add more type items in the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_period_filter : let plugins add more period items the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_after_fields_filter : let plugins output something after the fields of the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_after_form_filter : let plugins output something after the form of the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_options_filter : let plugins add/modify attributes and their defaults for the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_radiobutton_filter : let plugins add/modify the list of attributes of type “radio button” for the Counterize modal dialog in the Visual editor.
  • counterize_mce_js_checkbox_filter : let plugins add/modify the list of attributes of type “checkbox” for the Counterize modal dialog in the Visual editor.
  • counterize_report : let plugins output some content in the email reports
  • counterize_report_what_filter : let plugins add some items in the list used to generate email reports

Shortcodes

You can insert a Counterize diagram using the Counterize button in your Visual editor. The most basic shortcode is:

[[counterize]]

This will display a short copyright notice.

All the attributes are optional. The following attributes and their values are currently available:

  • type: String. Valid values are:
    • copyright“: Shows a copyright notice (default value)
    • browsers“: Browsers diagrams
    • os“: Operating systems diagrams
    • countries“: Countries diagrams
    • ip“: IP addresses diagrams
    • hosts“: Host-names diagrams (only available if enabled in the settings)
    • outlinks“: Out-links diagrams
    • exitpages“: Exit pages diagrams
    • keywords“: Keywords diagrams
    • referers“: Referrers diagrams
    • domains“: Domains diagrams
    • hits“: Hits table
    • hourly“: Hourly stats diagrams
    • daily“: Daily stats diagrams
    • weekly“: Weekly stats diagrams
    • monthly“: Monthly stats diagrams
    • all“: All tables and diagrams
  • items: Positive and non-zero integer that represents the number of items to display in the diagram. Default value: 10
  • subitems: Positive and non-zero integer that represents the number of sub-items to display in the diagram. Only effective with collapsible diagrams. Default value: 15
  • version: String. Set to “yes” to display diagrams with version information, “no” otherwise. Only effective with Browsers and OS diagrams. Default value: “yes”
  • collapsible: String. Set to “yes” to display collapsible diagrams with each item containing child items, “no” otherwise. Only effective with Browsers and OS diagrams. Default value: “no”
  • print_header: String. Set to “yes” to display a header above the diagram, “no” otherwise. Default value: “yes”
  • header: String. Set to non-empty string to override the default header. Default value: empty string
  • period: String. Valid values are:
    • (empty string): No period limit (default value)
    • 24h“: Limit data to the latest 24 hours. Available for most diagrams except the Traffic ones
    • onlytoday“: Limit data to today only. Available for Traffic diagrams
    • onlythisweek“: Limit data to this week only. Available for Traffic diagrams
    • onlythismonth“: Limit data to this month only. Available for Traffic diagrams
    • onlythisyear“: Limit data to this year only. Available for Traffic diagrams
  • tn_width: Positive and non-zero integer. Width of the post thumbnail. Default value: 50
  • tn_height: Positive and non-zero integer. Height of the post thumbnail. Default value: 50

Development status

Legend: [status, priority] Description

  • [wip, medium] Make a Counterize widget
  • [10%, low] Add some sorting options (by label for example)
  • [ 0%, medium] Get rid of pre-3.0.0 installation scripts
  • [ 0%, medium] A new installation should have its own installation script (currently upgrading from 1.0.0 to 3.x.x…)
  • [ 0%, low] To be able to resize and move charts in the dashboard (but I consider it not urgent)
  • [ 0%, low] Using the HighCharts library as an alternative fancier display
  • [ 0%, medium] Making a standalone version of Counterize. That would allow to port it to other platforms (Drupal, Magento…).
  • [ 0%, high] Allow wildcard characters support in IP address exclusion list
  • [ 0%, high] Solve time zones problems as many reported it
  • [ 0%, high] Reduce the Counterize footprint on database [BIG JOB AS ALL QUERIES MUST BE RE-WRITTEN]
  • [ 0%, medium] Send daily, weekly or monthly reports by email
  • [ 0%, medium] Better IP exclusion list handling
  • [ 0%, low] Add more function to count unique visitors, in a similar way as hits
  • [ 0%, high] Move some Counterize functions into their respective plugins
  • [ 0%, medium] Add screen size statistics

See Counterize in action

You can see Counterize in action in the bottom of our website pages, and also on this demo page.

FAQ

Q: I know that I have incoming traffic but  Counterize stats stay at zero. Why?

A: There is probably a problem somewhere, so I will need you to do the following:

  •  Open your wp-config.php file
  • Ensure that WP_DEBUG is set to true. The line should be “define( ‘WP_DEBUG’, false );”
  • Add the following lines just after:
error_reporting( E_ALL | E_STRICT );
ini_set('display_errors', 1);
  • Reload your website in your browser
  • Tell me about any errors, warnings and notices you see, if any
  • If no errors are shown, then you probably do not have incoming traffic…

Q: Why aren’t the IP of my visitors logged?

A: You need to enable the option in the Counterize settings. It is disabled by default. 

Q: How to translate Counterize in my language?

A: Please follow these instructions

Q: Can I extend Counterize?

A: Yes. Counterize is now modularizable and you can add your own Counterize plugin. Counterize also provides several action and filter hooks.

Q: Can Counterize replace Google Analytics?

A: Not yet. But it’s a good addition/alternative. 

Q: What are the minimum requirements to run Counterize?

A: The same requirements than the current stable version of WordPress, so for example PHP 5 is required, but as with each supplementary plugin, it will use more RAM, so take this into account.
Counterize is also known to take a lot of database space in its current version, especially if your website is very visited.

Q: I see an error message like “The script whose uid is 12345 is not allowed to access /var/tmp/” or “Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent“, HELP!

A: Try adding the following 3 lines just after the PHP start tag of your wp-config.php:

if( ! isset( $_SESSION ) )
{
	session_start();
}

Also, make sure the session.save_path in your php.ini is set and point to a valid path. Please read this article for more details about this issue.

Q: Do you provide support for Counterize?

A: Sometimes, I can provide BASIC support for free. It mostly depends on my free time, because Counterize is developed on my free time too.
Nobody likes to work for peanuts, so do not expect professional level support for free.
If you need a better support or something is urgent, please contact me to discuss of a price. 

Get Counterize

Download Counterize!

462 Responses

  1. Hina Naqvi says:

    I experience the same problem. It shows “There’s no data in the database – You can’t see stats until you have data.”. Can you explain it in a bit detail please?

  2. Orwell says:

    Hello.

    Your plugin works great, but ist makes the database fat. How to clear the DB without lose the general stats? I dont neet 200.000 rows in DB.
    And, the count of unique IPs daly and “a week” dont add correctly. If i had 100 unique a day, it cant be in the weekly count (last 7 days) i see 500, or the overall uniques are 200-300 lower then the daily uniques.

    Cheers,
    Orwell

  3. Michael Carroll says:

    I just deactivated and then reactivated Counterize and all my stats have been wiped out, what happened?

  4. Denise says:

    I have had Counterize installed for months and it was working great. Now, it is not working at all and has the same issues with showing no data. I tried deactivating and reactivating, but it did not fix the problem. Any suggestions?

  5. Frans Koster says:

    Is there already a solution for this problem? (I love Counterize, but this is a little annoying…)

  6. Claus says:

    Users on excluded list counts towards hits. Currently there are 11.
    Excluded users saved. Current number of excluded users: 11

  7. yudika says:

    Great plugin with poor support….

  8. @Yudika:

    I am currently on a business trip until sept 6th. I will address each comment as soon as possible. This plugin is developed on my spare time and I will not have any spare time till I return. About the poor support, as far as I am concerned, this is a free product, and its support cannot compete with a commercial product support, unless you are willing to pay for it.

    Regards.

    @All:
    Thank you for your patience. I will address your issues ASAP.

  9. luchosar says:

    Hello GABRIEL.
    It’s amazing plugin, I like showing the sections, categories, or most viewed, this is very useful.
    I have two questions:
    1 – I live in Colombia, the time zone in the configure WordPress after installing the plugin last night at 9:00 pm and the counter was at zero, I do not understand what time it starts the counter …. I woke up at 5:00 am I was 11 and it is not normal visits …
    2 – How to configure IP to see what my visitors?
    Thanks … great job!

  10. Hello everyone,
    I will now try to address each of your issues.

  11. @Hina Naqvi: Are you using the MU version of WordPress? As I’ve heard that Counterize does not work with this flavor of WordPress.

  12. @Orwell: You can’t clean the database without loosing some data. If you don’t mind do loose some old data, you could set to empty strings each string field older than {insert your definition of too old data}. You could also delete every records older than a certain date.

    In a next release of Counterize, I may propose an option to purge the old records.

  13. @Michael Carroll: What do you mean by “deactivated”? If you uninstalled the plugin, then yes it should have wiped out everything. If you only used the “Deactivate” action, then it shouldn’t have, and it never happened to me.

  14. @Denise: Which version of Counterize are you using? Also, which version of WordPress? Did you uninstalled the plugin?

    I really would like to fix the “no data” problem if there’s any but I miss some informations…

  15. @Frans Koster: I guess that you speak about the “no data” problem. Then there’s no solution yet as I never encountered the issue and do no know how to reproduce it…

  16. @Claus: I’m not sure to understand your problem. Are you saying that users in the exclude list are not ignored?

  17. @luchosar:
    1 – Counterize starts counting visits as soon as it is installed. It should only count visits from real persons and ignore bots, so that’s probably why you notice that it counts less visits than other counters.

    2 – I am sorry that I do not understand this question… If you want to know how to record your visitors’ IP addresses, then you can go to tick the related option in the Settings section of Counterize.

  18. @all: Thank you for your patience and do not hesitate to reply!

  19. luchosar says:

    One question:
    in wordpres.org you have version 3.0.33 and its web version 3.2 … which is correct?

    • Salma Noreen says:

      Ofcourse updated versions have more features. so version 3.0.33 is better than 3.2

      before I also had old one but now I updated my 7sk.org and installation of new version is also easy 🙂

  20. luchosar says:

    Now check the Ip … you are right

  21. luchosar says:

    It is fair to advertise a wonderful job: http://ayudawordpress.com/foro/topic/lo-mejor-que-he-visto-para-estadisticas-plugin
    NOTE: google translator, forgiving

  22. @luchosar:
    Thank you! 🙂

    By the way, 3.0.33 = Counterize version, 3.2 = WordPress version

  23. luchosar says:

    De nuevo reciba mis respetos por este trabajo ” asombroso”…desde colombia una abrazo!!!

    —————
    Again accept my compliments for this work “amazing” … a hug from Colombia!.)

  24. Daniel says:

    Hi. I have little problem with counterize database tables. I had my wordpress site with counterize II installed, on my localhost for testing and developing pourposes. And when i decidet to move my site to the ftp server i deleted counterize II and database tables (i wanted to delete all local data and I didn’t know that there are better ways to do it). Since then, when I install counterize (the new one or the old, “II”, one) plugin, the counterize database tables are not showing up in database automatically, like when i installed plugin first time. Could You Gabriel (or anybody else) give me some tips how to solve this problem? Or, at least, could you give me a list of counterize database tables so i could add them manually by phpmyadmin?

  25. Hi Daniel,

    The tables should be added upon plugin activation. Do you see any error, warning or notice? It may help to edit your wp-config.php file:

    – set WP_DEBUG to true
    – Add these two lines:
    error_reporting( E_ALL | E_STRICT );
    ini_set(‘display_errors’, 1);

    Hopefully some error message will be displayed to guide you through the resolution of this problem 🙂

  26. Daniel says:

    I know that the tables shoud be added automatically so I’m a little confused that they don’t show up at all. When i edited wp-config, as you suggested, the only error/message connected with counterize, that i could see, was:
    WordPress database error: [Table ‘/database name/.wp_counterize’ doesn’t exist]
    SELECT COUNT( 1 ) FROM `wp_Counterize`
    I also had plent of other errors but i don’t think they are related to conunterize. (It was litte scary when they show up and totally broke up my dashboard, heh.) Anyway, i still don’t know why counterize don’t create database tables by itself:(
    P.S. thaks for fast response

    • It means that the tables were not created in the database. I do not know why, though.

      I’m thinking that the installation and update process should really be two different things. I have to change the way Counterize II was installing itself.

  27. luchosar says:

    Hi Gabriel. Something catches my attention:
    are 7 pm in Colombia and the counter on all pages where I have it installed is set to “zero” 0 … this is supposed to happen when the day is finished at 12: pm I’m right?

  28. @luchosar: It seems that the queries use the UTC time, not the local time. I will look into this for a next version of Counterize.

  29. Luc says:

    Gabriel, I just installed the plugin yesterday. For the results, the number of pages views is higher comparing to google analytics. Looking to the history, it seems that any given IP, the same page viewed is recorded twice (sometimes more) within the same minute. How to resolve this ? Thanks for your answer, Luc

  30. Hi Luc,
    I don’t know if it comes from Counterize as I cannot observe this behavior. Are you sure that the view count are real duplicate and not genuine visits? (user who refresh the page, etc…). It could also come from a spam bot, in this case look at the history to check if you can elaborate a filter for this bot.

  31. Luc says:

    Hi Gabriel,
    I checked the ip that generate duplicates , they come from either Microsoft ISP( I guess Msn) and Amazon (Alexa?), so I add these to the IP exclusion list in the configuration. I just flushed the db, and will check wether others IP has the same behaviour and coming from the big guys. Regards

  32. Rene says:

    Gabriel,
    i have some suggestions for your datamodel. At this moment you have just one real-time table for the entries. It would be much better to create an extra table for the daily totals when calculated, and one for monthly totals. In this way you are able to purge the real-time table without loosing daily and monthly totals. This is what i truly miss in your plugin. I just started using it and are afraid my database will fill up and when i start manually purging it, it will loose the daily and monthly totals.
    One other thing, i have version 2 now and suddenly it does not list my page names but instead the post numbers, so not like version 1. This is making it much less nice. Please restore the names instead of the numbers or make it a setting to choose.
    Regards

    • Hi rene,
      Thank you for your suggestions.
      You are right about the datamodel, it needs to be redesigned completely. However this would need quite a lot of time to implement. It will probably be done in a future release of Counterize, but first I have to finish the next release with modularization.

      All the best!

  33. gatomalo says:

    Most active IP addresses ‪(0)‬ – everything works great but I cannot get the Most active IP addresses ‪(0)‬- report can you help?????
    I am not a developer just an end user, but I can try anything you want me to

    uscyberlabs.com/blog

  34. golden says:

    On win8, history can not display and browser(ie10) be out.
    Sorry, My English is very very weak!!

  35. Kim says:

    Hello. I really like your plugin. I’m curious if I can send weekly rapports to my collegues automatically?

  36. Phil clarkson says:

    my unique visitors shows 185 but page views only 102, why is this?
    how does the hourly 490,and half hourly 555 figures relate?
    Many thanks

  37. Mike says:

    Is there a way to manually go into the script to have the reset time changed from UTC to whatever my time zone is? It’s VERY frustrating seeing my stats reset at 9:00pm. I’d love for this to be resolved as Counterize is one of the only stat plugins I’d prefer to use.

    Thanks,

    Mike

    • Hi Mike,

      Yes, feel free to modify the source code of the plugin as you like 😉
      If you find how to solve this, let me know what part of the code you changed so that I can integrate it in a next release.
      A patch will be more than welcome 😉

      All the best,

      • Mike says:

        No, see that’s what I’m asking…can you do it? It would be 1000x easier for you to go in figure out where to do the change and let us know. You can also include it on the next update but for now could you do this for us?

  38. Steve R says:

    This is probably a stupid question, but does counterize record all the times I view my own page? How can I stop this if it does?

    Thanks for the plug in, it looks really good so far

  39. G P says:

    Love your program. I really use the “History” feature that timestamps logins and activity. Sometimes one participant will have many timestamps within a short period, e.g., 5 minutes. Is there any way to record only one entry in such a case? Maybe log a URL every 5 or 10 minutes rather than each one that might be 10 seconds apart.

  40. BartC says:

    Hi Gabriel,

    Love the Counterize plugin but there are many bits that I don’t get. For example:
    Hit Counter:

    So I am looking early in the day at the hit counter in the TODAY column and I see several things that do not appear to make sense.
    It tells me that I had 263 unique visitors so far today, but it tells me that for unique visitors (1h interval) I had 344. Now if the 1hr interval means the best hour so far today (see my other question below,) how can the total visitors in one hr be more than the total for the day so far.

    Also the same problem is seen in the 30 min interval. It tells me I had 365 so far today, but again how can any 30 interval be more than the total for the day.

    This problem ripples across all the views: Today, Last 24hr, Last 7 days, etc.

    So this brings up a second question. Is there a support document that tells me what your various terms mean. For example: 1 hr interval: is that the best hour, or is it an average hour, or even a mean hour? Or how about unique visitors. Is it unique IP address? Or is it something else. And, does it count search bots such as the google bot. Just what is your definition of unique visitor. Or for that matter any other term you use.

    Also, is there a way to limit the size of the database that gets built? And, if one can limit the db size is there a way to archive the db off the server so one can build a long term history without taking up server space.

    Thanks for the great work on the plug in.
    bc

    • Hi BartC,

      The stats in Counterize are not perfect and the queries needs more work. It seems that there are issues concerning time zones. I invite anyone who has some SQL/PHP knowledge to have a look at the code and to propose a patch.

      The English translations could use the help of native English speakers as well, as I am not a native English speaker.

      I am currently rather busy since August and have little spare time to work on that, and my current priority is to finish the next release of Counterize.

      Many things need to be reworked in Counterize, including its architecture. The challenge being that some people who installed it on high traffic websites have million of records in their database, and that they will not accept to loose their stats in a major update.

      Concerning your question: If you mousehover the headers in the Hit Counter table, a quick description of the signification of the header should appear.

      • BartC says:

        Gabriel,

        Wish I could help you out with the PHP coding, but I am a real beginner. I think the issue of the data base loss with an update is very important. Also, for those of us with small server space, do think about some way to archive the DB off the server.

        If you care to, shoot me some text files and I will proof them for proper English usage. Glad to help out.

        And, thanks for the tip on the balloon pops with the mouse hover. Helps a lot.
        I’ll see if I can make sense of it.

        Good luck with your heavy schedule!

        bc

        • Hi BartC,

          I will have more free time soon 🙂

          Thank you for your help, when the new version of Counterize will be out, I’ll give you the .po files so that you can correct the english sentences 😉

  41. David says:

    If I add an IP address to the exclude list, such as 192.168.2.1, then save changes, it saves fine, and I see the IP in the exclude list – “192.168.1.1,127.0.0.1,192.168.2.1”. However, if I add my personal IP address,  ‪67.x.x.x (I put my actual IP in, not x’s), when I click save changes, the address goes away and all I see in the exclude list are the defaults – “192.168.1.1,127.0.0.1”. Am I doing something wrong?

    • Hi David,

      The current IP validation system is not very permissive, it expects each IP address to be separated by a single comma and to match this regular expression:

      /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/

      Currently if an IP address is added on a new line, it will be seen as a block with the previous IP, and will be deleted.

      I will fix it in a next version of Counterize 😉

  42. Lee says:

    Gabriel, Does this code display a counter at the bottom of the page? I am using word press and it is installed, i see the Counterize setup section, just no counter on my page? Thanks by the way for sharing your work, very impressive.

    • Hi Lee,

      You have to modify your theme if you want to display a counter at the bottom of the page.

      For example on the bottom of each GabSoftware.com page, I added a counter. I simply had to edit my footer.php file and to add the following:

      <span class="counter">Visitors since 2011-04-28: <?php echo counterize_getuniqueamount( 0, 3600 ); ?></span>

  43. william says:

    Hi there, I’m having hard time to understand where should I paste the code to make the plugin working. Can you give me a little example?

    P.S. I don’t want to show to users any kind of numbers i just want to se the stats my self.

    There is a place a can put the code such as the footer at once and see it working?

    thank you
    Will

    • You can use the Counterize functions anywhere in your theme. You just have to edit any PHP file of your current theme and to add a Counterize function to it.

      Example:

      In my footer.php file, I added the following line:

      <span class="counter">Visitors since 2011-04-28: <?php echo counterize_getuniqueamount( 0, 3600 ); ?></span>

      Hope this helps 🙂

  44. nitin says:

    will it show yesterday results of an website……..

  45. Salma Noreen says:

    I have just installed this plugin and refresh my web’s page to check states but I haven’t found any data.

    any suggestion for configuration would be highly appreciated.

    my site is http://7sk.org/

  46. ashok says:

    have Installed counterize II on my wp site

    it does not show countries

    do i need to change any code

  47. Zorn says:

    my counter dont work two days

  48. Subhash says:

    Please can you explain the difference between “most requested posts/pages” and “most requested URLs” and what data “counterize_current_post_hits()” shows?

    • Hi Subhash,
      “Most requested posts/pages” counts only URLs to valid posts and pages, while “Most requested URLs” counts all the requests handled by WordPress (that includes searches and Error 404 pages for example).

      “counterize_current_post_hits()” is meant to show the number of hits for the post currently displayed.

      In the next release, someone will help me with the English translation, I know it is a little confusing in the current version and am sorry for that.

      • Subhash says:

        Oh, I’m speaking German and tried to translate the German lables to English. 🙂

        What I do not understand is why “Beliebteste Artikel/Seiten (8)” (most requested posts/pages) show an other (smaller) number as “counterize_current_post_hits()” for the same post.

        • Interesting, I should check why it is different.

          • Subhash says:

            The post in question is called by differnt links. One has a query-string, an other not and the third again a query string but a differnt one. Maybe that’s the problem? I would prefer to get a number that summarizes all this with counterize_current_post_hits().

          • Subhash says:

            I rewrote the function counterize_current_post_hits() and now it works. I’m not familiar with the WordPress functions and so this is kind of Voodoo. But it works for me:

            function counterize_current_post_hits() {
            # only single posts and pages
            if(is_single() || is_page()) {
            global $wp_query, $wpdb;
            $thePostID = $wp_query->post->ID;
            $sql = “SELECT `count` ” . ” FROM `” . counterize_pageTable() . “` ” . ” WHERE `postID` = ” . $thePostID;
            $result = @mysql_query($sql);
            if (!result) {
            return false;
            exit();
            }
            $count_all = 0;
            while ($row = mysql_fetch_array($result)) {
            $count_all += $row[‘count’];
            }
            return $count_all;
            }
            return false;
            }

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.