Dieses Plugin ist nicht mit den jüngsten 3 Hauptversionen von WordPress getestet worden. Es wird möglicherweise nicht mehr gewartet oder unterstützt und kann Kompatibilitätsprobleme haben, wenn es mit neueren Versionen von WordPress verwendet wird.

Count per Day


  • count reads and visitors
  • shows reads per page
  • shows visitors today, yesterday, last week, last months and other statistics on dashboard
  • shows country of your visitors
  • you can show these statistics on frontend per widget or shortcodes too

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

Languages, Translators

  • nearly up to date translations:
  • Bulgarian – joro – http://www.joro711.com
  • Chinese – Siyuan Tang – http://mopbear.com
  • Finnish – Jani Alha – http://www.wysiwyg.fi
  • German – Tom – http://www.tomsdimension.de
  • Japanese – Juno Hayami – http://juno.main.jp/blog
  • Persian – Mahmoud Zooroofchi – http://www.zooroofchi.ir
  • Portuguese – Beto Ribeiro – http://www.sevenarts.com.br
  • Russian – Ilya Pshenichny – http://iluhis.com
  • Serbian – Diana – http://wpdiscounts.com

  • older, incomplete translations:

  • Azerbaijani – Bohdan Zograf – http://wwww.webhostingrating.com
  • Belarusian – Alexander Alexandrov – http://www.designcontest.com
  • Dansk – Jonas Thomsen – http://jonasthomsen.com
  • Dutch NL – Rene – http://wpwebshop.com
  • Espanol – Juan Carlos del Río –
  • France – Bjork – http://www.habbzone.fr
  • Greek – Essetai_Imar – http://www.elliniki-grothia.com
  • Hindi – Love Chandel – http://outshinesolutions.com
  • Italian – Gianni Diurno – http://gidibao.net
  • Lithuanian – Nata Strazda – http://www.webhostinghub.com
  • Norwegian – Stein Ivar Johnsen – http://iDyrøy.no
  • Polish – LeXuS – http://intrakardial.de
  • Romanian – Alexander Ovsov – http://webhostinggeeks.com
  • Swedish – Magnus Suther – http://www.magnussuther.se
  • Turkish – Emrullah Tahir Ekmekçi – http://emrullahekmekci.com.tr
  • Ukrainian – Iflexion design – http://iflexion.com

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 500×340 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.
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 https://www.maxmind.com


  • Statistics on Count-per-Day Dashboard
  • Options
  • Widget sample


  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.


Need Help? Find Bug?

read and write comments on http://www.tomsdimension.de/wp-plugins/count-per-day

Why does my Google Analytics account show that I have had more visitors?

Google analytics will show the number of visits your website receives on a daily basis; however it can show numerous visits for the same customer. Counts per day will not show duplicate visits from a customer.


9. März 2018
One of the best plugin I came across for counting visits. Simple and elegant.
21. Januar 2017
Very good plugin, but in 4.7.1 wordpress a blank page appear when installing the geoip plugin, otherwise that's outstanding.
Lies alle 29 Rezensionen

Mitwirkende & Entwickler

„Count per Day“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Übersetze „Count per Day“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.



  • Update new Author Name in core file.
  • update Author Website in core file.


  • Bugfix: counter-core


  • Buffix: Counters


  • 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 http://www.leaseweblabs.com/2014/01/popular-posts-count-per-day-wordpress-plugin
  • 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


  • Bugfix: security fix, XSS in search words, thanks to http://www.n0lab.com/?p=163


  • 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 http://yumeneko.pmfan.jp / http://is.gd/VWNyLq
  • 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 http://6scan.com


  • 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