WordPressでJetpackプラグインの統計情報を使って「人気記事トップ10」とか表示したり、投稿(記事)別にPV数を表示する方法

ところで、Webサイトに人気記事を表示する方法はいくつかありますが、私がパッと思いつくのがGoogleAnalyticsのAPIを使う方法ですね。少しコード書ける方にとっては導入の難易度も高くないです。

じゃあ、WordPressでやるとしたら・・・人気記事を表示するプラグイン「WordPress Popular Posts」が比較的手っ取り早いやり方で、ブロガーさんがこぞって取り上げたりもしていますので、話題性という意味ではわりと有名じゃないかな、と思います。

上記の方法でももちろんOKだと思うんですが、今回はWordPressで人気記事を表示するもう一つの方法として、「Jetpack」プラグインの統計情報を利用して「Jetpack Post Views」というプラグインを併せて使う方法をご紹介します。

この方法を使うと、人気記事を表示することができますし、おまけに「投稿(記事)別でPV数の表示」などもできちゃう。

興味をお持ちの方は、ご参考ください。

プラグインのインストール&有効化

前提あります

  • 「Jetpack」プラグインは既にインストール済み
  • WordPress.comのアカウントも作成済、連携もできている
  • Jetpackの「統計情報」を有効にしている

以上が前提です。

上記の状態で「Jetpack Post Views」プラグインをインストール、有効化します。WordPressの管理画面から「プラグイン」→「新規追加」でプラグイン名で検索してインストール&有効化してください。

とりあえず、プラグインを有効化したら次は設定をしますが、その前にちょっとだけやることがあります。

プラグイン設定の前に、まずはWordPress.comで「APIキー」を取得する

プラグインを設定する前に、https://apikey.wordpress.com/にアクセスして「APIキー」を取得しましょう。

「WordPress.comにログインしてからこのページをもう一回開いてね。もしWordPress.comのアカウントを持ってないときは、ここから登録してね。」

ってだいたい書いてありますね。というわけで、前提にある通りWordPress.comのアカウントは作成済だと思いますので、WordPress.comにログインしましょう。WordPress.comのアカウントを持っていない場合はこちらから登録できます。

ログインすると、下の画像のようにユーザー名とAPIキーが表示されますので、「APIキー」をメモっておきます。

「APIキー」は、先ほどインストールした「Jetpack Post Views」プラグインの設定をする時に必要です。

早速設定しましょう~。

「Jetpack Post Views」プラグインの設定

WordPressの管理画面の「設定」に「Jetpack Post Views」のリンク先がありますので、クリックします。

下のような設定画面が表示されます。ちょっと設定項目が多めですかね。

私が設定した箇所は、以下3項目でOKでした。(これ以外の設定方法は、ご自身でお試しください)

  • 3つのチェックボックスは「Blog URI」だけチェックします。
  • WordPress API Keyに先ほどメモった「APIキー」を入力します。
  • Blog URIは既に入力済となっているので、特に変更の必要はありませんでした。

設定すると、下のように準備OKな項目はステータスが緑色になります。この状態にしておきましょう。3項目すべて緑色になっていることが理想です。(NGの場合は赤色になっています)

以上でプラグインの設定は完了です。次は、いよいよ人気記事を表示してみます。

人気記事を簡単に表示できるウィジェットが使える、これは便利だなぁ

WordPressの管理画面から「外観」→「ウィジェット」を見ると、人気記事を表示するウィジェット「Jetpack Post Views Widget」が追加可能になっています。

設定項目は以下です。

  • Number of posts to show 投稿件数
  • Time interval 表示期間(全期間、日毎、週毎、月毎、年毎から選択)
  • Display number of views? PV数の表示の有無
  • Display as 表示形式(タイトルのみ、タイトル+サムネイル、サムネイルのみの3パターンから選択)
  • Exclude Posts 特定の投稿を除外(投稿IDで指定、カンマ区切りで複数指定可能)
  • Display only from selected post types 表示する投稿タイプの設定(チェックを入れると表示対象)
  • Display only from selected categories 表示するカテゴリー(チェックを入れると表示対象)

お好みで設定しましょう。

カスタマイズができる方は「ショートコード」でいろんなところに表示できる

プラグイン開発者の方の解説にわかりやすい例があります。

<?php
if ( function_exists('JPV_display_top_posts') ) { JPV_display_top_posts( $args ); }
$args = array(
 'days' => '-1',
 'limit' => '5',
 'exclude' =>'',
 'excludeCustomPostTypes' => false,
 'displayViews' => false );
?>

設定できるパラメーターは、

  • days 計測日数 10だと10日前から現在まで。-1だと全部
  • limit 表示件数。500が最大値
  • exclude 除外する投稿。投稿IDを指定
  • excludeCustomPostTypes 除外する投稿タイプ。特定のカスタム投稿タイプは表示したくないって場合はここを設定
  • displayViews PV数の表示有無。true:表示、false:非表示

と、こちらもお好みで設定ですね。テンプレートファイルに書いたりもできますし、使い勝手もいいです。

さらにカスタマイズができる方はこんなこともできる

もっと細かくカスタマイズする場合は、こちらの記事「WP-PostViewsとかJetpack Post Viewsで出力する記事を徹底的にカスタマイズしちゃう」を参考にしてください。より実用性もありますし、WordPressで制作を仕事としてやっている方は、これくらいのカスタマイズはやればできるとは思います。

「投稿(記事)別でPV数を取得」などもできる

例えば、個別投稿を表示するテンプレートファイル「single.php」に以下のコードを入れると、全期間、日毎、週毎、月毎、年毎でPV数を取得、表示できます。

<?php echo get_post_meta( $post->ID, 'jetpack-post-views', true ); ?> 全期間
<?php echo get_post_meta( $post->ID, 'jetpack-post-views-Day', true ); ?> 日毎
<?php echo get_post_meta( $post->ID, 'jetpack-post-views-Week', true ); ?> 週毎
<?php echo get_post_meta( $post->ID, 'jetpack-post-views-Month', true ); ?> 月毎
<?php echo get_post_meta( $post->ID, 'jetpack-post-views-Year', true ); ?> 年毎

PV数の更新頻度はどれくらいですか?

プラグイン開発者の方の解説によると、

Stats are updated hourly only if the plugin is active.

とあるので、プラグインがアクティブな場合(有効化されてる状態のこと)、1時間おきに更新されるとのことですね。

1時間おきに更新とあるが・・・

DBを見ると、全期間と年毎のPV数が1時間経っても更新されないことがありました。「なんでだろ・・・?」と思っていろいろ考えていたんですが、特に何も設定を触ることなく数時間後にはすべてのデータが更新されていました。

ですので、例えば「ウィジェットに設置してあるPV数が1時間経っても更新されない」という場合があっても、しばらく様子見をする方がいいでしょうかね。私の環境で起こった話でした。(ちょっと相談に乗ってもらったホホさんよっしーさんには感謝してます。ありがとうございます。)

まとめ

Jetpack Post Views」プラグインを使った人気記事とPV数を表示する方法のご紹介でした~。なかなか多機能で、カスタマイズも結構できます。いくつかある人気記事の表示方法の一つとしてご参考頂けますと幸いです。

著者:bouya Imamura