WP Super CacheとPopular Postsが併用できない場合|WordPress

投稿記事を静的ページ化する事で表示を早くするWP Super Cache、人気投稿記事ランキングを表示してくれるPopular Posts。どちらも人気プラグインです。
ボクももちろん導入していたのですが、2週間ほど経過してあることに気がつきました。Popular PostsのPV数とアクセス解析のPV数が大幅に違っている。

Popular Postsが正常に働いていない原因を調べた結果、どのような対策をとったかを記述します。

WP Super CacheとPopular Postsを併用した場合の症状

WP Super Cacheが静的ページ(キャッシュ)を作り、その保存されたキャッシュを観覧者は見ています。そしてPopular Postsはページ開かれる旅にカスタムフィールドの値pvc_viewsへ+1加算されるのですが、WP Super Cacheで作られた静的ページを開いてもカスタムフィールドが変動していませんでした。

Popular Postspvc_viewsはまったくカウントされていなかった訳ではありません。加算されるタイミングが見受けられたので検証してみたところ、どうやらWP Super Cacheのキャッシュがリフレッシュ(静的ページ消去)された後にページが開かれると1PVカウントされていたようです。リフレッシュ後にページを開くともちろん静的ページが作成されるのでしばらくカウントされません。

WP Super Cacheは指定した時間内にページが開かれないのであればリフレッシュします。ですので人気のあるページはいつまでもPVが増えないことになります。

今回とった対策

このpvc_viewsがカウントされない不具合はもしかすると僕だけの症状かもしれません。WP Super Cacheの設定のミスが無いともいえません。

なぜなら同じ症状が出ている方を見つけられなかったから。人気のあるプラグインですので併用している方はいらっしゃるはずです。

今回とった対処方法

ボクはPHPを書けないためカスタマイズすることはできません。ですから今回はPopular Postsを諦めて似た別のプラグインを使うことにしました。完全に逃げです。

代わりに使用した人気記事表示のプラグイン 『WordPress Popular Posts』

WP Super Cacheは気に入っているためPopular Postsの代用としてWordPress Popular Postsを使用することにしました。

まずこのプラグインの特徴としてAjaxが使われ外部処理でPV値をカウントします。ですからWP Super Cacheと問題なく併用することができました。

WPプラグインWordPress Popular Posts

ダッシュボードで時期別の一覧が見れる

WordpressPopularPostsStats

何より有難いと思ったのは管理画面のダッシュボードに『日』『週』『月』『過去すべて』と一覧を切り替えて調べることができます。

管理者が投稿記事を開いてもPVは増えない

Popular Postsの場合、デフォルトでは管理者がページを開いてもPV値が増えます。ページをブラウザで更新表示した場合にも増えてしまっていました。しかしWordPress Popular Postsはアカウントログインしている限りPV値はカウントされないようです。

WordPress Popular Posts|特徴の簡易リスト

  • 人気記事ランキングを『日』『週』『月』『過去すべて』で表示
  • ダッシュボードで人気記事ランキングを一覧表示
  • ランキング順序を『合計閲覧者』『1日の平均閲覧者』『コメント数』から選べる
  • ランキング表示のマークアップに好きなHTMLタグが使える ※ulなど
  • 簡単にウィジェットで表示可能 ※管理画面>ウィジェット内で細かい設定ができる
  • ランキングにサムネイル画像を表示できる
  • コメント数と閲覧数の表示/非表示

以上のような特徴があります。Popular Postsも様々なカスタマイズができますが、ボクはWordPress Popular Postsの方が好みです。

WordPress Popular Postsの簡単な使い方

ウィジェットで使う

Wordpress Popular Posts-ウィジェット

利用できるウィジェットの中にWordPress Popular Postsが増えているので使用しているウィジェットに追加してください。

WPテンプレートタグ

Wordpress Popular Posts テンプレートタグリスト

テンプレートタグ内に追加したい値を指定することでランキング表示をデザインできます。

詳しい値については管理画面の
設定>WordPress Popular Posts>What attributes does WordPress Popular Posts shortcode [wpp] have?をご覧ください。

WPテンプレートタグ デフォルト設定

<?php get_mostpopular(); ?>

ショートコード

[wpp]

このBlogで使用しているテンプレートタグの値 (2011/0715現在)

ol要素で出力|月毎のランキング表示|タイトル文字数40字|コメント/PVは非表示|12位まで表示

<?php get_mostpopular("wpp_start=<ol>&wpp_end=</ol>&range=monthly&order_by=views&title_length=40&stats_comments=0&stats_views=0&limit=12"); ?>

以上です。

今回記事で紹介したプラグイン

WP Super Cache
WordPressの動的ページの静的ページを作り表示を高速化。
Popular Posts
使用をやめた投稿記事の人気ランキング表示。Post-Plugin Libraryが必要。
WordPress Popular Posts
使用した投稿記事の人気ランキング表示

WordPress Popular Postsの詳しい導入方法は後日記事にしたいと思います。