Showing your most popular posts — filtered by day, week, month, or all time — is one of the smartest ways to keep visitors engaged longer, reduce bounce rates, and guide new readers to your best-performing content. with user behavior signals playing a bigger role in Google rankings, displaying trending or evergreen popular content helps improve time-on-site, internal linking, and overall site authority. At Cope Business, we frequently add dynamic “popular posts” sections for clients during our technical SEO audit services to boost engagement and help high-value articles stay visible.
This beginner-friendly guide shows you three easy and effective ways to display popular posts by different time periods in WordPress — using plugins (easiest) and lightweight code (no extra plugin).
Why Display Popular Posts by Time Period?
- Keeps Content Fresh — Highlights trending articles (day/week) and timeless ones (all time)
- Improves User Experience — Readers discover what others found valuable
- Increases Pageviews — More internal clicks → longer sessions
- SEO Boost — Higher engagement signals + better internal linking
- Social Proof — “Most popular this week” creates curiosity and trust
Perfect for blogs, news sites, tutorials, or any content-heavy website.
Method 1: Using a Plugin (Easiest & Most Flexible)
Plugins give you beautiful layouts, thumbnails, time-based filtering, and zero coding.
Recommended Plugin: WordPress Popular Posts (Free & Pro)
This is the most popular and reliable plugin for time-based popular posts.
Step-by-Step Setup
- Install and activate WordPress Popular Posts from Plugins > Add New.
- Go to Settings > WordPress Popular Posts.
- In Tools tab → Generate new popular posts data (initial setup).
- In Widget tab → Add a new widget to sidebar/footer:
- Title: “Trending This Week”, “Popular This Month”, etc.
- Time Range: Last 24 hours, Last 7 days, Last 30 days, All time
- Post Type: Posts (or pages/custom types)
- Number of posts: 5–10
- Sort by: Views
- Show: Thumbnail, excerpt, author, date, views count
- Style: Choose layout (list, grid), thumbnail size, custom CSS if needed.
- Save → Drag the widget to your desired sidebar or footer area.
- Optional: Use shortcode
[wpp range="weekly" posts_per_page="5" thumbnail_width="150"]
anywhere (posts, pages, custom areas).
Pro Version (~$39/year): Adds custom post types, advanced filters, trending topics widget, REST API.
Pros: Very accurate, multiple time ranges, thumbnails, views counter, shortcode + widget support.
Cons: Free version has basic styling (customize with CSS).
Alternative Plugin: Top 10 – Popular Posts (free) — also supports time ranges and shortcodes.
Method 2: Using Custom Code with WP_Query (Lightweight – No Plugin)
For full control without adding extra plugins.
Steps
- Install WPCode (free) from Plugins > Add New — safest way to add code.
- Go to Code Snippets > Add Snippet → Create new snippet titled “Recently Popular Posts by Time”.
- Paste one of these shortcodes (choose time range):
Weekly Popular Posts (last 7 days)
PHP
function cope_weekly_popular_posts_shortcode($atts) {
$atts = shortcode_atts(array('number' => 5), $atts);
$args = array(
'post_type' => 'post',
'posts_per_page' => $atts['number'],
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'date_query' => array(
array(
'after' => '7 days ago',
'inclusive' => true,
),
),
);
$query = new WP_Query($args);
if (!$query->have_posts()) return '<p>No popular posts this week.</p>';
$output = '<ul class="weekly-popular-posts">';
while ($query->have_posts()) {
$query->the_post();
$output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
$output .= '</ul>';
wp_reset_postdata();
return $output;
}
add_shortcode('weekly_popular', 'cope_weekly_popular_posts_shortcode');
Use shortcode:
[weekly_popular number="6"]
For monthly change ‘7 days ago’ → ’30 days ago’
For all time remove the date_query part entirely.
Pros: Zero extra plugins, fully customizable.
Cons: Needs a views counter plugin (e.g., Post Views Counter – free) to track views.
Method 3: Using Widgets or Shortcodes with Plugins (Visual & Fast)
- Recent Posts Widget Extended (free): Set “orderby=modified” or use views if you have a counter.
- Display Posts shortcode:
[display-posts orderby="modified" order="DESC" posts_per_page="5"]
Best Practices for Popular Posts Sections
- Limit Number — 5–8 posts to avoid clutter
- Show Thumbnails — Increases click-through rate
- Add Date/Views — Builds trust (“Updated 2 days ago”, “1.2K views”)
- Mobile-Friendly — Ensure responsive layout
- Performance — Use caching; lazy-load thumbnails
- SEO — Use descriptive headings; add internal links
Highlighting popular content keeps your site feeling active and valuable.
Final Thoughts
Displaying recently updated or most popular posts in WordPress is a simple yet powerful way to showcase fresh content, improve engagement, and signal to Google that your site is actively maintained. Use WordPress Popular Posts for beautiful, time-filtered lists — or lightweight shortcodes if you want no extra plugins.
Freshness still matters — use it to your advantage.
Need help adding dynamic content sections, optimizing your blog for SEO, or improving overall site performance? Contact Cope Business for a free technical SEO consultation — we’ll review your site and implement tailored improvements to keep your content visible and valuable.




