アマゾンのWebサービスを利用する

Googleのアドセンス用代替広告をアマゾンのWebサービスを利用して作成する

Googleのアドセンス用代替広告とは

アドセンスの広告は掲載した直後などには、掲載されているページの情報をGoogleが持っていないために正しく表示されません。また、掲載されているページのコンテンツに合う広告が見つからないこともあります。このとき、Googleでは主にアメリカの公共的なサイトの広告を掲示します。

正しいアドセンスの表示
正しいアドセンスの表示
適切な広告が見つからない場合
代替アドセンスの表示

アドセンスではこのとき、別のページを表示するように指定できる機能を提供しています。つまり、Googleが適切な広告を見つけられないときには、あなた独自の広告などを掲載できるのです。

代替広告の設置方法

代替広告を設置するには、アドセンスのサイトにログインし、広告用のHTMLコードを取得するページで、代替広告を表示するためのURLを入力するフィールドがあります。URLを入力して、「コードの更新」ボタンを押すと、そのURLを含むHTMLコードが生成されるので、それを利用します。

次は、代替広告を含むアドセンス表示用のHTMLコードです。代替広告を含まないコードと比較して、google_alternate_ad_urlという行が追加されています。

	
<script type="text/javascript"><!--
google_ad_client = "pub-3463888911530222";
google_alternate_ad_url = "代替広告を表示するURL";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_color_border = "FFFF99";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
//--></script>

代替広告を作成する

代替広告を作るには、アドセンスの4種類のレイアウトサイズにあわせたHTMLページを用意するだけです。そのHTMLを生成するCGIを作成してもかまいません。アドセンスのレイアウトサイズは、 ●バナー (468×60)●スカイスクレイパー (120×600)●ビッグバナー (728×90)●レクタングル (300×250)の4種類です。

アマゾンのWebサービスを利用して代替広告を作成する

さて、本題です。ここで作成するCGIはアマゾンのWebサービスを利用し、↓のようにリクエストされた時点のベストセラーを表示するものです。


http://jam.apricot.co.jp/cgi-bin/aws/gas.cgi

プログラムを説明する前に、パラメータの説明です。下記のパラメータを ”?associd=myasscoid-22&nodename=123456”というように接続します。

パラメータ名 内容 省略時の値 説明
associd アソシエイトID 当サイトのID アマゾンのアソシエイトプログラムで取得したアソシエイトID
nodename ノード番号 466296(エンターテイメント) こちらを参照
mode nodeの種類 books-jp(和書) こちらを参照
type 広告のタイプ 1
  1. バナー (468×60)
  2. スカイスクレイパー (120×600)
  3. ビッグバナー (728×90)
  4. レクタングル (300×250)
2004年2月19日に追加された6個のレイアウトには未対応です。
border 周辺の色 FFFF99 下図参照
bg バックグラウンドの色 FFFFFF 下図参照
link リンク部分の色 0000ff 下図参照

プログラム説明

まず、プログラムのソースコードはこちらです。(注:プログラムは改良されることがあります。ここではサンプルとして掲示しているので最新版であるという保証はありません。また、うまく動作しなくても責任を負うことはできません。)
プログラムの流れは次のようになります。
  • パラメータを解析する
  • キャッシュデータファイルを読み込む
  • 新しいデータが見つかれが、HTMLコードを出力して終了
  • アマゾンのWebサービスを利用して検索を行いXMLコードを取得
  • XMLを解析してHTMLコードを出力
  • データをキャッシュデータファイルに保存

プログラムでは、JCode、CGI それにLWP::Simple というライブラリを利用しています。

パラメータは上記の表のとおり。
取得したファイルはキャッシュデータファイルに保存して、アマゾンへの問い合わせが頻繁にならないようにしています。ここではデータが保存されたときから1日を経過すると再度取得しています。
XMLの解析はプログラム内部で非常に簡易なパーサを持っています。もちろん、ちゃんとしたXMLパーサに置き換えていただいても問題ありません。ここでは、書名、製品名、ASIN番号、小さいイメージのURLのみを取り出しています。

代替広告の設置方法

Googleのアドセンスのサイトから広告コードを取得して、下のサンプルのように、このCGIプログラムのURLとパラメータを埋め込みます。 完成した広告コードをあなたのWebサイトの各ページの適当な部分に貼り付けます。アドセンスの広告コードの使い方については、Googleのアドセンスのサイトを参考にしてください。

	
<script type="text/javascript"><!--
google_ad_client = "pub-3463888911530222";
google_alternate_ad_url = "http://jam.apricot.co.jp/cgi-bin/aws/gas.cgi?nodename=492054&type=1";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_color_border = "FFFF99";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_url = "008000";
google_color_text = "000000";
//--></script>

←XMLサンプル | Net::Amazonモジュールを利用する→