1. HOME
  2. WordPress
  3. WordPressで「本当に人気のタグ」を表示する方法|アクセス数ベースの実装
WordPress - 2025-07-19

WordPressで「本当に人気のタグ」を表示する方法|アクセス数ベースの実装

WordPressサイトで「人気タグ」を表示したいと考えたとき、通常は「タグがどれだけの投稿に使われているか(使用回数)」で並べ替えます。

しかし、本当に読まれているタグとは、
「アクセス数の多い投稿に使われているタグ」=「読者が実際に興味を持っているテーマ」ではないでしょうか?

この記事では、アクセス数ベースで人気タグを抽出する方法を中心に、以下を解説します。

  • 「使用回数」ベースの限界と課題
  • 「アクセス数」ベースでタグの人気を測る理由
  • 実装ステップ(Post Views Counter連携)
  • カスタムクエリで人気タグを取得するサンプルコード
  • ウィジェット&表示デザイン例(CSS付き)

なぜ「使用回数順」では不十分なのか?

WordPressのget_tags()wp_tag_cloud()は、デフォルトで投稿数(count)順にタグを並べます。

例:

  • WordPressタグ:100件 → 使用頻度は多いが、読まれていない可能性もある
  • AIツールタグ:5件 → 投稿は少ないが、アクセスは非常に多い

つまり、表面的な使用数ではなく、アクセス数から人気を測ることが重要です。

「アクセス数」ベースで人気タグを表示する方法

ステップ1:アクセス数を記録するプラグインを導入

まずは、投稿ごとのアクセス数を記録する必要があります。
以下のプラグインが便利です。

Post Views Counter

  • 投稿・固定ページ・カスタム投稿タイプに対応
  • 任意の場所にビュー数を表示可能
  • PVの記録対象を詳細に設定できる

インストール方法

WordPress管理画面 > プラグイン > 新規追加 > 「Post Views Counter」で検索 > 有効化

ステップ2:PVの多い投稿に使われているタグを集計する

以下のカスタムクエリを用いて、「アクセス数の多い投稿に使われているタグを取得」します。

🔧 functions.php に以下を追加:

function get_most_viewed_tags($limit = 10) {
    global $wpdb;

    // アクセス数上位の投稿IDを取得
    $popular_posts = $wpdb->get_col("
        SELECT post_id FROM {$wpdb->prefix}postmeta
        WHERE meta_key = 'post_views_count'
        ORDER BY CAST(meta_value AS UNSIGNED) DESC
        LIMIT 100
    ");

    if (!$popular_posts) return;

    // タグの使用数を集計
    $tag_counts = [];
    foreach ($popular_posts as $post_id) {
        $tags = wp_get_post_tags($post_id);
        foreach ($tags as $tag) {
            $tag_id = $tag->term_id;
            if (!isset($tag_counts[$tag_id])) {
                $tag_counts[$tag_id] = 0;
            }
            $tag_counts[$tag_id]++;
        }
    }

    // 使用数でソート
    arsort($tag_counts);
    $tag_counts = array_slice($tag_counts, 0, $limit, true);

    // 表示
    echo '<ul class="popular-tags">';
    foreach ($tag_counts as $tag_id => $count) {
        $tag = get_tag($tag_id);
        $link = get_tag_link($tag_id);
        echo '<li><a href="' . esc_url($link) . '">' . esc_html($tag->name) . ' (' . $count . ')</a></li>';
    }
    echo '</ul>';
}

呼び出しコード(例:sidebar.php など)

<?php get_most_viewed_tags(10); ?>

スタイリング:人気タグをきれいに見せるCSSサンプル

ul.popular-tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
}
ul.popular-tags li a {
  background: #eef2f7;
  padding: 6px 12px;
  border-radius: 20px;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s;
}
ul.popular-tags li a:hover {
  background: #0073aa;
  color: white;
}

✅ 注意点・パフォーマンス対策

  • 上記の方法は、リアルタイムで人気タグを集計しているため、PV数が多いサイトではキャッシュを検討してください。
  • WP Super Cache や Transients APIと組み合わせて、一定時間ごとに結果をキャッシュすると高速です。

まとめ

人気タグは、サイトの方向性やユーザーの関心を可視化する重要なヒントになります。
また、単なるデザイン要素ではなく、ユーザー行動やSEOにも直結する重要なナビゲーションです。
自分のサイトの運用目的や読者層に応じて、適切な方法で人気順タグを表示してみましょう。