アクセス解析は webalizer で行っていますが、複数のブログを運用している中でそれとなくカウンターが付けられたらいいなと思い導入しました。
また、このプラグインより前に IP City Cluster というものが見付かったので、こちらも導入したいと思います。
とはいえコンソールですべき作業はなさそう。
展開してプラグインディレクトリに投入してやると問題なく動作し始めました。
話がそれますが、API Key の居る WordPress.com Status というのを入れようとしたのですが、こちらは WordPress.com で登録したアカウントのブログ情報に対して集計を掛けるようで、Akismet のようにブログ毎に共通キーで適用できるのかが心配。
設定中にエラーが出て??となり使用を停止したのだが Counterize II の調子は良かった。
さて、展開時に *-ja_* という日本語モジュールが見られた気がするのですが、日本語になっていない。
これは少し面白くないが readme には載っておらず、本家サイトもタグをクリックすると応答がなくなり意気消沈。
ディレクトリの一覧を見ると mo po というよく見る日本語化モジュールのようなので、どこかにその設定があるだろうと .php の内容を確認していく。
結局 .php 内に記述が無かったので、グローバル化されたモジュールを読み込む基本機能が WordPress の Plugin 機能に実装され、プラグインファイル名に – で文字コードを結合した mo po ファイルを使用するのではないかと判断。
だが、それならば何故日本語化されていないのか。
※詳しくは WordPress ドキュメントのプラグインの作成などを参照
暫く迷った後望みを Google 先生に託したところこちらのサイトが紹介されていた。
Wordpressのアクセス解析(カウンター)プラグインCounterize IIを導入 | 無料で使える情報探す「おぼえがき」
どうやら _UTF という文字列が障害要因のようだったので、早速 cp して確認すると、無事日本語化できていた。
上記サイトでログ表示の拡張などがあがっていたが、編集に入る前に状況を確認しよう。
◆どこに追加されたか
- ダッシュボード
ここの『現在の状況』が拡張され Counterize II の簡単な情報が表示されている。
表示される内容は「合計」「今日」「現在」の値のみだ。
また、タブから投稿内の項目である Counterize II へジャンプが可能になっている。 - 投稿
『Counterize II』 という項目が増えている。
こちらでは詳細な情報が集計されている。
ここに表示される内容は設定項目で設定するようだ。 - 設定
『Counterize II』 という項目が増えている。
投稿項目の Counterize II で表示される集計の設定が可能だ。
使い方としては、集計を見ることはそれほどないだろう。
多分アクセス解析としては webalizer で十分と判断しているためだ。
ここで、上記利用方法を紹介されているサイトのコピペにてテーマに埋め込む項目を追加する。
WordPress 内でも構わないと思うが diff が欲しいのでコンソールで編集して記録を残す事にする。
検索のポイントは return $wpdb->get_var($sql) がいいだろう。
文字列を返すだけの関数で、ページヘッダやサイドバーに埋め込む事ができそうだ。
どの関数がそういう結果を返すのか確認と羅列してみよう。
counterize_getamount($only_this_month = false)
counterize_getuniqueamount()
counterize_getkeywordamount()
counterize_gethitstoday()
counterize_getuniquehitstoday()
counterize_getlatest7days()
counterize_getuniquelatest7days()
counterize_get_online_users()
counterize_getHitsOnCurrentArticle()
counterize_getuniquereferers()
counterize_getuniquebrowsers()
counterize_getuniqueurl()
counterize_getUserAgentID($useragent)
これらを表示させ、使えそうな情報を選定する。
一応帰ってくる値は全て数値であるのでカウントである事がわかる。
また、アクセスの度に unique 指定の無い関数がカウントアップされ unique 関数はカウントアップされない事から unique とはリロードなど、同一アクセスがカウントされないということが想定できる。
つまり、トップなどに表示したりカウンタとして利用するのなら、とにかくカウントアップする counterize_getamount() より、同一ユーザーのアクセスを排他する counterize_getuniqueamount() の方が適切だといえよう。
一旦 unique の問題を忘れ、使用に適していると考えられる関数を用途と共に記そう。
<ul> <li>現在:<?php echo counterize_get_online_users();?></li> <li>今日:<?php echo counterize_getuniquehitstoday();?></li> <li>週間:<?php echo counterize_getuniquelatest7days();?></li> <li>合計:<?php echo counterize_getuniqueamount();?></li> </ul>
他の値は解析ならともかくユーザーに見せるものでもないので割愛する。
細かい点はログインして確認すればよいのだ。
またCMSとしては必要なのかもしれないが、自分には今日の昨日を比較するという習慣がないので追加関数は定義しない事にする。
次に IP City Cluster を導入してみよう。
Counterize II 同様に展開以外の手間はなさそうだ。
ですが、インストレーションにこんな注意書きがある。
PHP の実行時間が 30 秒以上になる可能性があり、それを拡張するためセーフモードでない必要がある。
画像生成に 5 分掛かる古いサーバーもある。
すみません。
導入は辞退させていただきます。