WordPress Popular Posts


WordPress Popular Posts is a highly customizable widget that displays your most popular posts.

Main Features

  • Multi-widget capable – You can have several widgets of WordPress Popular Posts on your blog, each with its own settings!
  • Time Range – List those posts of your blog that have been the most popular ones within a specific time range (eg. last 24 hours, last 7 days, last 30 days, etc)!
  • Custom Post-type support – Want to show other stuff than just posts and pages, eg. Popular Products? You can!
  • Thumbnails! – Display a thumbnail of your posts! (see the FAQ section for more details.)
  • Statistics dashboard – See how your popular posts are doing directly from your admin area.
  • Sorting options – Order your popular list by comments, views (default) or average views per day!
  • Custom themes – Out of the box, WordPress Popular Posts includes some themes so you can style your popular posts list (see Widget Themes for more details).
  • Use your own layout! – WPP is flexible enough to let you customize the look and feel of your popular posts! (see customizing WPP’s HTML markup and How to style WordPress Popular Posts for more.)
  • Advanced caching features! – WordPress Popular Posts includes a few options to make sure your site’s performance stays as good as ever! (see Performance for more details.)
  • REST API Support – Embed your popular posts in your (web) app! (see REST API Endpoints for more.)
  • Disqus support – Sort your popular posts by Disqus comments count!
  • Polylang & WPML 3.2+ support – Show the translated version of your popular posts!
  • WordPress Multisite support – Each site on the network can have its own popular posts list!

Other Features

  • Shortcode support – Use the [wpp] shortcode to showcase your most popular posts on pages, too! For usage and instructions, please refer to the Installation section.
  • Template tags – Don’t feel like using widgets? No problem! You can still embed your most popular entries on your theme using the wpp_get_mostpopular() template tag. Additionally, the wpp_get_views() template tag allows you to retrieve the views count for a particular post. For usage and instructions, please refer to the Installation section.
  • LocalizationTranslate WPP into your own language.
  • WP-PostRatings support – Show your visitors how your readers are rating your posts!

Support the Project!

If you’d like to support my work and efforts to creating and maintaining more open source projects your donations and messages of support mean a lot!

Ko-fi | Buy me a coffee | PayPal Me

WordPress Popular Posts is now also on GitHub!

Looking for a Recent Posts widget just as featured-packed as WordPress Popular Posts? Try Recently!


  • Flame graphic by freevector/Vecteezy.com.


  • The WordPress Popular Posts Widget.
  • The WordPress Popular Posts Widget on theme's sidebar.
  • Dashboard widget.
  • Statistics panel.


This plugin provides 1 block.

  • WordPress Popular Posts


Please make sure your site meets the minimum requirements before proceeding.

Automatic installation

  1. Log in into your WordPress dashboard.
  2. Go to Plugins > Add New.
  3. In the “Search Plugins” field, type in WordPress Popular Posts and hit Enter.
  4. Find the plugin in the search results list and click on the “Install Now” button.

Manual installation

  1. Download the plugin and extract its contents.
  2. Upload the wordpress-popular-posts folder to the /wp-content/plugins/ directory.
  3. Activate the WordPress Popular Posts plugin through the “Plugins” menu in WordPress.

Done! What’s next?

  1. Go to Appearance > Widgets, drag and drop the WordPress Popular Posts widget to your sidebar. Once you’re done configuring it, hit the Save button.
  2. If you have a caching plugin installed on your site, flush its cache now so WPP can start tracking your site.
  3. If you have a plugin that minifies JavaScript (JS) installed on your site please read this FAQ: Is WordPress Popular Posts compatible with plugins that minify/bundle JavaScript code?
  4. If you have a security / firewall plugin installed on your site, make sure you allow WPP access to the REST API so it can start tracking your site.
  5. Go to Appearance > Editor. Under “Templates”, click on header.php and make sure that the <?php wp_head(); ?> tag is present (should be right before the closing </head> tag).
  6. (Optional but highly recommended) Are you running a medium/high traffic site? If so, it might be a good idea to check these suggestions to make sure your site’s performance stays up to par.

That’s it!


WordPress Popular Posts can be used in three different ways:

  1. As a widget: simply drag and drop it into your theme’s sidebar and configure it.
  2. As a template tag: you can place it anywhere on your theme with wpp_get_mostpopular().
  3. Via shortcode, so you can embed it inside a post or a page.

Make sure to stop by the Wiki as well, you’ll find even more info there!


The FAQ section has been moved here.


July 30, 2021
"WordPress Popular Posts" is a really excellently made plugin. You can do with it everything that is needed in the context of "Popular Posts". You can realize individual layout constructs with it and it was also thought in terms of performance. It is kept up to date, is very well documented and the support is really outstanding!
July 4, 2021
I have been using the plugin successfully for many years without any major problems. Today I had the first time a problem after an update. I create a new topic in the support area. The author replied immediately and provided a new update. Perfect.
July 4, 2021
Plugin update totally damaged website layout and after update i uninstall wordpress popular post plugin and install again but getting same problems. Solve fast otherwise our all website use any other best instead of wordpress popular.
Read all 222 reviews

Contributors & Developers

“WordPress Popular Posts” is open source software. The following people have contributed to this plugin.


“WordPress Popular Posts” has been translated into 14 locales. Thank you to the translators for their contributions.

Translate “WordPress Popular Posts” into your language.

Interested in development?

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



  • Fixes a potential authenticated stored XSS vulnerability (props to pluginvulnerabilities.com).
  • Fixes widget title not being displayed under certain conditions (thanks @Okoth1 and others for reporting this issue!)
  • Fixes a PHP notice generated by the widget block on WordPress 5.8.

Release notes


  • Reverts security enhancements (not the XSS one though) which caused garbled output for some websites.
  • Fixes a PHP Fatal Error affecting some setups.

Release notes


  • Experimental Gutenberg support! This version introduces the first WPP block. It’s not enabled by default though, see the Release Notes for more.
  • Fixes a potential authenticated stored XSS vulnerability (props to Visse for reporting it!)
  • Overall security enhancements (props to Visse for assisting with this!)
  • Other minor improvements / fixes.

Release notes


  • Fixes a potential XSS vulnerability (props to Yu Iwama of Secure Sky Technology Inc. and the JPCERT/CC Vulnerability Coordination Group).
  • Fixes a potential code injection vulnerability (props to Jerome & NinTechNet).
  • Fixes a srcset bug that affects specific PHP locales (props to @fredel).
  • Fixes a srcset not loading images due to improper SSL/HTTPS configuration (props to @aj4h).
  • Updates ChartJS to version 2.9.4.

If you’re using a caching plugin flushing its cache after upgrading to this version is highly recommended.

Release notes


  • wpp_get_views(): fixed an issue where the function would return 0 views under certain conditions (thanks to everyone who helped with this!)

Release notes


  • wpp_get_views(): restores previous behavior where when no time range was set the function would return total views count (thanks @narolles!)
  • The WPP widget will now be loaded via AJAX by default (this affects new installs only.)

Release notes


  • Improves compatibility with PHP 8.
  • Allows to override widget theme stylesheets.
  • Each post can have its own thumbnail now when using WPP with WPML/Polylang.
  • Improved Polylang support.
  • Adds a loading animation when using the widget with the Ajaxify widget option enabled.
  • Fixes an issue where the plugin wouldn’t generate thumbnails when filenames contains Unicode characters.
  • The /popular-posts REST API endpoint now correctly translate posts when using WPML/Polylang.
  • wpp_get_views() can now return views count from custom time ranges.
  • Post thumbnails will now look sharper on retina displays!
  • Other minor improvements / fixes.

Release notes

Full Changelog