MENU
そらいろ
SEとして7年の経験があるそこそこのエンジニア。
スキルセット:C#/VB.net/HTML/CSS/JavaScript/PHP
DB:Oracle/SQLServer他etc
専門はWebアプリケーション。データ分析やRPAにも精通。
当ブログのおすすめテーマはこちら!

【AICP】SWELLでもアドセンス狩り対策!プラグインを入れるだけでは対応できていません。

アドセンス狩りっていう行為があるらしい、、

うん、、
せっかく合格したのに嫌がらせでアドセンス停止になっちゃうんだよね。

今回はアドセンス狩り対策で有名な「Adsense Invalid Click Protector」、別名「AICP」をSWELLに導入してみた記事になります。

「Adsense Invalid Click Protector」の導入ですが、プラグインを入れるだけでは機能しません。

詳しい設定方法をまとめていきますので、ぜひ参考にしてみください。

対象読者
  • SWELLにAICPを入れようとしている人。
  • アドセンス狩りの対応に興味がある人。

それでは本題の方に入っていきましょう。

コードを利用する際の注意事項

当ブログのコードを利用して起こる不具合については対応できませんのでご了承ください。
本記事の内容を参考にブログ等で情報発信をする場合には、下記のルールを確認頂きたいと思います。

目次

アドセンス狩りとは

アドセンス狩りとは、Googleアドセンスの広告に対して規約違反となる行動を第三者に行われること。

一番よくあるのが、不正な大量クリックです。

知っての通りアドセンスはクリックの数で収益が発生する仕組みです。

第三者がクリックしすぎるとその分だけ広告収入が上がるのでGoogleアドセンスに悪いことをしているのではないかと疑われてしまいます。

場合によっては数か月の広告停止処分などペナルティが課されてしまいます

Googleアドセンス側も対策を施しているとのことですが、守れるところは自分で守っていかないといけません。

Adsense Invalid Click Protectorを導入する

aicp_plugin

アドセンス狩り対策で有名なプラグインに「Adsense Invalid Click Protector」というものがあります。

「Cookie」というユーザー情報から不正なユーザーを判断するプラグインのようです。

一定のクリック数を検知するとそのユーザーのアドセンス広告表示を停止させることができるようになります。

設定は基本的に変える必要はないです。

もし変えるならば下記の項目を変更してもいいかもしれません。

項目意味初期値
Set the Ad Click Limit回数制限3
Click Counter Cooke Expiration time時間制限(Hour/s)3
Set the Visitor Ban duration制限期間(Day/s)7

制限期間が長すぎるということであれば、3日などにしてもいいかもしれません。

functions.phpを修正してショートコードを作成する

ここまではプラグインの導入なので大した話ではなかったのですが、このプラグインは入れるだけでは効果を発揮しません。

functions.phpにコードを追加する必要があります。

下記のコードを追加しアドセンスのショートコードを作成していきます。

add_shortcode( 'ad01', 'ad_shortCode01' );
function ad_shortCode01() {
  $ad = <<< EOF
    //アドセンスのスクリプトコード
  EOF;
  if( aicp_can_see_ads() ) {
    return $ad;
  } else {
    return '<div class="error">広告の制限中です</div>';
  }
}

4行目の部分にはご自身のAdSenseコードを貼り付けてください。

こんな感じに書いておくと「[ad01]」というショートコードを作成でき、記載したアドセンスコードをどこでも呼び出せるようになります。(1行目に「ad01」と書いてあるところがショートコードの名称になります。)

毎回アドセンスのコードを書かなくていいから、記述を短くできるね。

コードの概要説明

ポイントは6行目の「aicp_can_see_ads()」という記述。
「Adsense Invalid Click Protector」側の関数になっており、不正なクリックが発生するとfalseを返してくれるようになるみたいです。
なのでショートコードの中で、「aicp_can_see_ads()」がtrueであればアドセンスを表示し、falseであればエラーメッセージを表示するようにしてあります。
このショートコードを使って広告を呼び出して入れば、「Adsense Invalid Click Protector」で不正な操作の際に広告を隠すことができるようになります。

設定方法は下記の通り、作成したショートコードを広告コード入力欄に記載するだけです。

ad_input

インフィード広告やウィジェットで表示している広告も同様にしてショートコードを作製し設定してあげるだけでAICPが機能するようになります。

今までSWELL内の広告コードの設定にはショートコードを設定することができない制約がありましたが、2021/07/09付のアップデート(Ver.2.3.9)で修正されました。
当ブログでは今までショートコードを使用しない方法を記載していましたが、ショートコードが使用できるようになったため記事を修正しました。

上記のやり方でもいいけれどSWELLを生かすと下記のようなやり方も!

上記に記載した方法でAICPの設定は完了するのですが、応用編としてSWELLの機能を生かしたやり方も記載しておきます。

別の方法と言うことで余裕がある人は見ていってください。

まず、SWELLには「広告タグ」というメニューがあり、広告の表示数やクリック数などを計測してくれる機能があります。

ad_click_count

先ほどご紹介したやり方だと、直に広告のコードをfunctions.phpに記載してしまうため、「広告タグ」機能が使用できません。

正直もったいないので、今回は「広告タグ」で作成したショートコードをさらにAICP対応のショートコードに変換する方法を説明します。

STEP
広告タグを作製する。

アドセンス広告の場合、「インフィード広告」「ディスプレイ広告」「記事内広告」など種類がありますので、自ブログで使用している種類分、広告タグを作製します。

STEP
広告タグの呼び出しコードを確認する。

上記画像の3列目あたりに「ad_tag id=XXXX」というものがあると思いますが、こちらを使用しますのでそれぞれ確認しておいてください。

STEP
functions.phpにコードを追加する。
// インフィード用(AICP)
add_shortcode( 'ad_aicp_infeed', 'ad_aicp_infeed' );
function ad_aicp_infeed() {
  $ad = <<< EOF
    //呼び出しコードを記載
  EOF;
  if( aicp_can_see_ads() ) {
    return do_shortcode($ad);
  } else {
    return '<div class="error">広告の制限中です</div>';
  }
}

5行目に「広告タグ」の呼び出しコードを記述します。

今回はインフィード用で作成しているので、僕の環境では「[ad_tag id=2303]」を記述することになります。

STEP
出来上がったショートコードを広告エリアに設定する。

後の工程は先に説明していたものと同じです。

今回はインフィードなので、インフィード用の設定欄にショートコードを設定すれば完了です。

後は「記事内広告」や「ディスプレイ広告」分のショートコードを同様に作成していきます。

ショートコード名と関数名は重複しているとエラーになるので、名称を変えて作成していってください。

一通り設定が完了したら実際に広告の表示件数がカウントされるか確認してみましょう。

問題なく計測出来ていれば、完了になります。

注意点

functions.phpにコードを書いた場合はプラグインを無効にしないでください。

「aicp_can_see_ads()」という記述をfunctions.phpに記述しましたが、これは「Adsense Invalid Click Protector」の関数です。

このコードをfunctions.phpに記載した状態でAdsense Invalid Click Protector」プラグインを削除したり、無効化するとWordpress全体がエラーで表示されなくなる可能性があります

その場合は管理画面すらエラーで見れなくなります。

functions.phpに追記した部分を削除したのちにプラグインを無効/削除した場合は特にエラーにはならないので安心してください。

僕はこれを発生させて一瞬戸惑いました。笑

復旧方法の記事を作成したので、何かあったときは下記の記事を参考にしてください。

「Code Snippets」プラグインを使用してもスマホのタッチ対策になりません。

ご存じの方もいるかと思いますが、Adsense Invalid Click Protector」はスマホやタブレットでのタッチ操作に対応していません

下記は「Adsense Invalid Click Protector」の説明文の一部になるのですが、スマホやタブレットのモバイルデバイスでは機能しない旨の記述があります。

Important Note About Touch Screen Support: This plugin doesn’t work on mobile devices such as smartphones and tablets, because this hardware uses a touchscreen instead of a mouse as click input. This design makes the boundary monitoring trick ineffective.

https://ja.wordpress.org/plugins/ad-invalid-click-protector/

これは「Adsense Invalid Click Protector」の仕様になるので、「Code Snippets」などのプラグインでショートコードを作成したとしても対応不可です。

出来るといっているサイトがあったので補足でした。

また、「Code Snippets」プラグインを使えば、書いたコードでエラーが出ても安心と記載されたページもありましたが、あれもガセ情報になります。

Code Snippets」を使用しても注意点の1番目に上げたWordpressがエラーになる事象は発生する可能性があります

また、コードの内容がDBに登録されてしまうので復旧が面倒になるケースが多いです。

コードの管理という側面で優れているプラグインですが、「SWELL」においてはそこまでコードを書く必要がないので、シンプルに子テーマの「functions.php」にコードを記載することを推奨します。

まとめ

ということで、SWELLでAICPの設定をやってみたという内容でした。

最近はアドセンス狩りの話も少なくなってきているようですが、たまたま見聞きしたもので対策を入れてみました。

Cookieによる判別なので完璧なガードではないです、無いよりは安心ですね。

皆さんも自衛はきちんとしておきましょう。

よかったらシェアしてね!
目次
閉じる