アドセンス自動広告を特定HTML要素内にだけ表示させない方法
今回は、Google アドセンスの自動広告を特定 HTML 要素内に表示させない方法を紹介します。
アドセンス自動広告は高い収益性を実現できる反面、例えば、ヘッダの途中に巨大なリーダーボードを割り込ませるような無茶をする場合があり、サイトデザインを大きく崩壊させてしまうのが難点です。
こういった問題の一部は、前回紹介した「特定エリアの広告非表示指定」で回避できるのですが、動的な HTML では一部、対処しきれない場合があります。
そんな場合でも使えるのが、今回の方法です。
自動広告をHTMLの特定要素内から削除する方法
自動広告を HTML の特定要素内から削除するには、AdSense 自動広告コードの後に以下のようなコードを挿入します。
var afc_autoad = document.querySelector("header .google-auto-placed");
afc_autoad.innerHTML = "";
Code language: JavaScript (javascript)
この場合、header タグ内に設置された AdSense 自動広告コードのみが削除されます。
document.querySelector で指定できるCSSセレクタについてはこちらを確認してください。
注意点は、このスクリプトが AdSense 自動広告コードの実行後に実行されなければならない、という点です。確実に動作させるには、スクリプトの設置場所や、DOM 構築後に実行するなどの工夫が必要です。
なんとなーく、Google 的には「そんな事やらないで、自動広告の機械学習を鍛えてあげてよー」と思いそうな予感もしますが、サイトデザインが崩壊してしまうと多くの方が脊髄反射で自動広告を引き剥がしている予感がしますので、情報として書いておきました。
なお、この記事では純粋な技術情報のみを提供しており、アドセンス規約等との整合性は確認しておりません。実際にご利用の場合は、各自、自己責任でお願いいたします。
なお、個人的にオススメの方法は、AdSense 管理画面から特定エリアの広告を手動で削除指定するか、
それでも納得いかない場合は、そもそも自動広告を使うのでなく、従来通り手動で広告枠を設置するのが良いと思います。
というのも、鬱陶しい場所に自動広告が挿入されるのは、そこに設置すると効果が高いからであって、それを無理に削除するくらいなら自動広告を使う理由は特に無いと思うからです。
(※ 2020/8/7 公開時の情報では動作しなかったため、記事を大幅にリライトしました。)
参考情報: