2011年3月2日(水) 23:11:13 @ Charlie

さらば Counterize II

Category : Counterize2

先日、 Counterize II のデータベースに不具合があったらしく、 WordPress の記事が一切出てこなくなった。

どうやら Counterize II は、それぞれの記事 (ページ) にアクセスすると、 Counterize II 用のデータベースから何かのデータを参照、もしくは追加した上で、ページを表示させているらしく ( 勘だが ) 、データベースに不具合が起こったことによって記事どころかメニューすら表示されなくなってしまった。

まあ、 WordPress 本体のデータベースが無事だったのが救いか。まあなくなっていたところで、世の中にある有象無象のサイトのひとつが消えるだけなのだが。

そしてよく考えると、アクセス統計なら awstats があるし、余計な解析機能は不要ということに気づいた。アクセス解析などたまに見るくらいだし、アクセス解析を冗長化する意味は、少なくとも私にはない。ついでに言うなら、アクセスカウンタすら不要なのだが。

しかし、このサイトを見に来てくれる奇特な方々が 9 万アクセスほど回してくれたので、どれほど回るのか興味を持ったから、何かはつけることにした。

とりあえず、 過去に Counterize II カスタマイズで変更していたテンプレを削除し、 Vanilla に戻すことにした。正確にはいろいろ弄っているので vanilla ではないが。

現在、 kent さんのカウンタを使用しています。

2008年11月28日(金) 22:00:33 @ Charlie

Counterize II のバージョンアップ作業

Category : Counterize2

Counterize II のバージョンアップ

2.12.7 から 2.14.1 へアップグレードしたので、今後のための覚書。

※ 記事「WordPress にカウンターを設置する」で改造している人は、これをやらないと動かない。

1. プラグインのダウンロード&解凍

CODE:
  1. # cd wordpress/wp-content/plugins/
  2. ・ テンポラリディレクトリの中で作業する
  3. # mkdir tmp
  4. # cd tmp
  5. # wget http://downloads.wordpress.org/plugin/counterizeii.zip
  6. # unzip counterizeii.zip

2. 改造コードの追加

CODE:
  1. # vi counterizeii/counterize.php

以下の改造コードを追加

PHP:
  1. if(function_exists('load_plugin_textdomain'))
  2.   load_plugin_textdomain('counterize','wp-content/plugins/counterizeii');
  3.  
  4. include("browsniff.php");
  5.  
  6. # この辺に追加
  7. # Bloody-Mary
  8. function counterize_getPageHits($uri) {
  9.   $a = parse_url($uri);
  10.   parse_str($a['query']); # Check
  11.   if(ereg("[0-9]+$", $p)) {
  12.     $num_p = $p;
  13.     $sql = "SELECT count FROM wp_Counterize_Pages WHERE url = '" . $uri . "'";
  14.     $wpdb =& $GLOBALS['wpdb'];
  15.     $result = $wpdb->get_var($sql) . " Access";
  16.   } else {
  17.       $result = "";
  18.   }
  19.   return $result;
  20. }

3. 旧バージョンの無効化&新バージョン有効化

以上で OK 。

2008年2月14日(木) 20:02:42 @ Charlie

WordPress にカウンターを設置する

Category : Counterize2

WordPress 改造計画

Counterize II というプラグインは統計を取るためのものだが、アクセスカウンタとしても使えるらしい。というわけで、インストールしてみた。

※ コード部分の PLAIN TEXT をクリックするとテキストで表示されます。見やすい方で見てください。

1. ファイルを DL 、解凍、アップする

Counterize II - English から DL ページに跳んで、「Download Plugin」 をクリックすることで DL できる。
解凍後、 wordpress/wp-content/plugins/ にディレクトリごとアップロードする。
管理画面から編集できるように、 counterize.php のパーミッションを 666 (なるべく最小権限) にしておく。

2. Counterize II を日本語化する

Counterize II 日本語版のページより、 counterize-ii 2.10-ja_UTF を DL する。
解凍したファイルを Counterize II のフォルダに上書き。

3. MySQL のテーブルを作成する

CODE:
  1. # mysql -u root -p
  2. mysql> use wordpress; ← WordPress で使っている DB 名
  3. mysql> create table wp_Counterize
  4. (
  5. id integer not null auto_increment,
  6. IP varchar(16) not null default 'unknown',
  7. `timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ,
  8. url varchar(255) not null default 'unknown',
  9. referer varchar(255) not null default 'unknown',
  10. useragent text,
  11. primary key(id)
  12. ); ← ここまでで 1 行。なお、 wp_ は WordPress インストール時に設定した接頭語。
  13. mysql> quit;

なお、テーブルを作成する作業は、 Counterize プラグインを有効にしたときに、自動でやってくれるかもしれない。以下のテーブルが作成されていたし。

  • wp_Counterize
  • wp_Counterize_Keywords
  • wp_Counterize_Pages
  • wp_Counterize_Referers
  • wp_Counterize_UserAgents

4. プラグインの有効化

管理画面にログインする。
[プラグイン] - [プラグイン] で、 「Counterize II」を有効化する。

以上で Counterize II が有効になり、アクセス数の統計が取れるようになった。

以降、 WordPress にアクセスカウンタを表示させるための設定。

5. プラグインに新しい関数を追加

[プラグイン] メニューの「Counterize II」の編集をクリック。以下のコードを付け加える。

PHP:
  1. function counterize_getPageHits($uri) {
  2.  
  3.  $a = parse_url($uri);
  4.  parse_str($a['query']); # Check
  5.  if(ereg("[0-9]+$", $p)) {
  6.   $num_p = $p;
  7.  
  8.   #以下、間違っていました。(2008.03.21 修正)
  9.   #$sql = "SELECT count(1) FROM " . counterize_logTable() . " WHERE pageID = '" . $num_p . "'";
  10.     $sql = "SELECT count FROM wp_Counterize_Pages WHERE url = '" . $uri . "'";
  11.  
  12.   $wpdb =& $GLOBALS['wpdb'];
  13.   $result = $wpdb->get_var($sql) . " Access";
  14.  } else {
  15.   $result = "";
  16.  }
  17.  return $result;
  18. }

2008.03.21 追記

wp_Counterize_Pages というテーブルに訪問者数が記録されていました。

SQL:
  1. mysql> SELECT * FROM wp_Counterize_Pages WHERE url = "/bloody-mary/wordpress/?p=17";
  2. +--------+------------------------------+-------+--------+
  3. | pageID | url                          | count | postID |
  4. +--------+------------------------------+-------+--------+
  5. |     26 | /bloody-mary/wordpress/?p=17 |    62 |     17 |
  6. +--------+------------------------------+-------+--------+
  7. 1 row IN SET (0.00 sec)

6. スタイルシートの追加

[表示] - [テーマエディタ] - [スタイルシート]

CSS:
  1. #counterize_header {
  2.     font-weight        : bold;
  3.     margin             : 0 auto 0 10px;
  4. }

7. テーマの変更

[表示] - [テーマエディタ] - [インデックス] で、以下のコードを探す。

PHP:
  1. <div class="meta">
  2.     <?php _e("Filed under:"); ?> <?php the_category(',') ?> &#8212; <?php the_author() ?> @ <?php the_time() ?> <?php edit_post_link(__('Edit This')); ?>
  3.  
  4.       # 以下のコードを追加する。
  5.       <spanid="counterize_header"><?php echo counterize_getPageHits($_SERVER['REQUEST_URI']); ?></span>
  6.   </div>

カウンタの表示

記事毎のカウンタ表示

ホントにこれでいいのだろうか・・・

Counter : Access
ログイン