作成:2008-07-04 00:40:02
MovableTypeのプラグインで、「GoogleAnalyticsWidget」というのがあります。
http://apperceptive.com/plugins/googleanalyticswidget/
で、MTで動いたというページがあちこちに散見されるのですが、
僕のMTでは動きません。
動く例:http://bizcaz.com/archives/2007/10/08-032921.php
んで、かなり長い時間かかって動かない理由を調べて、
やっと動くようになったのでご報告。
動かない理由は二つあります。
1,Crypt::SSLeayというPerlのモジュールがない
これは、もう諦めるしかないです。
ちなみに、僕が使っているこのロリポップサーバーは、
このモジュールが入っていないので使えません。
なので、ロリポップの人は諦めるしかないです・・・。
このモジュールはSSLを使った通信をするのに必要です。
Googleにログインする際にhttpsのサイトと通信する必要が
あるので、このモジュールが必要になります。
GoogleAnalyticsWidgetのソースを見ても、
このモジュールをuseするとは書いてありません。
その代わり、LWP::UserAgentというモジュールはuseされていて、
これが実行されるときに必要なので呼ばれています。
2.MTのバージョンが4.1あるいはそれ以上
使えた!と書いてあるひとのMTのバージョンは
おそらく4.0(あるいはそれ以下)なのだと思います。
実は、1の問題をクリアしているなら、
MT4.1で動作させるのはあと一歩なんです。
おそらく、動かない人はプラグインをインストールして、
アカウントとパスワードとIDを設定したのに
MTに何の変化もない、という症状なのではないかと思います。
そういう症状の場合、
実は表示する部分だけがうまく作動してなくて、
そこに至るまでの部分は正常に実行されていて、
グラフのデータ自体は自分のサーバーに保存されているはずです。
データはstaticフォルダに保存されています。
FTPを立ち上げて、以下のpathを調べて見てください。
表示に失敗しているだけなら、
このXMLファイルが生成されているはずです。
mt/mt-static/support/dashboad/stats/0/(blogのNo.)/001/googleanalytics.xml
このウィジェットはグラフを表示するために、
テンプレートの一部を正規表現を使って認識し、
そこにグラフの表示ソースを挿入しているのですが、
MTのバージョンが変わって、
正規表現を使った認識ができなくなってしまったのだと思われます。
だったら、MT4.1でもちゃんと認識できるように
正規表現の部分を書き換えればいいじゃん、なのですが、
自分にはそれができなかったので、
スクリプトを自分なりに書き換えました。
そうすることで、動くようになりました。
書き換えたスクリプトをここに置きますので
よければ使ってください。
GAWforMT4.1.zip
GAWforMT4.1.zip
zipで圧縮してあるので、解凍してください。
googleanalytics.plとview.tmplというファイルがあります。
googleanalytics.plは本家のプラグインフォルダにある
同名のファイルと置き換えてください。
view.tmplはtmplフォルダにコピーしてください。
それで、このプラグインは使えるようになるはずです。
***
ちなみにこのウィジェット、ただ単にアクセス数を表示するだけなので、
あんまり意味ないです。
以下のような機能拡張に関して書いてあるページがありますので、
それを参考に手直ししてみるとよいかもしれません。
http://tmp.beta4u.com/archives/2007/10/000064.html
***
似たようなウィジェットとして、以下のようなものもあります。
こちらは、独自にアクセスログの収集から解析までをこなすプラグインです。
メールアドレスの登録をしないとDLできませんが、
まあ、よくできていると思います。(使ってませんが)
***
関連ページ:
mt4plugin080325
GoogleAnalyticsWidget doesn't work
CPAN CPAN CPAN!