LoginSignup
26
26

More than 5 years have passed since last update.

[WordPress]Googleアナリティクスからランキングを表示するプラグイン、Simple GA Rankingは本当に素晴らしい

Last updated at Posted at 2014-12-08

弊社が運用するこそだてハックではWordPressを使用していますが、ランキング表示に人気のある「Wordpress Popular Posts」というプラグインを使っていましたが、アクセス毎にPVをカウントするためサーバー負荷が高くなってしまいました。

そこでGoogleアナリティクスからアクセス数を取り出すように出来ないかと思い、いくつかの方法を探しましたが、中でもSimple GA Rankingというプラグインが素晴らしかったので紹介したいと思います。あまり記事がなかったので、あまり使われてないのかな?

Simple GA Rankingのほんとうに素晴らしい点

  • GAから簡単にランキングをとれる(日数、件数が設定可能)
  • 取得結果に24時間キャッシュがかかる(WPにTransients APIという機能があることを初めて知って感動)
  • WordPress側のカテゴリや、GA側のフィルタを使って絞込可能
  • apply_filtersで表示結果をカスタマイズ可能

ソースコードも見ましたが、開発はAmimotoやめ組テーマを作っているDigitalCubeさんの方のようなので、さすがWordPressを知り尽くした方々によって作られたプラグインだと思いました!!

ただ弊社の環境では、いくつかのカテゴリ別のランキングを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 )
);

このプラグインではGAから30件のみ取得することになっています。この取得した結果にたいして、必要なものを絞り込んで表示する仕組みになっています。そのため、30件中、仮にAというカテゴリの記事が2件しかなければ、ランキングを10件表示させる設定にしていても2件しか表示されなくなりました。
そのため暫定的に200件ほど読み込んで処理をするように変更しました。APIのアクセスはキャッシュがかかりますので、1回だけ少し負荷がかかりますが、そこまでの差ではありません。

Theme内のfunctions.phpに下記コードで件数を調整します。

add_filter( 'sga_ranking_limit_filter', function($limit) { return 200; } );

以上で、無事に各カテゴリのランキングも表示されました。200件という件数についてはそれぞれサイトの仕様によって調整してみてください。

以上になります。

そこそこのアクセス数のあるWP管理者さんで、まだWordpress Popular Postsを使っているのであれば、ぜひ利用してみてください。

Simple GA Ranking

26
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
26