Toms Welt


Count per Day

3.534 Kommentare |
I am no longer the developer of the plugin.
Please contact

"Count per Day" ist ein Besucherzähler für WordPress.

Die Seitenaufrufe werden pro Artikel gespeichert. Dabei wird als "Reload-Sperre" nur ein Aufruf pro IP-Adresse und Tag berücksichtigt.

Beispiel: Wenn ein Leser 5 Artikel ansieht, sind alle "1 mal gelesen", aber der Gesamtzähler erkennt, dass es nur ein Besucher war.
Die Aufrufe können pro Artikel angezeigt werden. Im Admin-Bereich gibt es weitere Statistiken.


Count per Day 3.5.7

Contributors: Tom Braider
Tags: counter, count, posts, visits, reads, dashboard, widget, shortcode
Requires at least: 3.0
Tested up to: 4.8
Stable tag: 3.5.7
License: GPLv2
Donate link:

Visit Counter, shows reads and visitors per page, visitors today, yesterday, last week, last months and other statistics.


"Count per Day" counts 1 visit per IP per day. So any reload of the page do not increment the counter.

Languages, Translators


  1. unzip plugin directory into the /wp-content/plugins/ directory
  2. activate the plugin through the Plugins menu in WordPress

The activation will create or update a table wp_cpd_counter.

The Visitors-per-Day function use 7 days as default. So don't surprise about a wrong value in the first week.


See the Options Page and check the default values.

Frequently Asked Questions

Need Help? Find Bug?

read and write comments on


  1.">" title="1. Statistics on Count-per-Day Dashboard" />
    1. Statistics on Count-per-Day Dashboard
  2.">" title="2. Options" />
    2. Options
  3.">" title="3. Widget sample" />
    3. Widget sample

Arbitrary section


You can use these shortcodes in the content of your posts to show a number or list
or in your theme files while adding e.g. <?php echo do_shortcode("[THE_SHORTCODE]"); ?>.
To use the shortcodes within a text widget you have to add add_filter("widget_text", "do_shortcode"); to the functions.php of your theme.

[CPD_MOST_VISITED_POSTS limit="5" days="30" postsonly="1" posttypes="posts,pages"]
  • limit (optional): max records to show, default = all
  • days (optional), show last x days
  • postsonly (optional), 1 = don't show index pages
  • posttypes (optional), show this posttypes only, sets postsonly to 1
[CPD_POSTS_ON_DAY date="2010-10-06" limit="3"]
  • date (optional), format: year-month-day, default = today
  • limit (optional): max records to show, default = all
[CPD_MAP width="500" height="340" what="reads"]
  • width and height: size, default 500x340 px
  • what: map content - reads|visitors|online, default reads
[CPD_SEARCHES days="14" limit="20"]
  • days (optional), show last x days
  • limit (optional): show x most searched strings

You can place these functions in your template.
global $count_per_day;
if(method_exists($count_per_day,"show")) echo $count_per_day->getReadsAll(true);

to check if plugin is activated.

show( $before, $after, $show, $count, $page )'
  • $before = text before number e.g. <p> (default "")
  • $after = text after number e.g. reads</p> (default " reads")
  • $show = true/false, "echo" complete string or "return" number only (default true)
  • $count = true/false, false will not count the reads (default true)
  • $page (optional) PostID
  • only count reads, without any output
  • show call it
getFirstCount( $return )
  • shows date of first count
  • $return: 0 echo, 1 return output
getUserPerDay( $days, $return )
  • shows average number of visitors per day of the last $days days
  • default on dashboard (see it with mouse over number) = "Latest Counts - Days" in options
  • $return: 0 echo, 1 return output
getReadsAll( $return )
  • shows number of total reads
  • $return: 0 echo, 1 return output
getReadsToday( $return )
  • shows number of reads today
  • $return: 0 echo, 1 return output
getReadsYesterday( $return )
  • shows number of reads yesterday
  • $return: 0 echo, 1 return output
getReadsLastWeek( $return )
  • shows number of reads last week (7 days)
  • $return: 0 echo, 1 return output
getReadsThisMonth( $return )
  • shows number of reads current month
  • $return: 0 echo, 1 return output
getReadsPerMonth( $return )
  • lists number of reads per month
  • $return: 0 echo, 1 return output
getUserAll( $return )
  • shows number of total visitors
  • $return: 0 echo, 1 return output
getUserOnline( $frontend, $country, $return )
  • shows number of visitors just online
  • $frontend: 1 no link to map
  • $country: 0 number, 1 country list
  • $return: 0 echo, 1 return output
getUserToday( $return )
  • shows number of visitors today
  • $return: 0 echo, 1 return output
getUserYesterday( $return )
  • shows number of visitors yesterday
  • $return: 0 echo, 1 return output
getUserLastWeek( $return )
  • shows number of visitors last week (7 days)
  • $return: 0 echo, 1 return output
getUserThisMonth( $return )
  • shows number of visitors current month
  • $return: 0 echo, 1 return output
getUserPerMonth( $frontend, $return )
  • lists number of visitors per month
  • $frontend: 1 no links
  • $return: 0 echo, 1 return output
getUserPerPost( $limit, $frontend, $return )
  • lists $limit number of posts, -1: all, 0: get option from DB, x: number
  • $frontend: 1 no links
  • $return: 0 echo, 1 return output
getMostVisitedPosts( $days, $limits, $frontend, $postsonly, $return, $posttypes )
  • shows a list with the most visited posts in the last days
  • $days = days to calc (last days), 0: get option from DB
  • $limit = count of posts (last posts), 0: get option from DB
  • $frontend: 1 no links
  • $postsonly: 0 show, 1 don't show categories and taxonomies
  • $return: 0 echo, 1 return output
  • $posttypes: comma separated list of post types, default: empty to show all
getVisitedPostsOnDay( $date, $limit, $show_form, $show_notes, $frontend, $return )
  • shows visited pages at given day
  • $date day in MySQL date format yyyy-mm-dd, 0 today
  • $limit count of posts
  • $show_form show form for date selection, default on, in frontend set it to 0
  • $show_notes show button to add notes in form, default on, in frontend set it to 0
  • $frontend: 1 no links
  • $return: 0 echo, 1 return output
getClients( $return )
  • shows visits per client/browser in percent
  • $return: 0 echo, 1 return output
getReferers( $limit, $return, $days )
  • lists top $limit referrers of the last $days days, 0: get option from DB, x: number
  • $return: 0 echo, 1 return output
getMostVisitedPostIDs( $days, $limit, $cats, $return_array )
  • $days last x days, default = 365
  • $limit return max. x posts, default = 10
  • $cats IDs of categories to filter, array or number
  • $return_array true returns an array with Post-ID, title and count, false returns comma separated list of Post-IDs
function getMap( $what, $width, $height, $min )
  • gets a world map
  • $what visitors|reads|online
  • $width size in px
  • $height size in px
  • $min : 1 disable title, legend and zoombar
getDayWithMostReads( $return )
  • shows day with most Reads
  • $return: 0 echo, 1 return output
getDayWithMostVisitors( $return )
  • shows day with most Visitors
  • $return: 0 echo, 1 return output
  • With GeoIP you can associate your visitors to an country using the IP address.
  • On options page you can update you current visits. This take a while! The Script checks 100 IP addresses at once an reload itself until less then 100 addresses left. Click the update button to check the rest.
  • If the rest remains greater than 0 the IP address is not in GeoIP database (accuracy 99.5%).
  • You can update the GeoIP database from time to time to get new IP data. This necessitates write permissions to wp-content/count-per-day-geoip directory.
  • If the automatically update don't work download GeoIPv6.dat.gz, extract and rename it to GeoIP.dat and load it to the count-per-day-geoip directory.
  • More information about GeoIP on



  • Bugfix: security fixes in notes, options


  • Bugfix: check/block stored bad referrers


  • Bugfix: security fixes in export, referrer and mass bot functions


  • Bugfix: check for IPv6 compatibility on settings page


  • Bugfix: undefined function cpd_inet_pton (once again)


  • Bugfix: undefined function cpd_inet_pton


  • back in WordPress plugin repository
  • Bugfix: Worldmap shortcode


  • New: PHP 7 compatibility (mysqli)
  • New: GeoIP part is now available as addon (installation with 1 click, see the settings page), because WordPress hates non GPL code in its plugin repository (after several years...)
  • Bugfix: possible daylight saving time problem in chart (hopefully)
  • Bugfix: reset function now deletes also collections


  • Bugfix: Security fix backup download


  • New: limit the length of client and referer to reduce database size and eliminate MySql strict mode errors
  • New: exclude countries you not want to count
  • New: Flash free World map
  • New: Flag of Malawi
  • Bugfix: language support without WPLANG constant
  • Bugfix: get temp directory


  • New: List of most industrious Visitors
  • New: Export data as CSV file
  • New: count given post types only
  • New: Shortcode CPD_FLOTCHART to show the big chart
  • New: Popular Posts Widget, thanks to Maurits van der Schee
  • New: Part of IP adresses in Bot List, 192.168 will block all visitors from 192.168.x.x
  • New language: Chinese, thanks to Siyuan Tang
  • Bugfix: counting of cached pages
  • Bugfix: cleaning database, delete entries per IP in bot list
  • some little fixes


  • Bugfix: Plugin dir path fixed
  • Bugfix: CSS path fixed
  • Bugfix: search word now case insensitive
  • Bugfix: Translation of widget titles
  • New: world map of current visitors
  • New: check referer agains bot list
  • New: delete clients and referers of older entries


  • Bugfix: PHP without IPv6 support
  • New Language: Persian, thanks to Mahmoud Zooroofchi
  • Hint: use "update old counter data" to repair the unknown countries


  • Bugfix: inet_pton for windows php < 5.3
  • Bugfix: GeoIP support for online world map


  • Bugfix: GeoIP functionality


  • New: posts only parameters for [CPD_MOST_VISITED_POSTS]
  • New: don't count password protected posts without password
  • New: translate widget titles if possible
  • New: flags of Cambodia, Nigeria and Sudan
  • Bugfix: massbot post list has not show all post
  • Bugfix: security fix, XSS
  • Bugfix: problems while adding widgets
  • Bugfix: start session only in backend
  • Bugfix: empty database query


  • Bugfix: compatibility fix for WordPress 3.5


  • Bugfix: security fix, check user permissions



  • New: counter column in custom post lists
  • Bugfix: errors in search words
  • Bugfix: wrong counts in posts lists


  • Bugfix: massbot delete error
  • Bugfix: search words array sometimes corrupt
  • Bugfix: add collected data to reads per post, thanks to Suzakura Karin /
  • Language update: Japanese, thanks to Juno Hayami
  • Language update: Portuguese, thanks to Beto Ribeiro
  • Language update: Russian, thanks to Ilya Pshenichny
  • Language update: Bulgarian, thanks to joro


  • New: save search words
  • New shortcode: CPD_COUNTRIES_USERS
  • New: flags for Bahamas, Mongolia, Cameroon and Kazakhstan
  • Bugfix: can't move widgets
  • Bugfix: visitors per post list
  • Bugfix: "Clean Database" deleted collection too
  • Bugfix: browser summary Chrome/Safari fixed
  • Bugfix: get real remote IP address, not local server
  • Bugfix: security fixes
  • Change: create collection functions optimized
  • New language: Romanian, thanks to Alexander Ovsov
  • New language: Hindi, thanks to Love Chandel
  • New language: Finnish, thanks to Jani Alha
  • Language update: Ukrainain, thanks to Iflexion design


  • Bugfix: important fixes in map.php and download.php, thanks to


  • New: memory check before backup to avoid "out of memory" error
  • New: create temporary backup files for download only
  • New: delete backup files in wp-content on settings page
  • Bugfix: all posts shows 1 read in posts list
  • Bugfix: clean database shows 0 entries deleted


  • New: use now default WordPress database functions to be compatible to e.g. multi-db plugins
  • New: backup your counter data
  • New: collect entries of counter table per month and per post to reduce the database and speed up the statistics
  • New: functions and shortcodes [CPD_DAY_MOST_READS] [CPD_DAY_MOST_USERS] to shows days with most reads/visitors
  • New: option to cut referrer on "?" to not store query strings
  • New: parameter $postsonly for getMostVisitedPosts function to list single posts and pages only
  • New: flags for Moldavia and Nepal
  • New language: Norwegian, thanks to Stein Ivar Johnsen and Tore Johnny Bråtveit
  • New language: Azerbaijani, thanks to Bohdan Zograf
  • New language: Japanese, thanks to Juno Hayami
  • Bugfix: visitors per month list
  • Change: some function parameters
  • Change: little memory optimizing
  • Change: visitors currently online and notes will now managed per option, without seperate tables in database
  • Change: design updated
  • Change: old bar charts deleted
created by Readme Parser

RSS-Feed 3.534 Kommentare

Seiten: « 1 2 3 ... 126 127 128 129 130 131 132 ... 144 145 146 »
  1. Count-per-day is a very useful instrument and I use it frequently. But it seems that a great part of the visitors of our website are web crawlers which act automatically. Is there a software to unveil them?
    Thanks for answering!
    Reinhild v. Brunn

  2. Xaver Wack Xaver Wack sagt:

    wo kann man das PlugIn denn downloaden bzw. warum ist es aus dem offiziellen PlugIn-Store verschwunden?


  3. Heike Muster Heike Muster sagt:

    Hi Tom,

    ich habe gestern 3 Plugins aktualisiert eines darunter war Count per Day.
    Anfangs sah ich 3 grüne Häckchen allerdings flog ich dann aus meiner WordPress Seite hinaus und ich meine dort stand ich habe keine Rechte für irgendwas und musste mich neu einloggen.

    Dann musste ich feststellen , dass mein Count per Day verschwunden ist :/
    Ich finde es nicht mehr in der Plugin Liste und eine neue Installation ist nicht möglich da es laut WordPress vorhanden ist. Aber wo ist die Frage?!

    Bin mir sicher es ist nur ein kleiner Fehler aber ein großes Hindernis für mich denn ich kenne mich nicht ganz so gut mit WordPress aus.

    Darum hoffe ich mal auf deine Hlfe u1F646.svgz

    Es muss unbedingt wieder funktionieren denn es ist eines meiner liebsten Plugins & ich verzweifle gerade ein bisschen OHNE u1F631.svgz

    Liebe Grüße Heike

    • Tom Tom sagt:

      Hallo Heike,
      anscheinend wurde das Pluginverzeichnis gelöscht, aber die neue Version nicht wieder/komplett installiert.
      Kannst du das Verzeichnis 'wp-content/plugins/count-per-day' per FTP mal umbenennen oder löschen.
      Dann sollte WordPress realisieren, dass das Plugin weg ist und du kannst es neu installieren. Die Datenbank mit deinen Besucherdaten bliebe dabei intakt.

      • Heike Muster Heike Muster sagt:

        Hallo Tom,

        das war jetzt der ganze Spuck? Wahnsinn wie einfach es eigentlich geht. Ich habe via FTP die Datei umbenannt und dann neu installiert & zack geht es wieder.

        Es fehlen mir quasi nur die Tage die das Plugin nicht gegangen ist aber die alten Zahlen sind noch da.

        Ich bin happy und verwundert was für Kleinigkeiten graue Haare verursachen u1F603.svgz u1F603.svgz u1F603.svgz

        Besten Dank für die schnelle und effektive Hilfe ! Top Service! LG Heike

  4. Nico Nico sagt:

    Installation of upgrade failed.
    Now i get the following messages:
    Plugin Count per Day 3.4.1 wordt geïnstalleerd.

    Downloaden installatiepakket van…

    Uitpakken van pakket…

    De plugin installeren…

    Doelmap bestaat al. /customers/1/5/f/

    Plugin installatie mislukt

    What to do?
    Many thanks in advance

  5. James James sagt:

    Dear Tom,

    Our CPD plug-in stopped getting search strings from Sep 2014. At the begining we thought it might just be the truth that no one is searching our site, but after we done a lot of testing, it still not picking up any search strings that is passed from google.
    We have tried: reset the plugin, reinstall the plugin both from wordpress and manually. It still not picking up the keywords.
    It is functioning with counting number of visitors, visit per post etc.

    Our website is
    Our email is
    If you need we can provide you the login details so you can have a detailed check out from your end.

    • Tom Tom sagt:

      Try to delete old Searches. The words will be stored in a WordPress option. Maybe there are to many entries. Don't know.
      Maybe another script deletes/changes the referrer.
      Try the WordPress Blog search.
      - activate the debug mode
      - i found no search form, so add '/?s=cleaning' to the URL and hit Enter
      - open an post
      - now 'cleaning' should saved as search word
      - check the debug information at the bottom of the site for any error.

      • James James sagt:

        Thank you for your quick reply Tom.

        Here is my progress:

        1. I turned on the debug mode
        2. put in the brower
        3. and go back to dashboard of CPD, yes, "cleaning" is recorded as a keyword, and I also found maybe that was you? on 9th July, 3 keywords have been captured "test, Satisfaction, Cleaning"
        4. and here is the debug info from the bottom of a post:

        Thank you in advance Tom.

        • Tom Tom sagt:

          Yes, i tested some words ans you see it works.
          So maybe external search words are blocked by a router or load server. Do you see the Query string in the database (check with phpMyAdmin)?

          • James James sagt:

            Thank you Tom.

            I have called my hosting company and they said there is no block on my php database.

            and then I did some research, and I found out, google has slowly stopped passing search keywords to site owners since 2013, we can see that all google's websites are HTTPS now, so all keywords are blocked by google.

            There is nothing wrong with CPD, the problem is from the source: google itself. unfortunatly we can do nothing about google's rule changings.

            Thank you very much for your help Tom, and hopefully my research results are helpful to you in some ways.

            Best regards

  6. Paul Grenier Paul Grenier sagt:

    Is it possible to have the total visitor count appear on my home page?
    thank you

  7. Nancy Nancy sagt:


    Hello from Texas! I love your Count Per Day plugin and it keep looking for it in the WP repository, but it still isn't there.

    So what is the status of Count Per Day? Will it be back?

    Is that you kitty in the window? It is very beautiful! I love kittys!

    Thank you!

    • Tom Tom sagt:

      The Plugin was deactivated by WordPress because the GeoIP part is not GPL. So i have to delete the countries part to let activate it again.
      But i think "who cares the license" and will host the plugin here at my site. Unfortunately one have to download and update manually.

      And yes, it's our family cat.

      • Barbara Saul Barbara Saul sagt:

        Good to know why the plugin has been removed - thank you for that information.

        It is a huge shame as this was one I recommended to everyone but I won't be able to do that anymore if no longer listed in the WordPress repository.

        • Tom Tom sagt:

          The Plugin can be downloaded here. But there is no update messages or simple installation in backend.

          • Barbara Saul Barbara Saul sagt:

            Perhaps if we all donate you will be able to make time to add again - it is a great loss to WP, in my opinion. I love the simple introduction your plugin offers to people.

            • Tom Tom sagt:

              Thanks, but it's not a problem of money or time.
              The only problem of the plugin is the license of the GeoIP part, CC but not GPL. So i have to find a way to manage it.

  8. Christoph Christoph sagt:

    Hallo Tom,
    seit ein paar Updates funktioniert die Worldmap nicht mehr, kannst du da mal nachsehen?!


    Christoph u1F603.svgz

    • Tom Tom sagt:

      Alles Bestens. Seit 3.4 sogar ohne Flash.
      Öffne die Karte doch mal in einem neuen Tab/Fenster und aktualisiere dann mit STRG+F5. Vielleicht hast du noch die alten Dateien im Cache.
      OK, ich seh gerade, dass du die Karte auf der Seite hast. Per Shortcut eingebunden?

      teste mal die neue Version vom Download-Link oben. Ggf. musst du die Größe der Karte im Shortcut anpassen (oder ganz weg lassen) um die Legende unten zu sehen.

  9. Maurice Maurice sagt:

    Hallo Tom,

    Is there a possibility with count per day after a fresh wordpress install , theme and server, so that i take my statics with me into the new install. So i have still all my data with important posts and counts form Count per Day?

    Thanks a lot for your answer. The plugin is working very nice for us.

    Best regards,


    • Tom Tom sagt:

      Hello Maurice,
      i don't know how WordPress manages the PostIDs while import a Backup.
      CpD is using PostID only, no titles or permalinks. So you can make a backup in the old blog and restore it in the new one. Or just copy the CpD table after install the plugin. But i don't know all entries will "correctly connected".

  10. Anonymous sagt:

    Why is the plugin no longer in the "Wordpress plugin directory" ?

Seiten: « 1 2 3 ... 126 127 128 129 130 131 132 ... 144 145 146 »