LPOで用語辞典からASCII.jpへの回遊を促す
ASCII.jpデジタル用語辞典からASCII.jpへの回遊を促すといっても、そもそもデータベースサーバーが別であり、用語辞典側に記事を表示するには、何らかの形でASCII.jpのデータを取り出す必要がある。その点、ASCII.jpのCMSは自社開発であり、データベースの構造を熟知するエンジニアが私の目の前の席に座っているので話が早い。「ASCII.jpのデータをこんな仕様のXML形式で取り出せるようにしてよ」というと、すぐに開発が始まり、ASCII.jpのデータをXMLで出力するインターフェイスが完成した。
私の横には優秀なプログラマーU君が座っている。以前、U君が「Ajaxでデータをやりとりするプログラムを書かせろ」と、生意気なことを言っていたのを思い出し、「ASCII.jpの記事を、ユーザーがWebサイトを訪れた経路に応じて表示するようにしてよ」というと、その日のうちにベータ版が完成した。
「ユーザーがWebサイトを訪れた経路に応じて記事を表示する」という機能は、LPO(Landing Page Optimization:着地ページ最適化)と呼ばれている。Webサイトへの流入経路は、WebサーバーとWebブラウザー間の通信で交わされる「リファラー」と呼ばれる情報の有無によって、
- リファラー情報の付かない「ノーリファラー」
- お気に入り(ブックマーク)、URLの直接入力、メール内のリンクなど
- リファラー情報の付く「参照」
- ニュースサイト、ブログなど、他のWebサイトからのリンク
- 検索エンジンで入力した検索語句がリファラー情報に付く「検索エンジン」
- リファラー内のドメインがGoogleやYahoo!など、既知の検索エンジンである場合
の3つに分けられる。LPOは、ユーザーがWebサイトを訪れたとき、リファラーを手がかりに、最初に見るページ(Landing Page)を個々のユーザーに最適化することで、ページビューを増やす、購入を促す、といった目的を達成する手段である。
GET /caltar/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8 HTTP/1.1
Host: yougo.ascii.jp
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.google.co.jp/search?q=%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%94%A8%E8%AA%9E%E8%BE%9E%E5%85%B8&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_jaJP239
If-Modified-Since: Sun, 23 Nov 2008 18:20:44 GMT
Googleで「パソコン用語辞典」を検索し、検索結果をクリックすると、yougo.ascii.jpのWebサーバーにHTTPでファイルを要求するとき、上のようにGoogleで入力した検索語がRefererヘッダーフィールドに付加されます
ASCII.jpデジタル用語辞典に追加するLPO機能の仕様は次の通りだ。
- ユーザーが、検索エンジン経由で用語ページに着地した場合
- Google、Yahoo!、MSN Live Searchのリファラーから、ユーザーが入力した検索語を取り出し、検索語を含むASCII.jpの記事がないか、サーバーに問い合わせて、「検索語『○○○』の関連記事」として見出しの一覧を表示する。
- ユーザーが、直接または参照経由で用語ページに着地した場合
- 各ページの見出し語を含むASCII.jpの記事がないか、サーバーに問い合わせて、「見出し語『○○○』の関連記事」として見出しの一覧を表示する。
問題は、相当なアクセス数が予想されるため、サーバーにあまり負荷をかけないプログラムを書けるか、という点である。
LPOを実現するには、次の3つの機能が必要だ。
- リファラーの取得と解析
- 関連記事のデータベース化
- 関連記事の検索とHTML化
「リファラーの取得と解析」から、順に説明しよう。