ぼちぼち書くブログ

喫煙関係、うまいもん、パソコンのこと等をマイペースで記します。高知市に住んでいるので地元の情報も投稿します。

Adsenseからのポリシー違反警告~はてなブログの特定カテゴリーのみ広告を非表示にする

当ブログの「たばこ」に関する記事が、Google AdSenseのポリシー違反になることに最近気づきました。お酒についての記事もグレーゾーンの様です。もともと雑記ブログだったので深く気にしていませんでしたが、きちんとポリシーは確認しなくてはならないなと反省です。

当ブログでは、煙草(喫煙)を推奨するわけではありませんし、記事にも推奨している訳ではないという事を明確に記す様に文章を修正しておいたのですが、残念な事にポリシー違反だと認知されてしまい警告が届く様になりました。

Google AdSenseがポリシー違反だと認識しているのは、現時点5つの記事なのですが、たばこに触れる記事に広告が表示される事を嫌うスポンサーが増えている昨今、根本的に対処しておかないとマズイなと細工をする事にしました。

恐らく同じ様な課題は前例としてあるだろうなと思ったので、検索してみたところ有力な方法を既に実施済みの記事を見つけられました。その方法を使わせて貰っても大丈夫だとわかったので手っ取り早く対処する事にしました。

特定ページのみAdSenseを非表示にする

後で知ったのですが、下の記事のURL指定で対処する方法が原案の様ですので先に紹介しておきます。同じ課題で対処方法を探している方は、まずこちらを参考にさせていただくと良いと思います。(併読する事になると思います)

www.hapilaki.net

特定カテゴリーのみAdSense広告を非表示にする

たばこ」に関する記事のURLを羅列して行く方法では、今後そういう記事を記す度にURLを追加しなくてはなりません。とても面倒ですし忘れてしまいそうです。

当サイトの場合は、特定カテゴリー「たばこ」のみにAdSense非表示を適用するJavaScriptを使う事を考えました。きっと同じことを考える人は居るハズなので探してみたところ下記が見つかりました。

www.yutorism.jp

実際に使わせて貰って動作を把握出来たので自分なりに備忘録

まずは原案の解説の肝となるのは、AdSenseコードのコメント行を一番下に移動させるという部分です。(理由は後述)

<!-- ad-unit-name -->

AdSenseコードも時間と共に変化しているので、記事を公開して下さった時とAdSenseコードが違って来ている様なので、スクリプトを作った方の解説サンプルと全く同じとは行きません。しかし動作の仕組みは通用するので、素直にAdSenseコードのコメント行を一番下に持って来る事がポイントだという事を記しておきます。

そして指定タグを付けたページにAdSense広告を表示しないスクリプトを使わせていただきます。これははてなブログでのみ使える仕組み(コード)です。

下記は要約した部分のみを自分の備忘録の為に記しているので、実コードは参考サイトを読ませて頂きましょう。

<script>
function adsFilter(){
 noAdsTag="広告不要";
 スクリプトの動作:タグが合致していたら「<!--」を出力
}
adsFilter();
</script>

AdSenseで生成したコード
<!-- ad-unit-name -->

1つ目のAdSenseコードは上記のフォーマットで記す事になりますが、解説通り2つ目以降のAdSenseコードは下記の様にadsFilter()を呼び出すだけでOKなので短くて済みます。

<script>adsFilter();</script>

  AdSenseで生成したコード

 <!-- ad-unit-name -->

動作の概要

adsFilter()に記されているスクリプトで、タグ(カテゴリー)の一致を診断しており、タグ(広告不要)が一致した場合は、コメントアウトの開始「<!--」を返す様にするシンプルで合理的な仕組みです。

つまりAdSenseコードの前に<!--が付けられるので広告が無効化されます。

タグ(カテゴリー)は、「広告不要」である必要は無いので、当ブログでは「たばこ」に一致した場合に動作する様にしました。

肝はAdSenseコードの最終行に持ってきたコメント行(<!-- ad-unit-name -->)で、この行で強制的にコメントアウトを終了させる仕組みの様です。この行以降はスクリプトが有効になります。

使い方は難しく考えずに、スクリプト部分->AdSenseコード->コメント行の順にワンセットとして考えると良いですし、2つめ以降の広告はスクリプトを呼び出すだけでOKということです。

最後に

当ブログの場合は、PC版とスマートフォン版に共通のHTMLコードを生成する様にレスポンシブを選択しているのですが、スマートフォンの場合にはしっかり分けられているのでPC版だけのコードでは正しく機能しません。

そこでソースをニコイチに改変させていただく事にしました。具体的には下記の様な感じで2つの診断をさせる感じ。ソースはこのブログのソースを読めば分かると思うので詳細は省きます。

<script>
function adsFilter(){
 noAdsTag="広告不要";
 ①PCサイト版の診断:タグが合致していたら「<!--」を出力
 ②スマホ版の診断:タグが合致していたら「<!--」を出力
}
</script>

<script>adsFilter();</script>
AdSenseで生成したコード
<!-- ad-unit-name -->

お陰様で、たばこに関する(カテゴリー)記事には、AdSense広告を表示しない様にすることが少ない手間で簡単に実現出来ました。有用なスクリプトを公開して下さっている方に感謝したいと思います。