クリアメモリ

プログラミングやガジェットレビュー、便利なアプリケーションなど雑多に記録するブログ

【はてなブログ】プレビューでアドセンスを非表示にする方法!対策しないと警告メッセージが来ます...

f:id:clrmemory:20171005161345p:plain

こんにちはクリアメモリです!

はてなブログで記事を書いた後、公開する前にプレビューなどを使って記事をチェックしますよね。前回、プレビューが原因でアドセンスから警告が来たと紹介しました。

そこで今回は、「お客様の広告コードは、過去 7 日間に、所有していないサイトに何回も表示されています」の対処法を紹介します。

はじめに

 

Googleアドセンスで、自分のサイト以外に広告が表示されると

お客様の広告コードは、過去 7 日間に、所有していないサイトに何回も表示されています

 

こんな感じの警告メッセージが表示されます。

これについては、こちらで詳しく分析しているのでチェックしてください。

www.clrmemory.com

 

さて、このような警告メッセージを表示させないようにするためには、どのようにすれば良いのでしょうか。要は、プレビューページでだけアドセンスを非表示にできれば良いってことですよね!

今回はそういったカスタマイズです。

 

対処法を考える

 

アドセンスからの警告メッセージは、プレビューページの見過ぎが原因で表示されました。

 

f:id:clrmemory:20170907042538p:plain

 

こんな感じで、プレビューページでもアドセンスが表示されちゃってます。

では、プレビューページでだけ、アドセンスを非表示にしていきましょう。プレビューは基本的に自分しか見ないため、収益には影響が出ないので安心してください。

 

実装の流れ

 

今回の方法では、

すでに実装している「アドセンスのコード」をちょっとだけ書き換えます。

 

使用するコードはjavascript。

注意:プレビューで非表示にする場合は、javascriptでアドセンスを実装していなければなりません。アドセンスを直接書き込んでいる場合はうまくいかないので注意してください。

 

アドセンス広告の実装方法は人によって変わってくると思いますが、

今回の記事では、以下のようなコードを例にとって紹介してみようと思います。

<script>
var adsenseCode = (function(){/*

ここにアドセンスのコード

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

$(window).ready(function(){
  
  var $target = $('.entry-content h2');
  
  $target.eq(0).before($('.post-adsense'));
  $('.post-adsense').html(adsenseCode);
});
</script>

<div class="post-adsense"></div>

 

仮にこんな感じのコードで、アドセンスを実装していたとします。

新しくコードを書き換える必要はなく、すでに表示できていればOKです。

 

というのも、実際にプレビュー画面でアドセンスを非表示にするには、アドセンスを表示させる部分を囲むだけだからなんです。

つまり、アドセンスを非表示にする以外にも応用が効くってことですね。

 

それを踏まえた上で、実際の処理を追加していきましょう。

 

プレビューページを除外する

 

では実際に、

はてなブログのプレビューページではアドセンス広告を表示させないようにしましょう。

 

先ほど例に挙げたコードで

プレビューページだけアドセンスを非表示にするには、このように記述します。

<script>
  var adsenseCode = (function() {
    /*

    ここにアドセンスのコード

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

  $(window).ready(function() {

    var url = location.href;
    
    if (url.indexOf("/preview") === -1) {
        var $target = $('.entry-content h2');

        $target.eq(0).before($('.post-adsense'));
        $('.post-adsense').html(adsenseCode);
    }
  });

</script>

<div class="post-adsense"></div>

 

コードを見ると、実装しているのは

urlという変数を用意し、location.hrefでURLを取得。

indexOfで、urlに「/preview」という文字列があるか判定。

の2つだけなんです。

 

具体的には、

  • var url = location.href;

  • if (url.indexOf("/preview") === -1) { }

 

の2つを追加してあります。

閉じタグ「 } 」を忘れないようにしてくださいね。

 

これで、URLに「/preview」がついているページでは、アドセンスを表示させないようにできました。

実際にプレビューページと公開したページで表示が変わっているのを確認してください。

f:id:clrmemory:20170907041904p:plain

 

デザインページでも非表示になる

 

先ほどのコードを実装すると、はてなブログのデザインページでもアドセンスが非表示になります。

 

そのため、初めてアドセンスを実装しようという時に使ってしまうと、実装が確認できなくなるので注意してください。

もし、アドセンスの表示を確認したい時は、

一度コードを外してから、また今回のコードを追加すれば大丈夫です。

 

まとめ

 

今回紹介した方法を使えば、

プレビューページではアドセンスを表示させないようにカスタマイズできました。

これでもう、アドセンスの嫌な警告メッセージを見ないで済みますね!

www.clrmemory.com

 

ぜひ実装してみてください。

ではまた。

新着記事