Top 10 – WordPress Popular posts by WebberZone


WordPress doesn’t have an in-built system to track page views or displaying popular posts. Top 10 is an easy to use, yet, powerful WordPress plugin that will count the number of page views of your posts, pages and any custom post types. You can then display the page view counts as well as display your most popular posts.

Top 10 adds two widgets that you can use to display a list of popular posts and the counta cross all your blog posts.

Although several similar plugins exist today, Top 10 is one of the most feature-rich popular post plugins with support for thumbnails, shortcodes, widgets, custom post types and CSS styles. The inbuilt caching system also helps reduce server load by caching your popular posts output. The tracking uses ajax and is thus compatible with most popular caching plugins.

Top 10 also has powerful API and is fully extendable with WordPress actions and filters to allow you easily extend the code base to add new features or tweak existing ones.


  • Page counter: Counts page views on single posts, pages and custom post types on an hourly basis which can then be easily displayed automatically, using shortcodes or functions
  • Popular posts: Display a list of popular posts either for total counts or for a custom period. You can choose how many posts are to be displayed along with loads of other customisation options
  • Gutenberg / Block Editor support: You can find a block called “Popular Posts [Top 10]” with its own configurable set of options
  • Widget ready: Sidebar widgets available for daily popular and overall popular posts. Highly customizable widgets to control what you want to display in the list of posts
  • Shortcodes: The plugin includes two shortcodes [tptn_list] and [tptn_views] to display the posts list and the number of views respectively
  • Thumbnail support
    • Support for WordPress post thumbnails. Top 10 will create a custom image size (tptn_thumbnail) with the dimensions specified in the Settings page
    • Auto-extract the first image in your post to be displayed as a thumbnail
    • Manually enter the URL of the thumbnail via WordPress meta fields. Specify this using the meta box in your Edit screens.
  • Exclusions: Exclude posts from select categories from appearing in the top posts list. Also exclude posts by ID from appearing in the list
  • Styles: The output is wrapped in CSS classes which allows you to easily style the list. You can enter your custom CSS styles from within WordPress Admin area or use the style included.
  • Admin interface: View list of daily and/or overall popular posts from within the dashboard. Top 10 also adds two sortable columns to your All Posts and All Pages pages in your WordPress Admin area
  • Export/Import interface: Export the count tables and settings to restore in the same site or on other installs
  • Works with caching plugins like WP-Super-Cache, W3 Total Cache or Quick Cache
  • Extendable code: Top 10 has tonnes of filters and actions that allow any developer to easily add features, edit outputs, etc.


Top 10 is GDPR compliant as it doesn’t collect any personal data about your visitors when installed out of the box. You can see the data the plugin stores in the wp_top_ten and wp_top_ten_daily tables in the database. Note: the prefix wp might be different if you have changed it from the default.



I spend a significant amount of my free time maintaining, updating and more importantly supporting this plugin. If you have been using this plugin and find this useful, do consider making a donation. This helps me pay for my hosting and domains.


Top 10 is available for translation directly on Check out the official Translator Handbook to contribute.


Top 10 is also available on Github
So, if you’ve got some cool feature that you’d like to implement into the plugin or a bug you’ve been able to fix, consider forking the project and sending me a pull request. Please don’t use that for support requests.

Other plugins from WebberZone

Top 10 – Popular Posts is one of the many plugins developed by WebberZone. Check out our other plugins:

  • Contextual Related Posts – Display related posts on your WordPress blog and feed
  • WebberZone Snippetz – The ultimate snippet manager for WordPress to create and manage custom HTML, CSS or JS code snippets
  • Knowledge Base – Create a knowledge base or FAQ section on your WordPress site
  • Better Search – Enhance the default WordPress search with contextual results sorted by relevance
  • Auto-Close – Automatically close comments, pingbacks and trackbacks and manage revisions


  • Top 10 options – General options
  • Top 10 options – Counter and Tracker options
  • Top 10 options – Popular post list options
  • Top 10 options – Thumbnail options
  • Top 10 options – Styles
  • Top 10 options – Maintenance
  • Top 10 options – Feed
  • Top 10 widget options
  • Top 10 Meta box on the Edit Post screen
  • Top 10 Tools page
  • Top 10 – Popular posts view in Admin
  • Top 10 Export/Import interface
  • Top 10 – Popular posts view in Network Admin


This plugin provides 1 block.

  • Top 10 Popular Posts Display the Popular Posts


WordPress install (the easy way)

  1. Navigate to Plugins within your WordPress Admin Area

  2. Click “Add new” and in the search box enter “Top 10”

  3. Find the plugin in the list (usually the first result) and click “Install Now”

Manual install

  1. Download the file from this release post
  2. Visit Plugins in your Admin Area
  3. Hit the Add New button next to the Plugins heading
  4. Hit the Upload button next to the Add Plugins heading
  5. Select the file that you downloaded and hit Install Now
  6. Activate the Plugin in WP-Admin.
  7. Go to Top 10 » Settings to configure
  8. Go to Appearance » Widgets to add the Popular Posts sidebar widget to your theme
  9. Go to Top 10 » View Popular Posts to view the list of popular posts


Check out the FAQ on the plugin page and the FAQ on the WebberZone knowledgebase.
It is the fastest way to get support as I monitor the forums regularly.

How can I customise the output?

Details on how to use and customize the output is in this knowledge base article


You can find details of the shortcodes in this knowledge base article

Can this plugin replace Google Analytics?

No. Top 10 has been designed to only track the number of page-views on your blog posts and display the same. It isn’t designed to replace Google Analytics or any other full fledged analytics application.

How does the scheduled maintenance work?

When you enabled the scheduled maintenance, Top 10 will create a cron job that will run at a predefined interval and clean up old entries from the wp_top_ten_daily table.
Note: If you enable this option, WordPress will execute this job when it is scheduled the first time

How to make the columns on the Custom Post Type admin pages sortable?

Add the following code to your functions.php file of your theme.

add_filter( 'manage_edit-{$cpt}_sortable_columns', 'tptn_column_register_sortable' );

Replace {$cpt} by the slug of your custom post type. E.g. to make the columns on your ‘projects’ post type sortable, you will need to add:

add_filter( 'manage_edit-projects_sortable_columns', 'tptn_column_register_sortable' );


June 10, 2024
Since the widgets in my Soledad theme (pencidesign) don’t allow you to choose post types (well, they do, but as always, it doesn’t work), I installed the Popular Post plugin. The plugin works perfectly and looks good, but it says it’s out of date and needs changing. So I installed this plugin, with lots of useless options and inconsistent settings between the widget and the admin configuration. But the display is ugly, the photos don’t adapt automatically and perfectly, like Popular Post, and like the old plugins, before the arrival of tablet and mobile, it asks you to set sizes for the photos. But what size to set? There’s no option for desktop, tablet or mobile! Good programmers have images that adapt to the device! I thought I’d have to buy the pro version for the display to be correct, but after registering on the site, there’s nothing. So it’s a shame to see Wordpress going downhill, evolving in the wrong direction and good plugins disappearing.
April 11, 2024 1 reply
I was forced to replace WordPress Popular Posts (plugin is banned from Kinsta Hosting) and was happy to find Top-10. Does a nice job, but not yet as versatile as WPP. Already has a lot of extension points (hooks), which i’ll further investigate (e.g. showing category names after title/excerpt). Developer seems responsive and very supportive, which is nice!
August 11, 2023
Use this plugin since 2018 for all my sites, easy to install and configure. Just one time issue with my new site, but it’s solved. Nice plugin, awesome features and plus great support! Big Thank You!
September 19, 2022
Using WordPress, I created a reusable block and add the most popular posts over the last 24 hours to the end of every news story (it’s a news site). Since adding that feature, my page views and time on site have nearly doubled, it helps to present my readers with other posts that are relevant at the time. Even if someone finds a news article that is a few years old through a web search, at the end of the article it will display the most current trending stories to encourage people to keep reading. Works great. I recommend.
June 10, 2022 1 reply
Good plugin, good technical support. Congratulations to the author/authors. Cheers!
Read all 97 reviews

Contributors & Developers

“Top 10 – WordPress Popular posts by WebberZone” is open source software. The following people have contributed to this plugin.


“Top 10 – WordPress Popular posts by WebberZone” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Top 10 – WordPress Popular posts by WebberZone” into your language.

Interested in development?

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



  • Enhancements:

    • Exporting and importing the post tables now supports post URLs. This will allow you to import the post tables into a different site and have the correct counts. Note: This will only work if the URLs are the same on both sites. If you have changed the URL structure, you will need to manually update the URLs in the exported CSV file
    • Cache is enabled by default
  • Bug fixes:

    • Fixed a bug where the cron job would not run


Release post:

  • Enhancements:

    • Media Handler checks the title of the image if the alt tag is empty
  • Bug fixes:

    • Check if $wp_filters['the_content'] is set. Fixes a PHP warning for users running WordPress before 6.1
    • Import_Export Class: Fix unnecessary check for network_admin_menu filter; Minor code fixes to set headers before outputting data
    • Number fields in the block were not saved.
  • Security fix:

    • Check nonce before editing post counts in the Admin area


  • Enhancements:

    • Shortcode tptn_views takes two new parameters: format_number to apply number_format_i18n and post_id which takes a post ID. Default is the post being viewed
  • Bug fixes:

    • Plugin activator function didn’t run on activation – Top 10’s database tables were not created


  • Enhancements/Modifications:

    • When displaying the post thumbnail, the Media Handler will first use the image’s alt tag set in the Media editor. If alt tag is empty, then it will use the post title as a fallback. Filter tptn_thumb_use_image_alt and set it to false to not use the alt tag. Filter tptn_thumb_alt_fallback_post_title and set it to false to disable the alt tag
    • Orderby clause modified to ensure compatibility if any other plugin rewrites the WP_Query fields
    • Media Handler will check if the meta field contains a valid URL
    • When saving settings, the thumbnail width and height is forced if either the width or height of the thumbnail setting is set to 0
  • Bug fixes:

    • Function wp_img_tag_add_loading_attr is deprecated since version 6.3.0
    • Bug in the_content filter detection which sometimes caused the counter not to display
    • tptn_thumbnail settings size disappeared from Settings page if this was deselected
    • meta_query argument was ignored


  • Features:

    • Added new setting to stop tracking bots. Top 10 now includes a comprehensive set of bot user agents via
  • Enhancements/Modifications:

    • Complete rewrite of Top 10 plugin to use Classes and autoloading
    • get_tptn_post_count_only() and get_tptn_post_count can also take a WP_Post object and returns an integer only without the count being number formatted
    • tptn_list shortcode now accepts WP_Query parameters. You can also pass typical array only parameters as a comma-separated list
    • Tracker script no longer require jQuery
    • Widget styles are handled properly with the block editor
  • Bug fixes:

    • Post count should only display once within the content within the main loop
    • Fixed data labels in the Dashboard graphs
    • Custom Post Type labels could cause an issue in Network view of popular posts

For previous changelog entries, please refer to the separate changelog.txt file or Github Releases page