【WordPress】ログインユーザーにGoogle Adsenseを表示しない方法

Google Adsenseについていろいろ調べていたところ、気になる記事を見つけました。

【2017年5月8日更新】 アドセンスで、クリックもされてないのに数円、又は数十円の収益が発生している事がありますよね。 これは、「インプレッション単価広告(RPM)」による収益です。アフィリエイトやアドセンス初心者の方であれば「インプレッション広告?」と、分からない方もいるでしょう。 この記事ではアドセンスクリック無...

Google Adsenseから送られてきたメールに自分でクリックしてはいけないということが書かれていたので、それに関しては注意していました。

表示された広告は、テスト目的であってもクリックしないでください。サイト運営者様による広告のクリックは、AdSense プログラムのポリシーで禁止されています。

しかしそれだけでなく「表示回数も作為的に増加させてはいけない」のだそうです。

実際にAdsenseヘルプのAdSense プログラム ポリシーのページを確認すると以下の記述があります。

サイト運営者様が自分の広告をクリックしたり、手動や他の方法で表示回数やクリック数を作為的に増加させたりすることは禁止されています。

「プレビュー」などで自分のサイトを確認することがあると思いますが、あらぬ疑いをかけられないように対応を行う必要があると考えました。

スポンサーリンク

方針

このブログはWordPressのテーマSimplicity2を使用しています。

SEOや広告表示がよく考えられた無料で利用できる高機能なテーマです。

Google Adsense用の広告を置くためのウィジェットの設定も用意されています。

今のところ広告の配置で使用しているウィジェットの種類は「テキスト」だけです。

ログインユーザーに対して、この「テキスト」ウィジェットに設定した広告が表示されないようにします。

ウィジェットの表示

テキストウィジェットはWordPressにデフォルトで用意されているウィジェットです。

ソースコードは「wp-include/widgets/class-wp-widget-text.php」にあります。

実際に表示させるためのコードは「widget」メソッドに記述されています。

そのメソッド内にテキストを編集できるフィルタがあります。

このフィルタをフックすることでテキストウィジェットを編集できます。

今回はログインユーザーに対してGoogle Adsenseのコードを除去する記述を追加したいので、ユーザー情報が使えるようになった後に呼ばれる「init」アクション内でフックします。

上記のコードをテーマのfunctions.phpなどに追加します。

正規表現で置換を行う「preg_replace」を使用しています。

コメントアウトしているものはSimplicity2で用意されているテキスト系のウィジェットのフィルター名です。

詳細は「simplicity2/lib/widget.php」で「apply_filters」を検索してください。

必要であればこれらも同様にフックすることでGoogle Adsenseのコードを除去することが可能です。

また正規表現を書き換えることで別の広告も除去したり、ユーザーごとにウィジェットに表示させる内容を変えたりもできます。

Simplicity2以外のテーマでも、ウィジェットを使用して広告を設定する場合は、同様の方法で除去することが可能です。

まとめ

数行のコードを書くだけでGoogle Adsenseのポリシー違反を回避できるようになります。

是非お試しください。