【WordPress】グーグルアドセンスを特定の記事のみ非表示にする方法




ブロガー

この記事もしかしたらアドセンスの規約違反になるかな・・・?だとしたらこの記事だけアドセンスを非表示にさせたいんだけど、何か良い方法はないかな?

こんな疑問に答えます。

 

先日自分のブログに「アドセンス違反になるんじゃないか?」という記事を発見しました。

改めて調べてみるとアドセンスの禁止コンテンツってけっこうあるんですよね。

アダルト コンテンツ
危険または中傷的なコンテンツ
危険ドラッグおよび薬物に関連するコンテンツ
アルコールに関連するコンテンツ
タバコに関連するコンテンツ
ギャンブルとゲームに関連するコンテンツ
ヘルスケアに関連するコンテンツ
ハッキング、クラッキングに関連するコンテンツ
報酬プログラムを提供するページ
不適切な表示に関連するコンテンツ
衝撃的なコンテンツ
武器および兵器に関連するコンテンツ
不正行為を助長するコンテンツ
違法なコンテンツ

(引用:AdSense コンテンツ ポリシーの詳細

アドセンスのポリシーに違反していると最悪の場合アドセンスのアカウントを停止させられてしまうことも…

そのため急いで特定の記事のみアドセンスを非表示にする方法を調べ、なんとかアドセンス違反が疑われる記事のアドセンスを非表示にすることに成功しました。

そこで今回は記事単位でアドセンスを非表示にする方法について解説していきたいと思います!

 

アドセンスを非表示にする方法

アドセンスを非表示にするといってもアドセンスの貼り方が色々あると思うので、まずはその場合分けをしてきます。

 

①ウィジェットにアドセンスを挿入してるケース

僕が使っているテーマ「STORK」だとウィジェットを使ってアドセンスの管理ができます。

こういった方はプラグインを使ってウィジェットのアドセンスを非表示にする方法があるので、後ほど説明しますね。

 

②functions.phpにコードを貼り付けてるケース

ウィジェットやプラグインを使わずにWordpressのテンプレートであるfunctions.phpにアドセンスコードを貼り付けている人もいるのではないでしょうか?

そうした方はコードを少しいじることでアドセンスを記事単位で非表示にすることができます。

 

ウィジェットのアドセンスを非表示にする方法

それではまずはウィジェットのアドセンスを非表示にする方法について。

これは「Widget Logic」というプラグインを使って、簡単に一部の記事のアドセンスを非表示にすることができます。

 

①まずはWidget Logicをダウンロード

「プラグイン」→「新規追加」→「widget logic」

というかたちでWidget Logicを検索し、インストール&有効化をしましょう。

 

②「ウィジェットのロジック」を設定

次に非表示させたいウィジェットを開きましょう。

開くと下部に「ウィジェットのロジック」というものが新しく表示されています(下図)。

ここに「!is_single( array( 記事ページID ))」を入れればOKです。

 

記事ページIDは投稿一覧にある記事タイトルにカーソルを合わせると、左下に「サイトドメイン/wp-admin/post.php?post=ページID&action=edit」と出ます。

その中のページID部分の数字が記事IDです(下図)。

 

もし複数の記事をアドセンス非表示にしたいのであれば「!is_single( array(記事ID,記事ID))」といったかたちでカンマでIDを区切ればOK。

これで特定の記事のアドセンスを非表示にすることができます。

 

functions.php内のアドセンスを非表示にする方法

続いてはfunctions.phpにコードを貼り付けている人向けの方法を紹介します。

僕もfunctions.phpにこのブログに載ってる方法を使わせていただき、実際にアドセンスを自動挿入してます。

そのコードがこちら。

function add_ad_before_h2_for_3times($the_content) {
//1つ目の広告タグを挿入
$ad1 = <<< EOF
//////////////////////////////////
//ここに広告コード&アドセンスコード//
//////////////////////////////////
EOF;

  if ( is_single() ) {//投稿ページ
    $h2 = '/^<h2.*?>.+?<\/h2>$/im';//見出しのパターン
    if ( preg_match_all( $h2, $the_content, $h2s )) {//見出しが本文中にあるかどうか
      if ( $h2s[0] ) {
        if ( $h2s[0][0] ) {//1番目の見出し手前に広告を挿入
          $the_content  = str_replace($h2s[0][0], $ad1.$h2s[0][0], $the_content);
        }

      }
    }
  }
  return $the_content;
}
add_filter('the_content','add_ad_before_h2_for_3times');</h2.*?>

(引用:Y氏のWordpressブログ塾

このコードの8行目、if ( is_single() )の部分をif (!is_single(array(記事ID) ) )に変更すればOKです。

functions.phpのファイルはめちゃくちゃデリケートなファイルなので、いじる前はバックアップを取っておくことを忘れずに!

 

まとめ

今回は記事単位でアドセンスを非表示にする方法について解説してきました。

この方法を使えばこの記事にアドセンスを表示させたくないんだよな~といったときにも使えますね!

 

というわけで今回は以上です。

これからもブログ運営記事を更新していくのでお楽しみに!