WordPress lacks built-in page view tracking or a popular posts feature.
Top 10 solves this by counting views across posts, pages, and custom post types, then letting you showcase your most popular content.
Top 10 provides blocks, widgets, shortcodes, and template functions for displaying popular posts and view counts across your site. All tracking data is stored locally in your WordPress database, with no external services involved.
Top 10 includes comprehensive features such as thumbnail support, flexible display options, custom post type support, and developer-friendly extensibility. A built-in caching layer reduces server load, while AJAX-based tracking avoids page cache interference and works with most popular caching plugins.
Top 10 also exposes a powerful API with WordPress actions and filters, allowing developers to customise queries, tracking behaviour, and output rendering without modifying core plugin files.
Features
- Page Counter: Tracks hourly post views on posts, pages, and custom post types. Display counts automatically using blocks, shortcodes, or template functions
- Popular Posts: Display most viewed posts by total counts or within custom time periods
- Gutenberg Support: Dedicated “Popular Posts [Top 10]” block with configurable display options
- Multisite Dashboard: Network-wide aggregated statistics across all sites in a multisite installation
- Widgets: Sidebar widgets for daily and overall popular posts with extensive customisation
- Shortcodes: Use
[tptn_list] to display popular post lists and [tptn_views] to show view counts
- Thumbnails:
- WordPress post thumbnail support with custom
tptn_thumbnail image size
- Automatic extraction of the first image from post content
- Manual thumbnail URLs via Edit Post screens
- Exclusions: Exclude posts by category or post ID from popular post lists
- Styling: Output wrapped in semantic CSS classes. Add custom CSS via settings or use included styles
- Admin Interface: View daily and overall popular posts from the dashboard. Adds sortable view-count columns to post and page lists
- Export/Import: Export count tables and settings, and restore them on the same site or other installs
- Caching Compatibility: Works with WP Super Cache, W3 Total Cache, Quick Cache, and similar plugins
- Developer-Friendly: Extensive filters and actions to customise queries, tracking behaviour, and output rendering
Features in Top 10 Pro
- Enhanced Tracking and Performance
- Fast and High-Traffic Trackers: Alternative tracking methods for improved performance on busy sites
- Site-wide Tracking: Track views for the front page, posts page, archives, and searches in addition to individual content
- Query Optimisation: MySQL
MAX_EXECUTION_TIME directive to prevent long-running queries, configurable via settings and the top_ten_query_max_execution_time filter
- Data Retention Override: Customizable data retention period (default 180 days via
TOP_TEN_STORE_DATA)
- Lazy Loading: Render popular posts lists via JavaScript only when they are about to scroll into view, so full-page caching plugins can serve a page without baking in a live popular-posts query. Works with content, shortcodes, widgets, and the Popular Posts block; disable per instance with the
lazy_load shortcode/block attribute
- Advanced Blocks and Widgets
- Top 10 Query Block: Query and display popular posts directly from the block or site editor
- Enhanced Top 10 Featured Image Block: Support for multiple image sources with fallbacks
- Popular Posts Block Enhancements:
- Save and clear default block settings with a single click
- Auto-insert default and global settings attributes with an option to disable
- Enhanced Admin Tools
- Admin Bar Integration: Admin bar menu item to view daily, total, and overall post counts, access admin pages, and clear cache
- Disable Admin Bar menu: Setting to disable the Admin Bar menu
- Dashboard Access Control: Setting to control which user roles can view the Top 10 dashboard
- Display Settings: Setting to choose which post type screens display admin columns
- Mini "Top 10 Views Overview" widget: Compact views-over-time chart on the WordPress Dashboard
- Multisite Settings Copy: Tool to copy settings between sites in a multisite network
- Custom Display Options
- Taxonomy-Specific Displays:
display_only_on_tax_ids parameter to restrict popular post displays to specific taxonomy terms
- Category Inclusion: Edit Post meta box option to include popular posts from specific categories
- RSS Feed Filtering: Filter RSS feeds by category or post type via settings or URL parameters
- WP-CLI Integration
wp top10 counts: View, get, set, reset, export, and import post view counts from the command line
wp top10 db: Manage database tables — check status, create, update, recreate, prune old rows, force aggregation, truncate, and clean up orphaned counts
wp top10 cache: Flush, enable, disable, and check the status of the output cache
wp top10 settings: Get, set, export, and import plugin settings as JSON
wp top10 cron: View, enable, disable, and manually trigger the maintenance and aggregation cron jobs
wp top10 popular: List popular posts with counts using the same query as the front end
wp top10 status: Print a full plugin status overview
- All destructive commands support
--dry-run and --force; multisite commands support --network and --blog-id
- Developer-Friendly Features
- Custom Post Type Sortable Columns: Admin columns on supported custom post types with sortable functionality
GDPR
Top 10 does not collect personal visitor data out of the box. Tracking data is stored locally in the
wp_top_ten and
wp_top_ten_daily database tables (table prefix may vary).
You are responsible for ensuring GDPR compliance on your website.
Translations
Top 10 is available for translation on
WordPress.org.\
See the
Translator Handbook to contribute.
Contribute
Top 10 is developed openly on
GitHub.\
Fork the project and submit pull requests for bug fixes or improvements. Please do not use GitHub for support requests.
WordPress install (easy way)
- Go to Plugins → Add New in your WordPress Admin
- Search for “Top 10”
- Click Install Now and then Activate
Manual install
- Download the
top-10.zip file
- Go to Plugins → Add New → Upload Plugin
- Upload the ZIP file and click Install Now
- Activate the plugin
- Configure settings under Top 10 → Settings
Help and Support
4.5.0
Release date: 7 September 2026
Release post:
https://webberzone.com/announcements/top-10-v4-5/
Added
- [Pro] Popular Posts elements for Elementor, Bricks Builder and WPBakery Page Builder.
- [Pro] Optional site-wide tracking for front pages, posts pages, archives and searches.
- [Pro] Reduce Daily Table Size tool to combine older hourly records.
- [Pro]
wp top10 db rollup command for CLI and multisite use.
Changed
- Reduced admin overhead on large multisite networks by caching table metadata, probing WPP tables directly and using estimated row counts on the Tools page.
- Sped up the dashboard with index-friendly
dp_date ranges, optimized network popular-post queries and on-demand loading of historical tabs.
- Setting defaults are now resolved from a lightweight list instead of building every settings field, so reading an option early in the page load no longer loads translations too early.
Security
- Hardened settings sanitization for users without the
unfiltered_html capability.
- Hardened referer and array handling in settings sanitization, and renamed the settings JS globals.
Fixed
- View tracking was lost during quick navigation or browser back-button restores.
- View counts were recorded for prerendered or initially hidden pages.
- Bot views were recorded from cached pages, and views were recorded for browser prefetches, prerenders and direct navigations to tracker URLs.
- Tracker scripts did not run when loaded asynchronously after
DOMContentLoaded had fired.
- Generated output cache keys were not discoverable by the Clear Cache tools or the WP-CLI cache flush command.
- Settings on a multisite network read another site's values in the same request after a
switch_to_blog() call, when read via tptn_get_option() or the global $tptn_settings.
tptn_get_settings() returned false instead of an empty array when no settings had been saved yet.
- Visit data was silently lost in funnel aggregation, and the Fast Tracker raised an undefined array key warning.
- Plugin data was deleted when uninstalling one version while its paired free or Pro counterpart was active.
- Improved compatibility with PHP 8.6.
- [Pro] Daily counts in the
wp top10 popular command did not respect the selected custom date range.
Earlier versions
For the changelog of earlier versions, please refer to the
releases page on GitHub.