【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をこちらの本で学びました。
とても分かりやすい本ですのでオススメです。
初心者には最適だと思います。