弊社が運用するこそだてハックではWordPressを使用していますが、ランキング表示に人気のある「Wordpress Popular Posts」というプラグインを使っていましたが、アクセス毎にPVをカウントするためサーバー負荷が高くなってしまいました。
そこでGoogleアナリティクスからアクセス数を取り出すように出来ないかと思い、いくつかの方法を探しましたが、中でもSimple GA Rankingというプラグインが素晴らしかったので紹介したいと思います。あまり記事がなかったので、あまり使われてないのかな?
Simple GA Rankingのほんとうに素晴らしい点
- GAから簡単にランキングをとれる(日数、件数が設定可能)
- 取得結果に24時間キャッシュがかかる(WPにTransients APIという機能があることを初めて知って感動)
- WordPress側のカテゴリや、GA側のフィルタを使って絞込可能
- apply_filtersで表示結果をカスタマイズ可能
ただ弊社の環境では、いくつかのカテゴリ別のランキングを10件出す必要があったので、プラグイン内のソースをいじりました。
→作者の方からのコメントにより訂正します。ソースをいじらずに調整可能です。
調整した点
ランキングをカテゴリ別に表示させたりしない人には関係ありません。 110行目あたりに、GAからデータを取得するメソッドがあります。$ga->requestReportData(
$options['profile_id'],
array('hostname', 'pagePath'),
array('pageviews'), array('-pageviews'),
$filter_val,
$options['start_date'],
$options['end_date'],
1,
apply_filters( 'sga_ranking_limit_filter', 30 )
);
Theme内のfunctions.phpに下記コードで件数を調整します。
add_filter( 'sga_ranking_limit_filter', function($limit) { return 200; } );
以上で、無事に各カテゴリのランキングも表示されました。200件という件数についてはそれぞれサイトの仕様によって調整してみてください。
以上になります。
そこそこのアクセス数のあるWP管理者さんで、まだWordpress Popular Postsを使っているのであれば、ぜひ利用してみてください。