いやぁ困ったことが起きました。それはGoogle Adsense広告の誤クリック問題。
・・・ってサイト制作者の私がという話ではありません(当たり前か・・)。手動で挿入したものはもちろん、自動広告も「ここはアドセンスね」ってわかってますからね。
問題は複数の人で記事を書くサイト。それが発覚したのは次の会話からでした。
著者A「サイトの広告ってへぇ~~っていうのが多くて感心しちゃう」
私「見ている人のいろいろな情報を元に広告表示してるからね」
著者A「ホラ見て!この広告なんか私の趣味にぴったりでついついクリックしちゃう、ホラ!」
私「どれどれ??」
えええええええええ~~~!!!そのページは・・・いつも記事書いてるやつじゃん!!
私「よくクリックするの??」
著者A「うん、記事書いてプレビューしたときについつい、これよさそうだなぁと思って」
私「・・・・・・・・・・」
こんなこと言われたら青ざめちゃいますよねぇ。待っているのはアカウント停止、しかも前から何度もやってるらしい・・・。と言っても「ここは広告だからクリックしちゃダメ!」が通用するのは固定的にアドセンス広告を挿入している場合の話。自動広告になったらそんなお願いも全く無効になっちゃいますよね?困ってる方いません??
まあ、Google様も同一IPアドレスからの複数クリックについては「所有者や関係者のクリックかな?」ということである程度は無料にしてくれるらしいですけど、その人が別の場所から繰り返し・・・となったら話は別ですよね?人の行動は計り知れないですから。
で、しばらく広告を外していたんです。誤クリックでアカウント停止になるのも嫌だし、何よりそのサイトは途上なのでそれほど収益ないし・・・。でもやっぱり多少なりとも運営費の足し位にはしたい!!ということでいろいろ調べたら・・・、方法はあるんですね。
ということで今回はWordPressのサイトでGoogle Adsense他の広告をログインしているユーザーが誤ってクリックしてしまわないようにする設定方法を紹介します。もちろんレイアウトなどが変わってしまわないように広告は表示したままで!しかもアドセンスの自動広告にも対応できる方法です。
私のように共同で投稿するサイトではなくクライアント(お客様)に納品するサイトでもこの設定をしておいてあげればちょっと親切な設定だと思います(こうした地味でも有益な設定が喜ばれると思いますよ)。
また、アドセンスに限らず自己クリックからの購入を規約違反としているアフィリエイトサービス(Amazonアソシエイトなども確かそうだったと思います)でも有効な手段だと思いますから応用してみてくださいね。
そうそう大事なことですが、前提としてはログインしているユーザーを!というのが条件になりますので、会員制サイトなどでは使えない方法なのであしからず。
手動で貼り付けたAdsense広告をログインユーザーが誤クリックしてしまうのを防止する方法
実は私、なんでもかんでもプラグインでやっちゃう派(サイト内をいろいろ見た方はご存知ですね)なのでプラグインをいろいろ探したのですが残念ながら見つからず・・・でいろいろ検索してたら文末にある参考サイトのページへたどり着きました。
ふむふむ・・・なーーんて簡単に制御できるの??と感動すらしてしまいました。その方法を元に解説させていただきますね。
これを実装するには2つの手順が必要です。
1つはdivタグでログインユーザーにクリックしてほしくない広告を囲むこと。今回は他のクラスと被ることがないよう「koukoku」というクラス名にしました。
<div class="koukoku">
ここに広告コード
</div>
「ここに広告コード」と書かれているところに広告コードを入れます(実際には今ある広告コードに上下の2行を足していく作業になりますね)。
そして次に
.logged-in .koukoku {
pointer-events: none;
}
をテーマのstyle.css(テーマによって異なる場合あり)へコピペします。
コードの解説を簡単にしておくと、divタグで「これに囲まれたものを1つの部品として扱い、「koukoku」という名前の部品にしますよ!」としておいて、その部品に対してcssで.logged-in(ログインしている人)に対してpointer-events(クリックできるようにする操作)をnone(しない)ようにしてちょ!という流れなんですね。
従ってこのdivタグで囲んだものはすべてログインユーザーではクリック操作ができないということになりますから、前述したように自己クリックすると規約違反になる広告などにも応用が利くということなのです。
文末の参考リンクでは旧型のブラウザに対応させる方法も掲載されていますが、私の場合にはWindows10以外のOSがありませんのでこの処置はしていません。もしも・・・という方はリンクページを参考に設定してください。
※これを設定して該当する広告にマウスオーバー(広告にマウスポインタが重なった時)したときに矢印のままになっていたら設定完了です。
Adsenseの自動広告にもログインユーザーの誤クリックを防止する方法
これができないと意味がないわけですけどどこに表示されるかも分からないから無理かなぁ・・・とデベロッパーツールで各広告のコードをじーーっと見ていると・・・なんだぁちゃんとDiv Class設定されてるじゃん(当然といえば当然)というオチでした。
自動広告には必ず「.google-auto-placed」というクラス設定がされているんですね。
ということはこれを使って手動の時のようにログインユーザー限定でクリックを停止すれば・・できました!!
ちなみにコードは以下の通り。テーマのCSSへ追記するだけです。
.logged-in .google-auto-placed {
pointer-events: none;
}
※これを設定して該当する広告にマウスオーバー(広告にマウスポインタが重なった時)したときに矢印のままになっていたら設定完了です。
設定したらログインした状態とログインしていない状態でマウスポインタがどうなるのか?ログイン時にクリックは本当にできない?(このテストは自己責任で!)のチェックをしてください。
最後にもう一度書きますが、今回の方法2つは「ログインしている」ユーザーがクリックできないようにする方法ですから、会員制のサイトなどでは使えませんから悪しからず。
Google Adsenseや自己クリック禁止のサービスでの誤クリックで問題を感じてる方、ぜひやってみてくださいね。
おまけ情報として、これは誰でも知ってるとは思いますが、もしもアドセンスの広告で魅力的なものを見つけたけどクリックできないしというものがあった場合は広告の上で右クリックしてURLをコピーし、別のウインドウまたはタグにURLを張ってアクセスすればクリックイベントにはならず誤クリックとなりませんから、気になるものはこの方法で広告を見るようにしましょう。
※この方法も私自身が問題となっていないだけでひょっとしたら・・ということがあるかもしれませんので自己責任でお願いしますね。
タイトルにWordPressで・・・と書きましたが、divタグとCSSのみを使用しますから、他のCMSとかブログとか、HTMLで作成したサイトでも使えますよ。

