Count per Dayのカウントを日本のみに

その後も必要に応じてちょこちょこwordpressのプラグインを追加している。それなりに作り直すとやはり気になるのがPVで、自分について言えばアクセスログでも確認できるんだけど、やはりカウンター的なものを設置したくなる。いろいろ調べてみた結果、見た目も含めて選んだのがCount per Day。自分の場合wordpressの運用は初めてではないので、何となく前も使ってたような。閉鎖する前に使っていたプラグインのリストをメモっておけばよかったな。

いつもならプラグインの新規追加で、さくっと検索してインストールして反映で終わりなのだが、このプラグインは検索しても出てこない。どうやら公式プラグインではなくなったようなので、以下のサイトから直接ダウンロードする。

Count per Day : Toms Dimension

プラグインの新規追加ページに『このページから zip 形式のプラグインをアップロード』というリンクがあるので、そちらをクリックして落としたファイルを選択してアップロードする。

ちなみに、この手のアップロードや本体、プラグインの更新機能はhttpdやphpプロセスがwordpressの配置されているディレクトリに更新権限を持っていないと動作しないので注意。逆に言えば、権限を適切に設定しているとアップロードでさくっとプラグインを追加してくれる。あとは外観のウィジェットのところでカウンターを配置すれば完成。テキストの文字列と数値のみのシンプルなカウンターなんだけど、他のゴテゴテしたものよりこっちの方が全然よいという判断をしましたw

という訳で非常に気に入っていたカウンターなんだけど、あるときから数値がおかしくなる。しばらく自宅環境で動かしていたんだけど、それをネット上のクラウドに移行させた頃からだ。Count per Dayは一般的なBotなどは最初から弾いてくれるにもかかわらずUUやPVがやたら高い。ユーザーエージェントは標準的なものなので、思い切って日本以外のIPをカウントしないことに。設定のCount per Dayを選択、更に設定タブをクリックするとExclude Countriesという項目がある。ここにやたら見かけるUSやらロシア、中国を国名コードで追加する(cn, us, ru)。

これで大分ましになったんだけど、それでもカウンターはまあまあ上がっていく。いちいち細かいアクセスごとに国名コードを設定して除外していくのも面倒なので、除外対象を設定するのでなく、日本のみをカウントするようにプラグインを修正する。count-per-day/counter.phpの中に以下のような箇所があるので、その真偽を逆転させる。

if ( !in_array($country, explode(',', $this->options['exclude_countries'])) )
 ↓
if ( in_array($country, explode(',', $this->options['exclude_countries'])) )

これで、exclude_countriesに含まれる国のみカウントする、というロジックになるので、設定タブのExclude Countriesに『jp』のみを設定して完了。やっとすっきり。変数名の意味が逆転しているけど気にしない!w

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)