【WordPress】特定の記事やタグでアドセンスを非表示にする方法

特定の記事が表示される時にだけ、
Googleアドセンスの広告を非表示にする方法です。

特定のタグを持つ記事が表示される時にも応用可能です。

ブログを運営していていると
時々、お酒やグラビアアイドルのことを書きたくなります。

そんな時に便利な方法です。

No ad

アドセンスの広告表示をコントロールしよう

いらっしゃいませ、番台さんです。

先日、別のブログで
ビールのことを書きました。

しかし、書いた後に気がつきました!
アドセンスの規約違反じゃん!!

やべー!と思って、
無い脳みそを振り絞って考えましたよ。

PHPの条件分岐を使って
この記事だけアドセンスを非表示にしよう!

そして、調べた結果
下記の方法で上手くいきました。

番台さんは、アドセンスのコードを
テーマの「single.php」に記述していますので、
PHPを使って条件分岐をすることが出来ます。

ですので、
この方法を使えるのは、
テーマにアドセンスコードを記述するスタイルの人に限ります。

条件分岐を利用する

参考にさせて頂いたのは
Wordpress界のでは有名な、星野邦敏さんのこの記事。

株式会社コミュニティコム
wp_is_mobile関数 – WordPress3.4から実装されたパソコン用サイトとスマートフォン用サイトを分ける条件分岐タグ

上記の記事では、

[php]
<?php if (wp_is_mobile()) :?>
スマートフォン用コンテンツをココに書きます。
<?php else: ?>
パソコン用コンテンツをココに書きます。
<?php endif; ?>
[/php]

という条件分岐を使って、

  • スマホで表示させたいコンテンツ
  • PCで表示させたいコンテンツ

を切り分けています。

これを応用して、

  • この記事の時はアドセンス非表示
  • それ以外はアドセンス表示

という条件分岐を行います。

記事のIDを使って非表示にする

まず、
アドセンスを非表示にしたい記事(ビールの記事)の記事IDを
Wordpressのダッシュボードの投稿一覧から調べましょう。

記事が一覧表示になっている状態で、
非表示にしたい記事にマウスを載せると、
ブラウザ下部のステータスバーにリンクが表示されます。

表示されたURLに

「post=数字」

という部分がありますので、その数字が記事のIDです。

この数字を利用します。

具体的な記述は以下のようになります。
下記の例では、記事のIDが1000だった場合です。

[php]

<?php if(is_single(‘1000’)):?>

空欄にします

<?php else:?>

アドセンスコードをここに書きます

<?php endif;?>
[/php]

この記述は

もし、記事IDが「1000」の記事だったら、
「空欄」を表示し、
そうでなかったら、アドセンスを表示させる

という記述になります。

「空欄」の代わりに
アドセンスではない広告、
例えばアフィリエイト広告などを表示させるのもいいと思います。

その場合は「空欄」の部分に
アフィリエイト広告のコードを記述します。

設定は以上です。
これで大丈夫なはずです。

サイドバーやヘッダーにアドセンス広告がある場合は、
それらも同様に設定しておきましょう。

応用編:特定のタグでアドセンスを非表示にする

番台さんは、こちらを現在利用しています。

上記のように、個別記事が表示されている時にだけ非表示にしても、
トップページやアーカイブページに
ビールの記事が「新着記事一覧」などで表示されている場合には、
サイドバーやヘッダーのアドセンス広告が表示されてしまいます。

記事をアップしたばかりですと、
しばらくはトップページに新着記事が表示されていますので、
アドセンスの規約に触れてしまう恐れがあります。

それを回避するため、
ビールの記事には「ビール」というタグをつけて
「ビール」のタグを持つ記事が表示されている場合は、
アドセンスを非表示にすることにしました。

コードは以下のようになります。

[php]
<?php if(has_tag( ‘ビール’ )) : ?>

空欄にします

<?php else: ?>

アドセンスコードをここに書きます

<?php endif; ?>
[/php]

ここで使用した、Wordpressの条件分岐

[php]
has_tag( ‘タグ名’ )
[/php]

は、
特定のタグを持つ投稿がループ内で表示されている場合に
有効になる条件分岐です。

アーカイブページなどの記事一覧表示の中に
1つでも「ビール」というタグを持つ記事があれば、
アドセンスが非表示になります。

このコードを、
ヘッダーやサイドバーのアドセンスコードの記述部分に加えてあげます。

これで番台さんの希望通り、
記事一覧にビールの記事がある間は
アドセンスが非表示になりました。

しばらくは収益が減るけど仕方ない

記事一覧でビールの記事が表示されている間は、
収益が減ってしまいますが、
規約に違反して、アドセンスが停止されるよりはいいと思います。

それに、これで心置きなく、ビールの記事が書けます(笑)。

この方法を使う際には、
自己責任でお願いします。

アドセンスの規約違反かどうかを判断するのはGoogleですので、
これでも、どこかに穴があるかもしれませんので。。。。

番台さんは、PHPをこちらの本で学びました。
とても分かりやすい本ですのでオススメです。
初心者には最適だと思います。

このページの先頭へ