アドセンス広告の制限になってしまった時。

らら
らら

はじめに

現在のこのプログがそうなのですが、なにも調査せず、運営していたところ、アドセンス広告の制限になってしまいました。

いろいろ調べたところ、広告をクリックしなくても、アクセスするだけでもダメなようで、Movable Type運用しているため、記事をいれて表示確認など数名で行っていたため、まずこれからつぶすことにしました。

といっても記事を入れて確認するな・・とも運用できず、会社のアクセスからは広告をださないことにしました。

アドセンスでこのIPは除外するなどあるといいですね。あるなら。だれか教えてください。

方法

現在wordpressじゃないのでプラグインなど、Movable Typeでは見当たらず、自作することに

javascriptで下記の関数を作成します。

これはアドセンスのタグを生成する仕組みになります。

ca-pub-xxxxxxxxxxの部分は、自分のコードを入れてください。


function appendAds(URL) {
	var el = document.createElement('script');
	el.src = URL;
	el.async = true;
	el.setAttribute('data-ad-client','ca-pub-xxxxxxxxxx');
	el.type =  "text/javascript";
	document.getElementsByTagName('head')[0].appendChild(el);
}

呼び出しはこんな感じ


appendAds('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');

上記だけだと、いままで同じなので、自社IPを取得したいのですが、残念ながらjavascriptでは取得できません。

なのでCGI、PHPなどで作成する必要があります。

PHPサンプル


<?php
	$ret = 0;
	if($_SERVER["REMOTE_ADDR"] == "あなたのIP") {
		$ret = 1;
	}
	echo $ret;

javascriptサンプル


<script type="text/javascript">
jQuery(document).ready(function($){
	$.ajax({
		type: "GET",
		url: "https://配置したCGI",
		cache : false,
		success: function(data, dataType){
			if(data == 0) {
				appendAds('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
			}
		}
	});
function appendAds(URL) {
	var el = document.createElement('script');
	el.src = URL;
	el.async = true;
	el.setAttribute('data-ad-client','ca-pub-xxxxxxxxxx');
	el.type =  "text/javascript";
	document.getElementsByTagName('head')[0].appendChild(el);
}
});
</script>

応用編

上記までできたら、jquery.iframetracker.min.jsというプラグインがあります。これはフレームのクリックを感知してくれます。

作成したCGIを改造すれば、クリックの制限で広告をださないなどできます。


	$("#google-auto-placed iframe").iframeTracker({
		blurCallback: function(){
			$.ajax({
				type: "GET",
				url: "配置したCGI",
				cache : false,
				success: function(data, dataType){
				}
			});
		}
	});

さいごに

まだ、原因はわからないのですが、とりあえずこれで様子をみることに、とりあずうちはクリック制限もいれておきました。

では・・

関連記事