読者です 読者をやめる 読者になる 読者になる

この素晴らしいマイルに祝福を!~このすマ!~

マイルのことや、節約、育児、趣味とかいろいろ書いてます。 このすマ

私がやっているGoogle AdSenseで文中挿入自動化と、広告非表示を両立させる方法

f:id:dragontails6885:20170118230609j:plain

GoogleAdSenseを記事を書くたびに自分で挿入するのはなかなか手間がかかることだ。

 

やれることなら自動化したいと思うのは当然だろう。

 

私もなかなか上手く行かなかったのだが、今は安定して文中挿入の自動化と広告非表示が両立できている。

 

スクリプト自体に知識は持ち合わせていないので、私のやっている方法を紹介したいと思う。いろいろやってみたが上手く行かない人は試してもらいたい。

参考にさせてもらったサイトを紹介

まずはアドセンスの文中自動挿入と、広告非表示を導入するにあたって、参考にさせてもらったサイトを紹介する。

 

【アドセンス文中挿入自動化】

uxlayman.hatenablog.com

  

【アドセンス広告非表示設定】

hapilaki.hateblo.jp

www.yutorism.jp

kiyosui.hatenablog.com

 

 スプリクトに関する知識を持ち合わせていない私にとって先人の知恵が頼りである。心から敬意を表したい。

 

文中挿入自動化と広告非表示の両立

 詳しいことは専門的な人に任せるとして、前述のサイト様からいただいた知識を元にして、私が使っているコードを公開したいと思う。

 

広告不要の記事は、非表示にしたいカテゴリを設定することで広告を非表示にしている。

私は『広告不要』のカテゴリを作成し、広告が不要な記事にカテゴリを追加するようにしている。正直格好は良くないので何とかしたいとは思っているところだ。

 

私のアドセンスの貼り方は、記事上に1つ、文中に1つ、記事下に1つという感じだ。本当は文中に2つ貼りたいのだが、なかなか上手く行かない。現状はこれで我慢している。

 

私が使っているコードは以下のとおりだ。

 

 赤文字:広告不要スクリプト部分

 青文字:アドセンス文中自動挿入スクリプト部分

 

パソコン用

記事上部分(デザイン設定の記事上に挿入)

<script>
 /*
 * AdSense Filter v1.0.0
 * Date: 2014-12-10
 * Copyright (c) 2014 http://hapilaki.hateblo.jp/
 * Released under the MIT license:
 * http://opensource.org/licenses/mit-license.php
 */
 noAdsTag="広告不要"; //広告を設置しないタグを指定
var pageTags=document.getElementsByTagName("meta");
 function adsFilter(){
 for(var i=0;i<pageTags.length;i++){
 if( ("article:tag"==pageTags[i].getAttribute("property")) && (noAdsTag == pageTags[i].getAttribute("content") ) ){
 document.write('<!--');
break;
 }
 }
 }
 adsFilter();
 </script>
 <!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->
<!-- アドセンスコード内のアドセンス名をここに持ってくる -->

 

記事下部分(デザイン設定の記事下に挿入)

 <script>
 /*
 * AdSense Filter v1.0.0
 * Date: 2014-12-10
 * Copyright (c) 2014 http://hapilaki.hateblo.jp/
 * Released under the MIT license:
 * http://opensource.org/licenses/mit-license.php
 */
 noAdsTag="広告不要"; //広告を設置しないタグを指定
var pageTags=document.getElementsByTagName("meta");
 function adsFilter(){
 for(var i=0;i<pageTags.length;i++){
 if( ("article:tag"==pageTags[i].getAttribute("property")) && (noAdsTag == pageTags[i].getAttribute("content") ) ){
 document.write('<!--');
break;
 }
 }
 }
 adsFilter();
 </script><p></p>
 <!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->
<!-- アドセンスコード内のアドセンス名をここに持ってくる -->

 

記事中部分(デザイン設定の記事下に挿入)

<script>adsFilter();</script>
<script>
var adsenseCode = (function () {/*
<p> </p>
<!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->
<p> </p>

*/}).toString().match(//*([^]*)*//)[1].replace(/scrip>/g, 'script>');

addEventListener("DOMContentLoaded", function() {
    var $target = $('.entry-content h3');
    $target.eq(Math.floor($target.size() / 2)).after($('.insentense-adsense'));

    $('.insentense-adsense').html(adsenseCode);
}, false);
</script>
<div class="insentense-adsense"></div>

 

スマートフォン用

記事上部分(デザイン設定のスマートフォン記事上に挿入)

<script>
/*
* AdSense Filter v1.0.0
* Date: 2014-12-10
* Copyright (c) 2014 http://hapilaki.hateblo.jp/
* Released under the MIT license:
* http://opensource.org/licenses/mit-license.php
*/
noAdsTag="広告不要"; //広告を設置しないタグを指定
var pageTag=document.getElementById("body");
function adsFilter(){
if(pageTag.getAttribute("class").indexOf("category-"+noAdsTag)!=-1){
document.write('<!--');
}
}
adsFilter();
</script> <p></p>
<!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->
<!-- アドセンスコード内のアドセンス名をここに持ってくる -->

 

記事下部分(デザイン設定のスマートフォン記事下に挿入)

<script>
/*
* AdSense Filter v1.0.0
* Date: 2014-12-10
* Copyright (c) 2014 http://hapilaki.hateblo.jp/
* Released under the MIT license:
* http://opensource.org/licenses/mit-license.php
*/
noAdsTag="広告不要"; //広告を設置しないタグを指定
var pageTag=document.getElementById("body");
function adsFilter(){
if(pageTag.getAttribute("class").indexOf("category-"+noAdsTag)!=-1){
document.write('<!--');
}
}
adsFilter();
</script>
<p></p>
<!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->
<!-- アドセンスコード内のアドセンス名をここに持ってくる -->

 

記事中部分(デザイン設定のスマートフォン記事下に挿入)

<script>adsFilter();</script>

<!-- 自分のアドセンスコードの2箇所の「/script」を「/scrip」に修正してここにコピペ -->

<p></p>
*/}).toString().match(//*([^]*)*//)[1].replace(/scrip>/g, 'script>');

addEventListener("DOMContentLoaded", function() {
    var $target = $('.entry-content h3,h4,h5');
    $target.eq(Math.floor($target.size() / 2)).before($('.insentense-adsense'));

    $('.insentense-adsense').html(adsenseCode);
}, false);
</script>
<div class="insentense-adsense"></div>

 

私がなぜか上手く行かなかったのだが、記事中部分は<script>adsFilter();</script>によって記事下部分に設定してある広告非表示にするスクリプトを読み込んでいるはずなのだが、記事下部分のコードと同じように広告ユニットの名前をアドセンスコードの下に持っていくと上手く表示されなかった

 

そのため、<script>adsFilter();</script>で設定した広告非表示の部分は、移動せずにそのままアドセンスコードを貼り付けるだけで良いのかも知れない。(「/script」を「/scrip」に修正するのは忘れずに)

 

以上が私が設定しているアドセンスの貼り方だ。

あまり参考にならないかもしれないが、悩んでいる人は参考にしてみて欲しい。

よくわからない部分がある場合は、前述してある参考にしたサイト内に詳しいやり方が書いてある。

 

 

ただし、利用はすべて自己責任でお願いしたい。

 

また、バックアップは必ず取るようにして欲しい。最悪一から作り直さなければいけなくなる可能もある。

 

このコードを利用する際の注意点

 

私の利用しているコードの注意点について何点か書いておきたい。

 

・すべてのコードを同じく入れた場合、記事上に1つ、文中に1つ、記事下に1つ広告が設置される。他に広告を入れている場合(サイドバー等)は、広告が3つ以上になってしまうので、どれか消す必要がる。

 

・スポンサーリンクのラベルは入れていない。(その理由は後述する)

 

・パソコン用とスマホ用があるので注意。

 

・広告非表示は『広告不要』のカテゴリを作成し、広告を入れたくない記事にカテゴリを追加する必要がある。

 

以上が簡単な注意点だ。

 

ソース内にアドセンスのコードが残っていてもポリシー準拠になるのか

一つ疑問に思うことがある。

スクリプトでアドセンスの表示を消してはいるが、ソースを確認するとアドセンスのコードは残ったままである。

はたしてこれはポリシーに準拠しているのか?

 

アドセンスサポートチームにメールで問い合わせてみることにした。

 

その結果、広告がページで表示されなければ問題無いとの回答を得ている。

アドセンスのコードがソース内に残っているのは問題ないようだ。

 

スポンサーリンク、広告等のラベル表記は必要なのか?

私のコードにはスポンサーリンクのラベルが入っていない。

 

表示するアドセンスにはスポンサーリンク、広告等の表記をしなければならないと認識している人が多いと思う。

 

しかし必ずしもそういう訳ではない。むしろ表示は義務ではない。特定の広告の貼り方をする場合のみ表記が 必要になるのである。

 

 Google AdSenseのポリシーにはこのように書かれています。

誤解を招く見出しの下での広告配置

サイトのユーザーに誤解を与えないようにし、ユーザーがコンテンツと Google ディスプレイ広告を簡単に区別できるようにすることが大事です。AdSense のポリシーでは、「関連情報」や「関連リンク」といった誤解を招く見出しの下に広告を配置することは禁止されています。Google 広告のラベルには、「広告」または「スポンサーリンク」のみを使用するようお願いいたします。

 

誤解を招くような見出しの下に広告を表示する場合、スポンサーリンク、広告を表記するようにと書かれている。

 

つまり誤解を招く表示をしていなければラベルは必要ないということになる。

 

そのため、私の使っているコードは、スポンサーリンクを入れていない。

 

ラベルの表記は任意で、誤解を招くような表示の場合は表記が必要となる。そして表記できるラベルは『スポンサーリンク』『広告』の2種類に限定される。

 

【追記】

アドセンスサポートチームに問い合わせて確認したが、スポンサーリンクのラベル挿入は、必須ではないとの回答を得た。

ユーザーによる偶発的なクリックを回避するためには有効な対策であるため、設置を推奨しているとのことであった。

 

自動で同じようなスクリプトを生成してくれるサイトが誕生

まる (id:kanamalu)さんが自分のアドセンスコードを貼り付けるだけで文中自動挿入、広告非表示のスクリプトを自動で生成してくれる素晴らしいサイトを作成している。

 

詳しくはまるさんの記事を読んで欲しい。

www.kanamalu.com

 

よくわからない人ほど利用して欲しい。とても簡単に使うことができる。

定期的にアップデートされており、パソコン用、スマホ用どちらにも対応している。ぜひ利用して欲しい。

 

おわりに 

 このアドセンスの文中自動挿入と、広告非表示の設定はとても便利なのだが、意外とてこずっている人も多いようだ。

 

私も何度も表示がおかしくなったり、広告非表示に出来なかったりと苦労したが今のところこのやり方で稼動している。

 

上手く行かない人は私の設定も参考にしてみて欲しい。

ただし利用は自己責任で。