この記事は約15分で読めます。
本文は約9157文字です
2023年 決定版Google アドセンス狩り対策は?不正クリックの防ぎ方はコレです。
せっかく合格したGoogle アドセンスなのに、アカウント停止(いわゆるBAN)されたら最悪ですよね。
Google アドセンスでアカウント停止になるのは不正クリック(無効なクリック)が原因です。
- Google アドセンス狩りとは?
- Google アドセンス狩りにあうとどうなる?
- Google アドセンス狩りを完全に防ぐことはできる
- Google アドセンス狩りの有効な対策は?
Google アドセンスの無効なクリックとは?
Google アドセンスの無効なクリックは以下のようになっています。無効なクリックは基本的に無視されますが、極端な場合はアカウントにペナルティが発生します。
- ウェブサイト所有者からの広告クリックまたはインプレッション
- 1人以上のユーザーからの繰り返しの広告クリックまたはインプレッション
- 誤って広告をクリックするようにユーザーを操作しているウェブサイトの所有者
- インプレッションやクリックを操作するためのボットやロボットなどの自動ツール
引用:無効なトラフィックの定義
自分のサイトの広告を何度もクリックしたらどうなるでしょうか?
PCで見ている場合には間違って広告をクリックしてしまうことも少ないですが、スマホの場合は間違ってクリックしてしまうこともあると思います。
自分のサイトの広告を自分で何度もクリックしてしまうと、広告表示が1ヶ月停止されます。
1日に数回であれば、自分で広告をクリックしてもすぐに広告表示停止にはなりません。
Google アドセンス狩りをご存知でしょうか?
Google アドセンス狩りとは、他の人のサイトでGoogle アドセンス広告を何度もクリックして、悪質な不正クリックによりアカウント停止に追い込むことです。また、自分のアドセンス広告のコードを管理外のサイトで使用されたりすることも含みます。
悪質な不正クリックと見なされれば、苦労して合格したGoogle アドセンスもアカウント停止になってしまいます。
Google アドセンスを表示する以上は、Google アドセンス狩り対策は必須といえます。
特に訪問者が多いサイトではGoogle アドセンスの収益が高くなりますから、妬みなどで標的にされる可能性も高まります。
Google アドセンス狩り対策はどうやる?
Google アドセンス狩り対策には3つの方法があります。
- WordPressサイト:Ad Invalid Click Protector (AICP)プラグインを導入
- 海外IPをブロックする方法
- Javascriptで不正クリック対策
①Wordpressサイト:Ad Invalid Click Protector (AICP)プラグインを導入
WordPressサイトの場合は、Ad Invalid Click Protector (AICP)プラグインを使うと簡単です。

ただし、モバイルデバイスの場合は対応していない、また、このプラグインを入れても完全に防げないという報告は結構ありますので、安心はできません。
Ad Invalid Click Protector (AICP)の使い方
Ad Invalid Click Protector (AICP)はプラグインをインストールしただけでは動作しません。
Ad Invalid Click Protector (AICP)は、aicp_can_see_ads
という関数を提供するだけです。実際にアドセンス狩りを防ぐには、広告コードをaicp_can_see_ads
の値を見て、表示するかしないかを判定するように、PHPスクリプトを記述する必要があります。
公式の使用例を見ると、shortcodeで自分で広告を配置するような使い方を推奨しています。広告を自動で配置するようなテーマやプラグインを使っている場合は、そのまま適用できません。
<?php
add_shortcode( 'your_shortcode_name', function() {
if( aicp_can_see_ads() ) { // This part will show ads to your non-banned visitors
$adCode = '<div class="aicp"><!-- Don\'t forget to add this div with aicp class -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Responsive Ad Code -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890"
data-ad-slot="0987654321"
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div><!-- end of the aicp div -->';
return $adCode;
} else { // Anything within this part will be shown to your banned visitors or to the blocked country visitors
return '<div class="error">You have been blocked from seeing ads.</div>';
}
} );
利用者が多いCocoonでは、広告コードを設定しておくと、自動的に広告を出力してくれるような仕組みになっていますので、PHPを入力できません。その機能を使わずに、自分でshortcodeを配置する必要があります。
また、PHPで値を見ているためキャッシュプラグインとも相性が悪そうです。後述するJavascriptで判定する方法の方が良いと思います。
Ad Invalid Click Protector (AICP)のよくある質問
②海外IPをブロックする方法も有効
海外からの不正なトラフィックで広告をクリックされてしまい、アカウントがBANされる可能性もあります。
サイト自体を海外から表示させないようにするのも、Google アドセンス狩り対策には有効です。

③Javascriptで不正クリック対策する
Javascriptで不正クリック対策する方法をご紹介します。
考え方は、訪問者ごとにアドセンスの広告をクリックした時間を記録し、その時間から一定の期間、広告を表示させないようにするというものです。
Javascriptを無効化された場合は広告が配信されないので不正クリックそのものが起きません。
広告コードをdivで囲みます
広告コードをdivで囲み、class="ads"
を追加します。
<div class="ads" style="display:none;">
<!-- Insert アドセンス ad code.. -->
</div>
Javascriptをfooterに挿入します(jquery)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
// get the current date
var nowDate = new Date();
var date = nowDate.getDate()+'/'+(nowDate.getMonth()+1)+'/'+nowDate.getFullYear();
jQuery(function($) {
// if any element with class ads is clicked
$('.ads').on('click', function () {
// store current date on user local storage – you can change this value!
localStorage.setItem("date", date);
});
});
$(document).ready(function() {
// check whether the current date is recorded on the user's local storage
var prevDate = localStorage.getItem("date");
if (!prevDate || prevDate != date) {
// serve ads
$('.ads').show();
}
else {
// don't serve ads on next page view (serve something else – e.g., show donations link)
}
});
</script>
参考:https://www.techiedelight.com/protect-your-adsense-account-from-invalid-clicks/
Javascriptをfooterに挿入します( vanilla js)
<script>
// get the current date
var nowDate = new Date();
var date = nowDate.getDate()+'/'+(nowDate.getMonth()+1)+'/'+nowDate.getFullYear();
// if any element with class ads is clicked
document.querySelectorAll('.ads').forEach(function(element) {
element.addEventListener('click', function() {
// store current date on user local storage – you can change this value!
localStorage.setItem("date", date);
});
});
document.addEventListener('DOMContentLoaded', function() {
// check whether the current date is recorded on the user's local storage
var prevDate = localStorage.getItem("date");
if (!prevDate || prevDate !== date) {
// serve ads
document.querySelectorAll('.ads').forEach(function(element) {
element.style.display = 'block';
});
} else {
// don't serve ads on next page view (serve something else – e.g., show donations link)
}
});
</script>
まとめ
Google アドセンス狩りにあわないためには、普段からGoogle アドセンスの収益やクリック数などの監視しておくのが重要です。
不正なクリックがあると、Googleは広告主を守るためにアカウントを停止する可能性が高くなります。
そうならないためにも、Wordpressサイトではプラグインの導入や、海外IPをブロックするなどの手段を取ることをおススメします。
コメント