平日WEB系SE 週末時々自転車屋

WEB系の技術ネタや大好きなお酒、週末手伝う自転車屋の話などを書きます。

お小遣いUPのためにgoogleAdsenseの表示回数をUP! はてなブログ(無料版)のカテゴリ一覧にgoogleAdsenseを表示する方法

 

googleAdsenseを自由に配置できる

過去2回の記事で特定のカテゴリ(お酒)の場合にはgoogleAdsenseの広告を表示せず、また表示場所も自由に指定できる方法が確立できたので、改めて配置場所を考えてみました。

 

jitenshaya-se.hatenablog.com

 

はてなブログ(無料版)では1ページに2つまで

まず配置可能な自分のgoogleAdsenseはいくつまでかというと、こちらの記事で検討したのですが、はてなブログ(無料版)ではレスポンシブ対応のテンプレートを使っている場合、(PCとスマホで同じHTMLを使っている場合)どのページにも2つまでです。

 

jitenshaya-se.hatenablog.com

 

表示場所はページの一番上と一番下

はてなブログ(無料版)では記事ページとTOPページは記事を読んだ後のほうがクリックされるということで記事の下、カテゴリ一覧ページは一番下まで見られないかもしれないので記事の上に1つadsenseが表示されているようなので、どのページでもページの一番上と一番下に1つずつ配置することにしました。

※これはあくまでも私の勝手な分析です。

やっぱりはてなadsenseの上

よく考えられているなーと関心しつつ、広告収入(お小遣い?)をとられるのも悔しいので、はてなadsenseの上に配置することにしました。

 

記事ページ上の配置場所

サイトのタイトル画像の直下などでは規約違反の可能性もありますし、あまりにも押してくださいという感じなので、記事ページ上の場合、記事タイトルの下に配置することにしました。

f:id:jitenshaya_se:20150405170739p:plain

 

一覧ページ上の配置場所はあからさまにはてなadsenseの直前にします。

f:id:jitenshaya_se:20150405170746p:plain

 

ページ下の配置場所

記事下の配置場所は以前の記事で決めたソーシャル形のボタンの上にします。

一覧ページ下の配置場所は特にどこというところもないのでページの一番下にします。

 

一覧ページと記事ページの判別

まず一覧ページと記事ページの判別ですが、例によってFireBugで確認したところ、entry-content というクラスのあるなしで判定できそうなので、jQueryで以下のように判別することにしました。

if($(".entry-content").size() > 0){
~~記事ページでの配置
}else{
~~一覧ページでの配置
}

 ※jQueyでの要素のあるなしの判定でよく size()を使います。

 

細かい配置場所

更に細かく配置場所を調べたところ、記事ページの場合、記事上は entry-content というクラスの上、記事下は entry-footerというクラスの下に配置すれば良いようです。

また、一覧ページについては main-inner というidの前後に配置すれば良いようです。

 

完成したコード

2つのソースを合わせると以下のようになります。

  /*通常の記事*/
if($(".entry-content").size() > 0){
$(".entry-footer").before(kijishitaAdsenseCode);
$(".entry-content").before(kijiueAdsenseCode);
/*一覧*/
}else{
$("#main-inner").append(kijishitaAdsenseCode);
$("#main-inner").prepend(kijiueAdsenseCode);
}

 

カテゴリがお酒の場合に表示しないコードとあわせると、こんな感じになります。

<script type="text/javascript">
var kijishitaAdsenseCode = (function () {/*
<div id="kijishitaad">
<div>広告</div>
<!-- 自分のアドセンスコードの/scriptを/scripに修正してここにコピペ -->
</div>
*/}).toString().match(/\/\*([^]*)\*\//)[1].replace(/scrip>/g, 'script>');

var kijiueAdsenseCode = (function () {/*
<p></p>
<div id="sidead">
<div>広告</div>
<!-- 自分のアドセンスコードの/scriptを/scripに修正してここにコピペ -->
</div>
*/}).toString().match(/\/\*([^]*)\*\//)[1].replace(/scrip>/g, 'script>');


$(function(){
/*カテゴリにお酒が含まれていないかどうかチェック*/
var noadflg = false;
$(".categories a").each(function(index, element) {
if($(element).text() == "お酒"){
noadflg = true;
return false;
}
});
/*お酒が含まれていないときのみadsenseを要素に追加*/
if(!noadflg){
/*通常の記事*/
if($(".entry-content").size() > 0){
$(".entry-footer").before(kijishitaAdsenseCode);
$(".entry-content").before(kijiueAdsenseCode);
/*一覧*/
}else{
$("#main-inner").append(kijishitaAdsenseCode);
$("#main-inner").prepend(kijiueAdsenseCode);
}
}
});
</script>

 

最終的な表示のイメージ

記事上

f:id:jitenshaya_se:20150405174038p:plain

 

一覧上

f:id:jitenshaya_se:20150405174033p:plain

 

記事下

f:id:jitenshaya_se:20150330223628p:plain

 

一覧下

f:id:jitenshaya_se:20150405175732p:plain