googleAdsenseの規約違反にならないためにはこれ!はてなブログ(無料版)の特定のカテゴリ(お酒)の場合だけ非表示にする方法
前回の記事で予告した記事の上にadsenseのバナーを特定のカテゴリの記事の場合だけ非表示にする方法をお知らせします。
※jQueryのライブラリをあらかじめ読み込んでおくことが抜けていたため4/1に追記しました。
adsenseの非表示方法
色々と探してみたのですが、こちらのサイトの実装方法が一番応用できそうだったので、参考にさせていただきました。
こちらの記事での非表示方法は特定の条件にマッチしなかった時だけgoogleAdsenseのjavascriptを出力する です。
また、記事の中ではお酒という言葉がページのどこかに出力されていたらadsenseを表示しないとなっていますが、このブログにはお酒というカテゴリがあり、全ページで表示できなくなってしまうので、記事のカテゴリにお酒が含まれているときはadsenseのタグを出力しないという判断とします。
この方法であれば条件に合わなければ出力(=javascriptの実行)しないので、googleAdsenseの規約違反にはならないのではないかという判断です。
※サイトの管理者の方も「ここの判断は自己責任でお願いします。」と書いています。
準備
最初に絶対に必要なjQueryですが、はてなの開発ブログによると、HTMLの最後でjqueryを読み込んでいるようなので、jQueryを最初に読み込みます。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
カテゴリの判断
お酒 というカテゴリを判断する方法ですが、以前書いた記事の方法を応用します。
まずは記事ページのカテゴリですが下のような形で<div class="categories "></div>の中に<a></a>で複数並んでいます。
<div class="categories ">
<a href="https://jitenshaya-se.hatenablog.com/*****">カテゴリ名A</a>
<a href="https://jitenshaya-se.hatenablog.com/*****">カテゴリ名B</a>
・・・・・
</div>
この中をループまわしながら お酒 というカテゴリが含まれていないか確認します。
判断するためのコードはこちら
var noadflg = false;//カテゴリとしてお酒が含まれるかどうか
$(".categories a").each(function(index, element) {
if($(element).text() == "お酒"){
noadflg = true;//
return false;
}
});
このコードで
var noadflg = false;
のままでループを抜けた場合のみadsenseのバナーが表示できるということになります。
最終的なコードはこちらです。
<script type="text/javascript">
var adsenseCode = (function () {/*
<div>広告<br/>
<!-- 自分のアドセンスコードの/scriptを/scripに修正してここにコピペ -->
</div>
*/}).toString().match(/\/\*([^]*)\*\//)[1].replace(/scrip>/g, 'script>');
$(document).ready(function(){
/*カテゴリにお酒が含まれていないかどうかチェック*/
var noadflg = false;
$(".categories a").each(function(index, element) {
if($(element).text() == "お酒"){
noadflg = true;
return false;
}
});
/*お酒が含まれていないときのみadsenseを要素に追加*/
if(!noadflg){
$(".custom-adsense").html(adsenseCode);
}
});
</script>
<div class="custom-adsense"></div>
これで、お酒の記事を心置きなく書けます。