アクセス解析でリファラ取得(久々のアクセス解析ネタ)

2006/12/02 | アクセス解析

久々のアクセス解析ネタ。といっても目的はアクセス解析ソフトではない。
自分のサイトを訪れてくれる人がどういったキーワードで検索してきたか調べて、動的にコンテンツを入れ替える手法を実現することが目的。
いまやアクセス解析といえばGoogle Analytics。普通にアクセス解析するならこれにまさるものはないだろう。なんといってももともと商用利用されていたものをGoogleが買収して無償で提供しているのだから。しかし超多機能なためどこから手をつけていいのか迷うのは事実だ。
あと一般によく使われているのは忍。ウェブを見て小さい手裏剣のアイコンがくるくるまわっているのを見たことがある人も多いだろう。こちらはもっとお手軽で初心者でも使いやすい。
余談はさておき、これらのアクセス解析ツールはJavaScriptのコードを埋め込んで解析を実施する。これによりリファラ(ウェブサイトの参照元)取得を実現できるからだ。リファラを取得できるということは、検索で使用されたキーワードを取得できるということになる。
JavaScriptでは以下のコードでリファラを取得できる。

var ref=document.referrer;

これをPHPに渡せばよい。具体的にはこんな感じ。

<script type="text/javascript">
document.write("<script type=’text¥/javascript’ src=’logging.js?ref=" + document.referrer + "’><¥/script>");
</script>

何をやっているかというと、JavaScriptからJavaScriptを呼び出すコードを書いている。しかし実際呼び出しているlogging.jsは単なるJavaScriptではなくPHPで記述することになる(拡張子jsでphpが動作するように設定しておく必要あり)。ここは拡張子phpのファイルを呼び出してもいい。要はphpで必要な処理をしてJavaScriptを出力しておくようなコードを書くわけだ(ちなみに忍はここで広告を表示するJavaScriptを書いている)。

結局上記のコードでは$_GET[‘ref’]にリファラが入ることになるが、このままでは実はNG。php内で処理する際には勝手にキーワードが日本語に変換されているからだ。一見便利そうだが、後で処理に手間取ることになる。
よって検索結果のURLのごとく%AB%6C・・・といったURLのまま取得したいわけだが、JavaScriptからphpに渡す際にエンコードして渡せばいい。
具体的には、document.referrerで渡しているところを以下のように、
escape(document.referrer)
として渡せばよい(escapeはJavaScriptのURLエンコード関数)。なおここでエンコードしたからといって、うっかり受け取り側のphpプログラムでデコードしてはいけない。元の木阿弥だ。受け取ったリファラのURLから必要な部分のみ取り出して、そこだけをデコードする。これでキーワードの取得が容易になる(はず)。

いつかはアクセス解析プログラムに手を出したい(暇になれば・・・)。

ウェブ運用作業管理ツール

2006/12/01 | その他

ウェブは「いったんつくったらそれで終わり」ということは少なくて、ほとんどの場合更新作業が発生する。更新作業のやり方はさまざまで、初回構築時にCMSツールまで作りこんで、更新作業は基本的に業者に発注しない・・・ということはまず少ない。たいていの場合はウェブの持ち主(発注者)は制作者(受注者)に依頼して更新作業をしてもらうことがおおいはずだ。またその場合作業内容はメールやファックス、電話等で依頼することが多い。こうなると更新作業が多くなってきた場合に「どの作業が完了でどの作業がまだか」といったことの管理が煩雑になり、ひいては「あっ、この作業やり忘れてた」なんてことになりかねない。
いろいろ考えて、作業管理ツールを作ってみた。いってみれば掲示板のようなものなのだが、いろいろ付加機能をつけてみた。

○ログイン機能
 関係者のみしか見る必要がないので。
○依頼書き込み機能
 書き込みがあると関係者全員にメールを配信して通知する(いわばML機能)。
○返信機能
 依頼に対しての質問や作業報告などをおこなう機能(投稿があると関係者全員にメール配信)。
○ファイルアップロード機能
 資料をファイルで渡す場合に、この掲示板にアップロードして渡す機能。
○完了フラグ機能
 作業が完了した依頼に対して完了フラグを設定可。これにより未完了の作業一覧を表示できる。

こういった仕組みをつくってみた。今、とあるお客さんとのやり取りにこれを使っているのだが、すごく便利!。今後昨日拡張しようかと思っている次第。

もしどなたかこの仕組みに興味をもたれた方がいたらコメントでも残してください。無償で提供しますから。どうぞ遠慮なくお気軽に。

Amazonウェブサービスを利用する(その1)

AmazonはアフィリエイターにとってもWeb2.0の視点から見ても魅力的なサービスを提供している。このサービスを使っていろいろマッシュアップしてみたいと思うので、ここにメモする。
まずAmazonのアフィリエイター登録をする。これはアフィリエイト紹介本ならどの本でも書いてある。アマゾンのトップページにアクセスして、一番下にある「アソシエイト・プログラム(アフィリエイト)に参加する 」から登録すればよい(ここではやり方を割愛)。ここでの登録は単純にアフィリエイト登録のみ。単純にアフィリエイトをしたいだけなら、ここで登録したIDを使って、管理画面でリンクを生成してぺたぺた貼り付ければいい(下右にあるようなイメージで表示される)。
しかしAmazonはいくつかすばらしい機能(API)を用意していて、プログラムからAmazonにアクセスして商品を検索したりする機能がある。Amazon Web Serviceと呼ばれている機能だ。
この機能の使い方については次回以降で書くとして、この機能を利用するにはアフィリエイト登録以外に別途APIの利用登録をする必要がある。今回はその登録方法を紹介する。
まずAmazon Web Serviceのサイトにアクセスする。下左のような画面が表示されると思うので、この中で赤矢印で示したあたりに「Create an Account」というのがあるので、ここからアカウントを生成する。
そのアカウントでログインすると、画面右側に「Your Access Key ID」というのがあるので、これを使用する。

AmazonWebServiceの登録その1

なお今回のプログラムを作成するに当たってとりあえず参考にしたのはこの本(上右)。まだまだ情報が豊富ではないので、とりあえずこの本を参考にしたが、この本の内容だけではまだまだ不十分。ということで、なるべくいろいろ試していきたい。
この本自体はPHP初心者には向かないけど、そこそこいろいろ組んだことがある人にとっては参考になるかもしれない(値段も安いので買っておいても損ではないと思う)。

アンケートASP利用申し込みを締め切ります

2006/11/21 | その他

先日より募集を開始した、無料で利用いただけるウェブアンケートツールですが、残り18名で締め切ることにしました。おかげさまでたくさんの方に応募いただいたのですが、あまりたくさんの方に申し込んでいただいても、サーバに負荷がかかってしまっては、かえって使っていただく方に迷惑がかかってしまって・・・ということで締め切ることにしました。
残りわずかですのでおそらく10日くらいで埋まってしまうと思います。申し込みはお早めに。
http://www.cubequery.jp

サムネイル生成API

しばらく検討を中断していたウェブサイトのサムネイル。現在はいくつかAPIを供給しているサイトがある。

http://img.simpleapi.net/
http://www.thumbshots.org/

simpleAPIは国産のサムネイル生成API。さすがにこなれていてすばらしいでき。このサイトは開設された当初から見つけていたがずいぶんと進化した感じ。自分がサボっていたのが悪いのだが、先を越された感じだ。しかし時間がないので、開発に取り掛かれないのも事実・・・。幸い、配備していたサーバ群はすべてVPSに置き換えてIPアドレスはあまっている。冬休みの宿題にしようかな。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net