یاد بگیرید چگونه بدون استفاده از هیچ افزونه‌ای، مطالب پربازدید وبسایت وردپرس خود را نمایش دهید. افزایش تعامل کاربر و بهبود سئو داخلی با کدنویسی ساده و لینک‌سازی اصولی.

آیا می‌خواهید بخش مطالب پربازدید را به وبسایت وردپرس خود اضافه کنید اما از نصب افزونه‌های اضافی اجتناب دارید؟ شاید بخواهید سرعت سایت را حفظ کنید یا کنترل بیشتری روی خروجی داشته باشید.

خبر خوب این است که با یک تکه کد ساده و قدرتمند می‌توانید این کار را به راحتی انجام دهید. در این آموزش، به شما نشان می‌دهیم که چگونه بدون هیچ افزونه‌ای، لیستی از پست‌های پربازدید را در sidebar، فوتر یا هر بخش دیگری از سایت خود نمایش دهید و با لینک‌سازی داخلی حرفه‌ای، سئو سایتتان را تقویت کنید.

 

چرا نمایش مطالب پربازدید مهم است؟

هدایت کاربران به مطالب ارزشمند: بازدیدکنندگان جدید را به محتوای پرطرفدار و معمولاً مفید سایت شما هدایت می‌کنید.

افزایش زمان ماندگاری در سایت: کاربران با مشاهده مطالب جذاب دیگر، بیشتر در سایت می‌چرخند که این یک سیگنال مثبت برای گوگل است.

بهبود نرخ پرش (Bounce Rate): با ارائه پیشنهادهای مرتبط، از خروج سریع کاربران از سایت جلوگیری می‌کنید.

لینک‌سازی داخلی قدرتمند: به صورت خودکار به مطالب اصلی خود لینک می‌دهید و قدرت لینک‌ها (Link Juice) را در سایتتان توزیع می‌کنید.

مقاله مربوط به آموزش پیدا کردن کلمات کلیدی برای سئو سایت (راهنمای کامل برای افزایش بازدید) را مطالعه کنید

 

مرحله ۱: ذخیره تعداد بازدید هر مطلب

وردپرس به طور پیش‌فرض تعداد بازدید را ذخیره نمی‌کند. بنابراین اولین قدم، ایجاد یک فانکشن برای شمارش و ذخیره این اطلاعات است.

کد زیر را به فایل functions.php قالب فرزند (Child Theme) خود اضافه کنید. (همیشه از قالب فرزند استفاده کنید تا با بروزرسانی قالب اصلی، کدهای شما از بین نروند).

// تابع برای ثبت و به روزرسانی تعداد بازدید پست
function track_post_views($post_id) {
    if ( !is_single() ) return; // فقط برای صفحات تک پست اجرا شود
    if ( empty($post_id) ) {
        global $post;
        $post_id = $post->ID;
    }
    $count_key = 'post_views_count';
    $count = get_post_meta($post_id, $count_key, true);
    if ($count == '') {
        delete_post_meta($post_id, $count_key);
        add_post_meta($post_id, $count_key, '1');
    } else {
        $count++;
        update_post_meta($post_id, $count_key, $count);
    }
}
// اجرای تابع روی تک پست‌ها
add_action('wp_head', 'track_post_views');

این کد یک فیلد سفارشی (Custom Field) به نام post_views_count برای هر پست ایجاد می‌کند و هر بار که آن پست مشاهده می‌شود، عدد این فیلد را یک واحد افزایش می‌دهد.

 

مرحله ۲: ایجاد کوئری برای واکشی مطالب پربازدید

حالا باید یک کوئری (Query) بنویسیم که پست‌ها را بر اساس تعداد بازدید مرتب کند. ما این کار را در یک تابع جداگانه انجام می‌دهیم تا بتوانیم آن را در هر جایی فراخوانی کنیم.

کد زیر را نیز به فایل functions.php اضافه کنید:

// تابع برای واکشی مطالب پربازدید
function get_popular_posts($posts_count = 5) {
    $args = array(
        'post_type' => 'post', // نوع محتوا: پست
        'meta_key' => 'post_views_count', // فیلد سفارشی که ایجاد کردیم
        'orderby' => 'meta_value_num', // مرتب سازی بر اساس عدد
        'order' => 'DESC', // به صورت نزولی (بیشترین بازدید اول)
        'posts_per_page' => $posts_count, // تعداد پست ها (پیش فرض: 5)
        'ignore_sticky_posts' => true // پست های چسبیده را در نظر نگیر
    );
    $popular_posts = new WP_Query($args);
    return $popular_posts;
}

توضیح پارامترها:

$posts_count: تعداد پست‌هایی که می‌خواهید نمایش دهید (پیش‌فرض ۵).

‘meta_key’: همان کلید فیلد سفارشی ما است.

‘orderby’ => ‘meta_value_num’: به وردپرس می‌گوید بر اساس مقدار عددی فیلد سفارشی مرتب‌سازی کند.

 

مرحله ۳: نمایش مطالب پربازدید در قالب

حالا می‌توانیم تابع get_popular_posts را در هر بخشی از قالب خود فراخوانی کنیم. برای مثال، می‌خواهیم آن را در sidebar.php نمایش دهیم.

به فایل sidebar.php قالب خود بروید و کد زیر را در محل مناسب قرار دهید:

<?php
// دریافت 5 مطلب پربازدید
$popular_posts = get_popular_posts(5);

if ($popular_posts->have_posts()) :
?>
    <div class="widget popular-posts-widget">
        <h3 class="widget-title">مطالب پربازدید</h3>
        <ul>
            <?php while ($popular_posts->have_posts()) : $popular_posts->the_post(); ?>
                <li>
                    <!-- لینک سازی داخلی به مطلب -->
                    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                        <?php the_title(); ?>
                    </a>
                    <!-- نمایش تعداد بازدید (اختیاری) -->
                    <span class="view-count">(<?php echo get_post_meta(get_the_ID(), 'post_views_count', true); ?> بازدید)</span>
                </li>
            <?php endwhile; ?>
        </ul>
    </div>
    <?php wp_reset_postdata(); // بازنشانی کوئری اصلی ?>
<?php endif; ?>

نکات مهم این بخش (لینک‌سازی داخلی و سئو):

استفاده از تگ <a> با the_permalink(): این کار یک لینک داخلی استاندارد و معتبر به هر یک از پست‌های پربازدید ایجاد می‌کند.

ویژگی title در لینک: با استفاده از the_title_attribute()، یک متن توضیحی برای لینک قرار می‌دهیم که هم برای سئو مفید است و هم هنگام هاور کردن موس، به کاربر نمایش داده می‌شود.

متن لینک (Anchor Text): استفاده از the_title() به عنوان انکرتکست، یک انکرتکست مرتبط و طبیعی ایجاد می‌کند که برای گوگل بسیار قابل درک است.

ساختار لیست <ul> و <li>: این کار از نظر معنایی (Semantic HTML) صحیح است و به موتورهای جستجو در درک ساختار لیست کمک می‌کند.

 

مرحله ۴: استایل دهی با CSS (اختیاری اما توصیه شده)

برای زیباتر شدن ظاهر لیست، می‌توانید از CSS استفاده کنید. کد زیر را به فایل style.css قالب خود اضافه کنید:

.popular-posts-widget {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.popular-posts-widget .widget-title {
    font-size: 1.2em;
    border-bottom: 2px solid #e67e22;
    padding-bottom: 5px;
    margin-top: 0;
}

.popular-posts-widget ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.popular-posts-widget li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #ddd;
}

.popular-posts-widget li:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.popular-posts-widget li a {
    text-decoration: none;
    font-weight: bold;
    color: #333;
}

.popular-posts-widget li a:hover {
    color: #e67e22;
}

.popular-posts-widget .view-count {
    font-size: 0.8em;
    color: #777;
    display: block;
}

 

سوال: آیا این روش با کش (Cache) پلاگین ها تداخل ندارد؟

چرا، دارد. اگر از پلاگین‌های کش مانند W3 Total Cache یا WP Rocket استفاده می‌کنید، ممکن است شمارش بازدید به درستی کار نکند، زیرا صفحات کش شده هستند و کد PHP شما هر بار اجرا نمی‌شود. برای رفع این مشکل، معمولاً باید از متدهای جایگزین مانند استفاده از AJAX یا قابلیت‌های خود پلاگین کش استفاده کنید.

آآیا میخواهید برخی مطالب، برگه ها  و پست های سایت خود را به صورت کامل کپی کنید مقاله افزونه Duplicate Page راهنمای کامل کپی و شبیه‌سازی صفحات وردپرس را مطالعه کنید

جمع‌بندی نهایی

با دنبال کردن این آموزش، شما موفق شدید:

یک سیستم شمارش بازدید سفارشی و سبک ایجاد کنید.

یک کوئری بهینه برای واکشی مطالب پربازدید بنویسید.

این لیست را با رعایت اصول لینک‌سازی داخلی در سایت خود نمایش دهید.

یک ابزار قدرتمند برای افزایش تعامل کاربر و بهبود سئو بدون وابستگی به هیچ افزونه‌ای بسازید.

این روش نه تنها سرعت سایت شما را تحت تأثیر منفی قرار نمی‌دهد، بلکه کنترل کاملی در اختیار شما یک توسعه‌دهنده قرار می‌دهد. حالا می‌توانید با خیال راحت بخش مطالب پربازدید خود را که یک نقطه کلیدی در استراتژی سئو داخلی است، راه‌اندازی کنید.