グーグルアドセンスの4つ目の広告ユニットを非表示にするJavaスクリプト

グーグルアドセンスの4つ目の広告ユニットを非表示にするJavaスクリプト に関する投稿記事です。

グーグルアドセンスの4つ目の広告ユニットを非表示にするJavaスクリプト

Google AdSenseのプログラムポリシーでは、サイトやブログの1ページに表示してよい広告ユニットは3つ、リンクユニットが3つ、検索が2つ、その検索結果を自分で設置したページに表示するときには広告ユニット1つ、というように規定されています。

ブログサービスやサイトでMovable TypeやWordpressなどでブログ用のプラットフォームを作ってブログを運営するとき、テンプレートで記事にアドセンス広告ユニットのタグを貼ってしまうと、トップページに掲載される記事の数だけ広告ユニットが表示されることになる。例えばトップページに表示する記事を10とした場合、1,2,3個目の記事には広告ユニットが表示され、4つめの記事からは空白(FireFoxなどの場合)、もしくは「ページが表示できません」(IEなどの場合)ということになるわけです。

で、私あすかC爺の個人的な意見ですが、これってGoogle AdSenseプログラムポリシー違反になるのでは。だって、トップページに表示する記事数はブログ運営者が自分で変更できますから、もし上記のようなことをしたいのであれば、表示する記事数は「3」としておかないと。ブログの表面上アドセンス広告が表示されたされないではなく、ソース上にAdSense Tagがあるかないかの話。テンプレートにタグを貼っちゃったら、4個目移行の記事部分にもアドセンスタグはあるわけです。単にGoogle AdSenseのシステム側で非表示にしているだけの話。
と考えれば、プログラムポリシーに規定されている数以上のアドセンス広告を自分の意思で掲示しようとしていると警告されても文句は言えないはず。

というわけで、ブログの設定でトップページに10個記事を表示するようにしていても、4つ目の記事からはアドセンス広告が表示されない(AdSense Tagが表示されない)方法を考えてみました。
Google Blogger用の記事中の任意の位置に広告を挿入するJava Script

あるJava Scriptを海外のGoogle Bloggerテンプレートカスタマイズ系情報サイトで見つけました。もともと何を探していたかというとアドセンス広告を記事中の任意の位置に設置する方法。で、このJava Scriptは何かというと、そのまんま記事中の好きな位置に配置できるのかと思ったら、単に2者択一なんです。

「デフォルトで指定した場所もしくは任意の場所」のどちらか。
デフォルトの位置のアドセンス広告を非表示にするってことができない。
結論から言うと、4個目からは非表示にできなかったというシロモノです。
さらに言えば、先に申しましたアドセンスタグをソース上に規定数以上残してしまうという意味では同じこと。やっぱりこりゃプログラムポリシー違反になるのかと。

ま、カスタマイズすればもしかしたら使えるかもしれないので、ご参考までに一応該当のJava Scriptはご紹介しておきます。
<div expr:id='"aim1" + data:post.id'></div>
<div style="clear:both; margin:10px 0">
<!-- Your AdSense code here -->
</div>
<div expr:id='"aim2" + data:post.id'>
<data:post.body/>
</div>
<script type="text/javascript">
var obj0=document.getElementById("aim1<data:post.id/>");
var obj1=document.getElementById("aim2<data:post.id/>");
var s=obj1.innerHTML;
var r=s.search(/\x3C!-- adsense --\x3E/igm);
if(r>0) {obj0.innerHTML=s.substr(0,r);obj1.innerHTML=s.substr(r+16);}
</script>

Google Blogger では赤い文字の部分がメインコンテンツを表示する部分です。この1行を上記の記述に置き換えます。青い文字の部分にアドセンスタグを貼り付けますが、そのままではエラーになりますから、括弧記号や引用符を置換しておきます。(「Google Bloggerの記事にGoogle AdSenseコードを挿入する方法」参照)

実際にアドセンス広告を表示する場所の指定は、記事の中に <!-- adsense --> という目印を入れてあげるんですね。この目印があった場合は、そこにアドセンス広告を挿入します。で、無かった場合は <!-- Your AdSense code here --> の部分(上のスクリプトの位置だと記事の上、タイトル直下)にアドセンス広告が表示されます。

Google Blogger用のJava Scriptをカスタマイズ

このスクリプトの処理の流れは、こんな感じ。
・記事をdivタグで2つのセクションに分割(aim1nnnとaim2nnn:nnnはユニークな文書ID)
・<!-- adsense --> という目印を記事中で検索
・あった場合はセクション2(aim2nnn)、無かった場合はセクション1(aim1nnn)に広告表示

トップページの記事中の最初の3つだけアドセンス広告を表示するためには、こんな風にカスタマイズ。
・ユニークな文書IDを取得(docnnnなど)
・docnnnに1つ目の記事という意味で"1"を割り当て
・1を割り当てた最初の文書+2までの文書に対してアドセンス広告を表示

って、カスタマイズというよりも全然違うコードじゃないの・・・
いいんです、このスクリプトが参考になったんだからさぁ。
まだ実装してないし、もともとトップページの最初の3つの記事だけにアドセンス広告を表示するっていうことに価値を見出せないので、ほとんどやる気はありません。プログラムポリシーもクリアできそうにないし。やってみたいというあなた、できたら教えてください。

ちなみにFC2用にカスタマイズ

FC2の変数を上記のスクリプトにはめ込むと以下のようになります。
ネタ元の記事にはGoogle bloggerの新旧テンプレートの2つがありまして、FC2の場合は旧Bloggerテンプレートのコードを使いました。
<div id="prv<%topentry_no>"></div>
<div style="clear:both;margin:10px 0">
<!-- Your AdSense code here -->
</div>
<div id="fst<%topentry_no>">
<%topentry_body>
</div>
<script type="text/javascript">
var obj0=document.getElementById("prv<%topentry_no>");
var obj1=document.getElementById("fst<%topentry_no>");
var s=obj1.innerHTML;
var r=s.search(/\x3C!-- adsense --\x3E/igm);
if(r>0) {obj0.innerHTML=s.substr(0,r);obj1.innerHTML=s.substr(r+16);}
</script>

あまりやる価値はないです。
こういうことをやっているとニコルソンさんに怒られますからご注意ください(笑)


関連記事
Google Bloggerの記事にGoogle AdSenseコードを挿入する方法
Google Bloggerの記事を開いたときだけAdSense広告を表示させる方法
Google AdSenseを記事中のあり得ない位置に配置する方法


参考記事
Put Your Adsense In The Middle of The Post
お友達にメールで知らせる 拍手する RSSリーダーで購読する

ブログランキングに参加しています。
にほんブログ村 小遣いブログ ネットビジネスへ 人気ブログランキング FC2 Blog Ranking BlogPeople Ranking
にほんブログ村  人気ブログランキング  FC2 Blog Ranking  BlogPeople
この記事へのコメント
ネーミングが・・・
セルフクリックさま、こんにちは。
1回目のコメントは宣伝なので承認しなかったのですが、2回ご案内頂きましたので・・・私の意見を添える意味もあり承認とさせていただきました。

AdSense広告を貼っていても参加できるトラフィックエクスチェンジってとっても興味ありますし可能性を感じないわけでもないのです。

が、ぶっちゃけた話、「セルフクリック」ってネーミングはどんなもんでしょ?
ちゃんとサービス内容を理解すれば問題ないのかもしれませんが、AdSenseアカウント所有者が「セルフクリック」って聞いたら、まず第一印象で引いちゃうと思うのですが・・・

以上、ご紹介いたしましたので3回目の案内はご遠慮ください。
2008/12/20(土) 18:25 | URL | あすかC爺 #-[ 編集]
AdSense の利用をお考えの方へ
この度、「AdSense を利用されている方」、「将来的に AdSense の利用をお考えの方」 へ向けて、新しい形式の無料トラフィックエクスチェンジを開発致しました。 是非、ご活用のほどよろしくお願いします。

http://sys.ciao.jp/
2008/12/20(土) 17:43 | URL | セルフクリック #mQop/nM.[ 編集]
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://jukunenaffiliate.blog84.fc2.com/tb.php/315-864ed035
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック