WordPress Popular Posts


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

Main Features

  • Multiple Popular Posts Lists – You can have several Popular Posts lists 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 blocks? 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!

PSA: The classic WordPress Popular Posts widget has reached End-of-Life

The classic WordPress Popular Posts widget doesn’t work very well / at all with the new Widgets screen introduced with WordPress 5.8.

This new Widgets screen expects WordPress blocks instead of regular WordPress widgets. If you’re using the classic WordPress Popular Posts widget please replace it with the WordPress Popular Posts block instead – it has the same features and functionality as the “classic” widget so you won’t be missing anything at all. See the Migration Guide for more details.

Bjorn from wplearninglab.com was kind enough to create a video explaining how to use the new block for all of you visual learners:

If you cannot (or do not want to) use WordPress blocks on your website then please replace your classic widget with the [wpp] shortcode.

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!

Buy me a coffee | PayPal

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 block.
  • The WordPress Popular Posts block 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. Please see the Usage section below to learn how to add a popular post list to your site. Once you’re done, keep reading.
  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 > Theme File Editor. Under “Theme Files”, click on “Theme Header” (header.php) and make sure that the <?php wp_head(); ?> tag is present (it should be somewhere 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. If you’re using the Block Editor you can insert a WordPress Popular Posts block on your sidebar and even anywhere within your posts and pages.
  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 19, 2024 1 reply
At first I though this was not that good but then with the widget settings amazing! But unfortunately the best bit of the plugin has been removed. “This widget has been deprecated and will be removed in WordPress Popular Posts 7.0. Please use either the WordPress Popular Posts block or the wpp shortcode instead.” The short code doesn’t allow custom HTML and CSS like the widget, does it? Unless there is a way to add custom HTML to the shortcode I’m just keeping the old version for now. If I update this plugin I’ll lose the custom HTML that looks great and it was the reason I used this plugin. It’s disappointing the widget settings were just removed as it was nice having all the settings in one are. Now we just have to keep checking everything to add shortcode from your site which we shouldn’t have to do.Long ago to speed up the plugin on my site. I set the Ajaxify widget to Disabled and Data Caching to Never Cache. Then turned on the HTML option, hidden in the actual widget area so I could customize stuff. Hummingbird Optimizer was also turned off so I could see the updates properly.
July 8, 2024 1 reply
A very good plugin! Everything works as it should. Thank you for your efforts!
🌸4️⃣ 2, 2024 1 reply
Randomly the ‘Time Range’ setting changes to 7 days instead of staying at 30 days. Been active for nearly three months so far. Several times have had to log in and change the setting back. Maybe some other plugin I am using may be causing the conflict. IDK. Other than this odd situation the plugin works as expected to show the most popular posts.
🍃3️⃣ 16, 2024 1 reply
Works as described, easy to set up, good documentation, option to use shortcode or custom queries. Just perfect.
☀️ 8️⃣ 21, 2023
<!– wp:paragraph –> <p class=””>This plugin no longer supports classic widget, which is a bummer. Also for the last few updates, the data is inaccurate and it appears to be quite resource-intensive. Removed it and replaced with something else.</p> <!– /wp:paragraph –>
Read all 244 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 15 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.



If you’re using a caching plugin on your website it’s highly recommended to clear its cache after installing / updating to this version.

  • Improves compatibility with LiteSpeed Cache, Autoptimize, W3 Total Cache, and Speed Optimizer (formerly known as SiteGround Optimizer.)
  • Fixes an issue where the popular posts list may not load on iOS browsers (props to Marlys Arnold and abid76!)
  • Fixes an issue where get_views() might not return the expected value (props to robwkirby!)

Release notes


  • Breaking Change: The WordPress Popular Posts “classic” widget will stop working after this version! If you’re using the classic widget please replace it with the WordPress Popular Posts block or the [wpp] shortcode as soon as possible. See release notes for more details.
  • Breaking Change: The .widget CSS class has been removed from the WordPress Popular Posts block. If you were using it to style your popular posts block adjustments may be required.
  • Native WebP / AVIF support: your thumbnails can now be created as .webp / .avif images without requiring third-party plugins. Check the release notes for more.
  • New filter hook to dynamically change the headline of the popular post list (props to abid76!)
  • PHPCS / WPCS improvements.
  • Minor enhancements / fixes.

Release notes

Full Changelog