Simple Feed Stats


Simple Feed Stats (SFS) tracks your feeds automatically using a variety of methods, and provides a wealth of tools and options for further configuration and management. Also displays your subscriber count via template tag or shortcode. Fully configurable. Visit the “Simple Feed Stats” settings page for stats, tools, and more info.

Check out a feed-count demo in the sidebar @

Fast & Free

  • Stop paying 3rd-party fees, track your own stats for free!
  • Built with the WP API for optimal performance & security
  • Fully compatible with WordPress Multisite
  • Regularly updated and “future proof”

Core Features

  • Daily & Total – collect daily stats and total stats for each feed
  • Beautiful Stats – view all your feed stats via the plugin settings
  • Dashboard Widget – get a quick overview of your feed statistics
  • Custom Feed Count – display any number for your feed count
  • Custom Content – embellish your feed with graphics and markup
  • Custom CSS – use your own styles to customize your feed stats

More Features

  • Shortcodes & Template Tags to display your feed count anywhere
  • Display your daily feed counts for post feeds and comments feeds
  • Options to clear cache, reset stats, and restore default settings
  • Automatically track custom feeds generated via the WordPress API
  • Enable “Strict Mode” reporting for more accurate feed counts
  • Track feeds using custom key/value tracking parameters
  • Works with or without Gutenberg Block Editor

Tracking Methods

Simple Feed Stats provides four ways to track your feeds:

  • Default Tracking – tracks feeds directly via URI request
  • Custom Tracking – tracks feeds via embedded post image
  • Alternate Tracking – tracks feeds via embedded feed image
  • Open Tracking – tracks feeds via your own custom image

Collected Data

Simple Feed Stats tracks the following data for each feed request:

  • Feed type
  • Tracking type
  • Requested URL
  • User-agent
  • IP address
  • Referrer
  • Date
  • ID

You can view these data at any time by visiting the plugin settings. All feed data are displayed via beautiful, easy-to-use interface. View screenshots »


This plugin records the user agent, referrer, and IP address for each feed request. IP collection may be disabled via the plugin settings. All collected data may be deleted at any time via the plugin settings. This plugin does not set any cookies, and it does not connect to any third-party locations.

Support development of this plugin

I develop and maintain this free plugin wit love for the WordPress community. To show support, you can make a donation or purchase one of my books:

And/or purchase one of my premium WordPress plugins:

Links, tweets and likes also appreciated. Thanks! 🙂


  • Simple Feed Stats: Plugin options
  • Simple Feed Stats: Feed Count Table
  • Simple Feed Stats: Feed Stats Table
  • Simple Feed Stats: FeedBurner-style count badge
  • Simple Feed Stats: Dashboard Widget
  • Simple Feed Stats: Full plugin settings page (panels toggle open/closed)



  1. Upload the plugin to your blog and activate
  2. Visit the settings page to configure your options

More info on installing WP plugins


Everything is configured to work out of the box. Once the plugin is activated on your site, it will begin tracking how many times your feed is accessed each day. You can visit the SFS settings to customize tracking method, custom count, shortcodes and more.

To display your daily feed count or total feed count, you can use the various shortcodes and template tags. More information about the shortcodes and template tags can be found in the SFS settings and also further down on this page.


To verify that the plugin is working properly, do the following:

  1. Visit the “Your Feed Information” panel in the plugin’s settings
  2. Click on each of “Your feed URLs” a few times to collect some data
  3. In the “Tools and Options” panel, click “clear cache”

After performing these steps, your “Current Feed Stats” and “Total Feed Stats” will display some numbers, based on the feed links that you clicked in step 2. This shows that the plugin is working normally using its default settings. Similar testing may be done for other feed-tracking methods and options.

Note that not all tracking methods (or browsers/devices) work for all types of feeds; for example, the “Alt Tracking” method is required to record hits for RDF feeds. If in doubt, roll with the default options — they are tuned for robust, everyday feed tracking.


Display daily count for all feeds in plain-text:


Display daily count for all feeds with a FeedBurner-style badge:


Display daily count for all feeds with a simple (linked) badge:

[sfs_count_simple link=""]

Display daily count for RSS2 feeds in plain-text:


Display daily count for comment feeds in plain-text:


See the plugin settings page for more options and infos.

Template Tags

Display daily count for all feeds in plain-text:

<?php if (function_exists('sfs_display_subscriber_count')) sfs_display_subscriber_count(); ?>

Display daily count for all feeds with a FeedBurner-style badge:

<?php if (function_exists('sfs_display_count_badge')) sfs_display_count_badge(); ?>

Display daily count for all feeds with a simple (linked) badge:

<?php if (function_exists('sfs_display_count_simple')) sfs_display_count_simple(); ?>
<?php if (function_exists('sfs_display_count_simple')) sfs_display_count_simple(array('link' => '')); ?>

Display total count for all feeds as plain-text:

<?php if (function_exists('sfs_display_total_count')) sfs_display_total_count(); ?>

See the plugin settings page for more options and infos.


To update your feed stats at any time (without waiting for the automatic 12-hour interval), click the “clear cache” link in the “Tools and Options” settings panel.

Also, this plugin uses WP Cron functionality to store feed data. Unfortunately, not all hosts/servers support WP Cron (e.g., Media Temple dv servers). If this is the case with your server, the total number of subscribers will not change from day to day. Fortunately there are a few possible solutions:

  • Click the “Clear cache” button (located in the plugin settings) once or twice per day
  • Add define('ALTERNATE_WP_CRON', true); to your WordPress configuration file, wp-config.php
  • Use a free cron service to request manually once or twice per day (change the domain portion of the URL to match your own).

Any of these methods are suitable workarounds if WP Cron does not run automatically.

Like the plugin?

If you like Simple Feed Stats, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


To upgrade SFS, remove the old version and replace with the new version. Or just click “Update” from the Plugins screen and let WordPress do it for you automatically.

Note: uninstalling the plugin from the WP Plugins screen results in the removal of all settings and feed stats from the WP database.

Restore Default Options

To restore default plugin options, either uninstall/reinstall the plugin, or visit the plugin settings > “Restore default settings”.


Simple Feed Stats cleans up after itself. All plugin options, transients, feed stats, and cron jobs will be removed from your database when the plugin is uninstalled via the Plugins screen. To delete the feed-stats table without uninstalling the plugin, visit the plugin settings > “Delete database table”. Likewise, to reset your feed stats without deleting the table, visit the plugin settings > “Reset feed stats”.


How can link the Feedburner badge to my RSS feed?

By default, the Feedburner count badge is not linked to any URL. So to wrap the badge in a link, you can do this for the shortcode:

<a href="">[sfs_count_badge]</a>

Or do this for the template tag:

<a href=""><?php sfs_display_total_count(); ?></a> 

You can change the URL to match the URL of your feed, or anything else. Also check out the other count badge shortcodes and template tags.

How can I monitor a custom feed?

If you use WordPress API for the custom feed template, and include the usual template tags for feeds, the SFS plugin will automatically track the custom feed.

Hits are recorded, but feed counts are not updating?

Could be several things involved here..

First, as explained in the documentation, feed statistics are updated every 12 hours. So you may see new hits recorded without any change to the displayed feed count. At any time you can click the “Clear cache” link to clear the plugin cache and display the current counts.

Another thing to check, is the plugin setting “Enable custom count” enabled? If so, only the specified number will be displayed. So disable/uncheck the option to display current stats.

Also check if any cache plugins are in use on your site. If your feeds are cached it may affect the stats results.

Lastly, verify that your site’s Cron functionality is working properly. SFS relies on WP Cron functionality to handle the updating of feed counts. Unfortunately, WP Cron does not always work on all servers/hosting environments. Please check out the “Notes” section on the plugin’s Installation page for a list of solutions and more information.

The plugin settings page is getting slow to load?

Simple Feed Stats logs requests in the database. So after awhile, the number of logged items can add up. To keep database size down, and resolve slow loading settings page, you can click the “Reset stats” link anytime. Doing so will remove all logged items from the database.

Tip: after clearing the database, your feed stats will show zero “0” until the plugin logs more feed requests. So instead of displaying “0” or other low numbers, you can enable the following settings:

  • Custom count
  • Enable custom count

Just remember to disable the Custom count setting after a day or so, after the plugin has logged more feed requests.

What’s up with “strict mode” reporting?

It has to do with how SFS reports your feed stats. For example, in normal reporting mode (strict mode = off), each feed request is reported as unique. With strict mode enabled, feed requests are filtered by IP address, so that if “Pat” requests your comments feed five times per day, it’s counted as “1” subscriber rather than “5”.

So strict mode is more accurate, but feed counts are usually lower with strict mode enabled. Note also that SFS still records all requests, so if you’re reporting in strict mode the individual request data is still recorded and available in the Feed Stats table. In other words, strict mode determines how recorded data is reported, not collected.

How can I use the the custom key/value parameters?

If you don’t already know, you probably don’t need it. Basically it’s a requested feature that enables the inclusion of a custom URL parameter (key/value) in either “custom” or “alt” tracking methods. You know, for stuff like Google Analytics.

The stats are showing zero?

During the first 12 hours, data is collected. Then the cache is refreshed to show the latest stats for the previous 12 hours. If your stats are showing zero or you would just like to update the count, visit the “Tools and Options” panel and click the “Clear cache” link.

Also: to test that the plugin is recording hits, visit the “Your Feed Info” panel. There you will find a list of links for your site’s feeds. Click on a few of those links as a test. If the plugin is working correctly, you will see your own feed requests recorded in the “Subscriber Info” panel.

Got a question?

Send any questions or feedback via my contact form. Thanks! 🙂


སྤྱི་ཟླ་གཉིས་པ། 22, 2021
Great alternative to feedburner
སྤྱི་ཟླ་བཅུ་གཉིས་པ། 15, 2020
Even RSS is not the most modern solution in web, it’s still one of the most established and often used features of website visitors. Unfortunately, the tracking of how many users make use of this feature and allow to identify if the focus on RSS makes sense (and which particular), there is actually no real plugin etc. available except of this one. And it does the job in general pretty well – that’s why I give a 5-star-rating. However, there is still some space for improvements. It’s really sad to don’t have the ability to see the rss requests (in total and relation to the specific feed) in a chart. Especially in the dashboard that would be a very powerful tool.
སྤྱི་ཟླ་བཅུ་གཉིས་པ། 11, 2020
Awesome way to simply track RSS subscribers to my wordpress site!
Read all 51 reviews

Contributors & Developers

“Simple Feed Stats” is open source software. The following people have contributed to this plugin.


Translate “Simple Feed Stats” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


If you like Simple Feed Stats, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


  • Tests on WordPress 5.8


  • Refines plugin documentation/readme.txt
  • Tests on WordPress 5.7


  • Adds number formatting to feed counts
  • Updates/improves readme.txt
  • Tests on PHP 7.4 and 8.0
  • Tests on WordPress 5.6


  • Updates default translation template
  • Refines plugin setting page styles
  • Refines dashboard widget styles
  • Refines readme/documentation
  • Tests on WordPress 5.5


  • Tests on WordPress 5.4


  • Updates styles for plugin settings page
  • Tests on WordPress 5.3


  • Improves logic of SFS Tracker
  • Updates some links to https
  • Updates some 404 links
  • Generates new default translation template
  • Tests on WordPress 5.3 (alpha)


  • Bumps minimum PHP version to 5.6.20
  • Tweaks plugin settings screen content
  • Updates default translation template
  • Tests on WordPress 5.2


  • Adds check for admin user for settings shortcut link
  • Tweaks plugin settings screen UI
  • Generates new default translation template
  • Tests on WordPress 5.1 and 5.2 (alpha)


  • Tests on WordPress 5.1


  • Adds homepage link to Plugins screen
  • Updates default translation template
  • Tests on WordPress 5.0


  • Bugfix: “ignore bots” feature not working in all cases
  • Replaces sanitize_text_field and wp_kses_post with wp_strip_all_tags for custom CSS
  • Adds rel="noopener noreferrer" to all blank-target links
  • Replaces add_querystring_var with add_query_arg
  • Replaces dropdown page menu for input field
  • Updates GDPR blurb and donate link
  • Regenerates default translation template
  • Further tests on WP versions 4.9 and 5.0 (alpha)


  • Adds option to disable collection of visitor IP address
  • Adds rel="noopener noreferrer" to blank targets where needed
  • Improves escaping of insert() data
  • Generates new translation template
  • Updates Show Support panel
  • Updates plugin image files
  • Tests on WordPress 5.0


  • Removes extra manage_options check for settings validation
  • Tests on WordPress 4.9


  • Improves all tracking methods
  • Restructures entire plugin code
  • Adds new PHP class SFS_Uninstall
  • Improves logic of numerous functions
  • Removes unused function, sfs_truncate
  • Renames sfs_cache_data to sfs_create_transients
  • Revamps database-creation script, removes some legacy code
  • Fixes database bug on Multisite for network-wide activation
  • Adds boolval fallback function for older versions of PHP (<5.5)
  • Adds extra manage_options capability check to modify settings
  • Streamlines Support panel in plugin settings
  • Regenerates default translation template
  • Fixes bug causing Open Tracking to fail
  • Tests on WordPress 4.9


  • Updates GPL license blurb
  • Adds GPL license text file
  • Tests on WordPress 4.9 (alpha)


  • Tweaked readme.txt 🙂


  • Improves IP-detection script
  • Adds new simple count badge via shortcode and template tag
  • Refines display of settings panels
  • Updates show support panel in plugin settings
  • Improves default option functionality
  • Improves plugin alert functionality
  • Replaces global $wp_version with get_bloginfo('version')
  • Fixes some incorrect translation domains
  • Generates new default translation template
  • Tests on WordPress version 4.8


  • Tweaked some styles on the settings page
  • Bug fix: apostrophes getting slashed in style setting
  • Updated plugin author URL
  • Changed stable tag from trunk to latest version
  • Refactored add_sfs_links() function
  • Updated URL for rate this plugin links
  • Added &raquo; to home link on plugins page
  • Removed styles for abbr on settings page
  • Tested on WordPress version 4.7 (beta)


  • Streamlined and optimized the plugin settings page
  • Improved logic of sfs_cache_data() function
  • Replaced _e() with esc_html_e() or esc_attr_e()
  • Replaced __() with esc_html__() or esc_attr__()
  • Added more user agents to the list of ignored bots
  • Improved logic of sfs_count_badge() function
  • Added plugin icons and larger banner image
  • Changed text-domain from “sfs” to “simple-feed-stats”
  • Removed local translations in favor of GlotPress
  • Improved translation support
  • Generated new translation template
  • Tested on WordPress 4.6


  • Modified CSS to make more specific in Dashboard Widget
  • Now using wp-load.php to call WP in tracker.php
  • Renamed “Your Info / More Info” to “Your Feed Information”
  • Changed “Number of results” setting input to number type
  • Swapped “Your Feed Information” with “Shortcodes” section
  • Improved “Shortcodes & Template Tags” information
  • Added sfs_cron_three_minutes() for internal use
  • Defined default tracking value in tracker.php
  • Placed relative path as parameter into plugins_url() funtions
  • Replaced one instance of admin_url() with get_admin_url()
  • Streamlined badge functions
  • Streamlined badge default styles
  • Added box-sizing property to badge styles
  • Replaced icon with retina version
  • Added screenshot to readme/docs
  • Added retina version of banner
  • Reorganized and refreshed readme.txt
  • General code cleanup and organization
  • Updated sfs.pot translation template
  • Tested on WordPress version 4.5 beta


  • Admin notices now are dismissible
  • Added sfs_clear_cache() function
  • Added sfs_reset_stats() function
  • Improved functionality of clear cache feature
  • Improved functionality of reset stats feature
  • Refined functionality of plugin settings page
  • Updated some text in the plugin settings popup tips
  • Refined the Subscriber Count panels in the plugin settings
  • Removed unnecessary global variables from sfs_create_table()
  • Added setting to enable shortcodes in widgets
  • Change default stat value from “n/a” to “0”
  • Added tip to total subscriber count panel
  • Updated heading hierarchy in plugin settings
  • Updated minimum version requirement
  • Updated translation template file
  • Tested on WordPress 4.4 beta


  • Tested on WordPress 4.3
  • Updated minimum version requirement


  • Tested with WP 4.2 + 4.3 (alpha)
  • Changed a few “http” links to “https”
  • Update: fixed stats for https sites
  • Update: fixed multisite stats


  • Tested with latest version of WP (4.1)
  • Increased minimum version to WP 3.8
  • Added $sfs_wp_vers for version check
  • Streamline/fine-tune plugin code
  • Added Text Domain and Domain Path to file header
  • Added alert panel in plugin setttings
  • Replaced FILE with page slug for settings URL
  • Added UTF-8 as default for get_option() in htmlspecialchars()
  • Plugin now removes scheduled cron event on uninstall
  • Now scheduling cron event only on plugin activation
  • Replaced default .mo/.po templates with .pot template


  • Tested on latest version of WordPress (4.0)
  • Increased min-version requirement to WP 3.7
  • Replaced ‘UTF-8’ with get_option(‘blog_charset’) in sfs_clean()
  • Added option to ignore the most common bots (googlebot, bingbot, etc.)
  • Updated i18n mo/po templates


  • Summary: revamped plugin to make better use of the WP API
  • Improved logic for sfs_create_table for better performance
  • Bugfix: removed mysql_real_escape_string from sfs_clean
  • Added is_feed to simple_feed_stats, now hooks at wp
  • Improved localization support, added mo/po templates
  • Rewrote all database calls to use the WP API
  • sfs_require_wp_version only runs on plugin activation
  • sfs_feed_tracking improved logic, refined code
  • Rewrote tracker.php with cleaner code, improved security
  • Replaced default/PHP time/date with WP defaults
  • Completely revamped plugin settings page for latest WP
  • Added some missing transients to uninstall.php
  • Improved default, custom, alt, and open tracking methods
  • Updated feed-tracking XML for Alt Tracking method
  • Replaced word “Custom” for “Open” when displaying stats
  • Removed Firefox-specific conditional tracking
  • Dropped support for WP-deprecated comments RDF feed
  • Dropped support for WP-deprecated RSS1 (RSS) feeds
  • Updated Dashboard widget styles
  • General code check and clean
  • Extensive testing on default WP install


  • Tested plugin with latest version of WordPress (3.8)
  • Added trailing slash to load_plugin_textdomain()
  • Fixed 3 incorrect _e() tags in core file


  • Added uninstall.php file
  • Added “rate this plugin” links
  • Improved “Overview” panel
  • Added line to prevent direct loading of the script
  • Add i18n support
  • Improved database setup: TIMESTAMP(8) to TIMESTAMP
  • Removed closing ?> from simple-feed-stats.php
  • Added “strict reporting” option
  • Made some improvements to the settings page
  • Replace $options with $sfs_options
  • Added custom key/value parameter for “custom” or “alt” tracking methods
  • Fixed filtering of “Feed Statistics”
  • Fixed some PHP notices
  • Cleaned up simple_feed_stats function
  • Cleaned up tracker.php file
  • Deprecated $feed_rss default tracking
  • Improved sanitization of POST vars
  • General code cleanup and maintenance
  • Tested plugin with latest version of WordPress (3.7)


  • Improved localization support
  • Resolved numerous PHP Warnings
  • Replaced deprecated WP functions
  • Added additional info to readme.txt
  • Removed filter_cron_schedules()
  • Added cleanup of scheduled chron jobs upon deactivation
  • Tightened security of tracker file
  • Added default timezone (UTC)
  • Overview and Updates admin panels toggled open by default
  • General code check n clean


  • Implemented WP Cron to improve caching
  • Updated database queries according to new protocols
  • Added margins to submit buttons (now required as WP 3.5)
  • Added sfs_display_total_count() template tag for “all-time” stats
  • Renamed external file used for current info and news
  • Added shortcode to display daily RSS2 stats: [sfs_rss2_count]
  • Added shortcode to display daily Comment stats: [sfs_comments_count]
  • Renamed “truncate” function to “sfs_truncate”
  • Disabled tracking for RSS feeds, which auto-redirect to RSS2
  • Fixed bug causing occasional display of “0” for feed count


  • Added MultiSite compatibility


  • Renamed the wp-version check function to prefix with “sfs_”
  • Added easyTooltip jQuery plugin
  • Fixed toggle panels


  • Fixed some PHP warnings and notices for undefined index and variables


  • Added option to filter by referrer


  • Initial plugin release