PR

Google アドセンスと Ajax

社内のLT後の懇親会で Web サービス作って広告貼って小銭稼ぐとして、Ajax を駆使してクライアントサイドでコンテンツを生成するサービスを作った場合に Google アドセンス(Google AdSense) は正しく広告を表示してくれるのだろうか?いったいどういう挙動をするのだろうか?という話題がでたので実際にコンテンツを作って検証してみた。

経験ではアドセンス用のクローラーがページをクロールしてコンテンツを読み取り、広告内容を決定しているため、Ajax のみで構築したページはコンテンツ内容を正しく判断できず、適当な(or 標準的な)広告を出していると考えている。

用意したページ

以下の5種類のページを用意してそれぞれに広告を配置してみた。

  1. 通常のページ
  2. AjaxでサーバにあるテキストをHTMLに流しこむページ
    ※元のページには Ajaxコードとアドセンスコードのみ記述
  3. ページ2 に meta description を記述したページ
  4. ページ2 に meta keywords を記述したページ
  5. iframe でコンテンツを読み込むページ
    ※アドセンスコードは元のページに記述

補足として以下2点。

  • 各ページの URL にはそれぞれ異なる本文とは関係ないが意味の単語を使用
  • サーチエンジン避けの meta タグを記述

さっそく結果↓

結果

  • ページ1, 3, 4 はコンテンツにあった広告を掲載
  • ページ2, 5はコンテンツにあっていないがURLから類推される広告を掲載

P1 通常のコンテンツ

まさにはまった広告である


P2 Ajaxなページ

URL に GOLF というキーワードを入れてあるため、よく見るとそのような広告が出ていることが分かる


P3 meta descriptionのみ

metaタグからうまく拾えているようだ


P4 meta keywords

metaタグからうまく拾えているようだ


P5 iframeなページ

URL に Bicycle というキーワードを入れてある


結論・わかったこと

結果から推測できることは以下のとおり。

  • 広告内容はクロール時に取得したコンテンツに依存する
  • コンテンツ本体がなくても meta タグがあれば適切に振舞う
  • 判断材料がない場合には URL も情報として利用される
    ※ページ2, 5の結果より
  • 相互リンクからも判断される?
    ※ページ2, 5にまれに他ページの同じ広告が表示されることがあった
  • JavaScript は理解しない

その他・発展

いろいろググッていると関連しそうな以下の記事を見つけたのでメモっておこう。

Better contextual matching – Inside AdSense Blog
要約すると

  • referral URL から検索エンジンで使用した検索文字列を利用する
  • それは数時間有効の cookie に保存されて再度利用される

ということはページの内容と関係ないけど、その人が探していると思われるキーワードにマッチした広告を出すこともあると。深いぞこの世界。
ページ2,5でもまれに同じ広告が出ていたのはこの関係もあるかもしれない。

セクション ターゲットの概要とその設定方法 – AdSense ヘルプ
AdSenseのクローラーに拾って欲しいコンテンツを強調するために以下のコメントを使用するってこと。

<!-- google_ad_section_start -->
<!-- google_ad_section_end -->

Ajaxなサービスでもmetaタグや、ページタイトルや何らかの情報をクローラーに与えておくことができれば、期待する広告を出すことができる。
ページ本体を動的にすることもできるだろう。

実はGoogle本体ではAjaxなページ向けのクロールの仕方があるのだが、これがアドセンスのクローラーと関係しそうかどうかを含めて、引き続き検証していきたい。
独自に調べたい人は以下を参照。

とりあえず、続報を待て!

コメント

タイトルとURLをコピーしました