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にも直結する重要なナビゲーションです。
自分のサイトの運用目的や読者層に応じて、適切な方法で人気順タグを表示してみましょう。