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>';}
PHP

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

<?php get_most_viewed_tags(10); ?>
CSS

スタイリング:人気タグをきれいに見せる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;}
CSS

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

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

まとめ

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

read next