ブロギングライフ

ブログサイト運営関連、AdSenseについての情報などを発信しています。

ウィジェットロジックで特定ページの広告を非表示にする方法

ウィジェットロジックで特定ページの広告を非表示にする方法

WordPress サイトでは、広告コードを設置するのにウィジェットを使用する方法が、プラグインを使用する方法と並んで一般的で普及しています。サイト内のページで広告に適さないと思われるようなページ(例:プライバシーポリシー、お問い合わせ、プロフィールなど)では、広告を非表示にするのも1つのアプローチです。

AdSenseのポリシーでは、404 エラーページでのAdSense 広告の設置を禁じています。WordPress のウィジェットを使用してAdSense 広告を設置している場合、Widget Logicを使用すると簡単に404 ページでのAdSense広告を非表示にすることができます。

備考:
テーマによっては、ページごとに広告の表示非表示の設定を行う機能を備えているものもあります。Simplicityをご利用の方は、特定ページの広告非表示設定と表示形式の変更方法・手順 についての記事を御覧下さい。

ウィジェットロジックを使用して広告を非表示にする方法

WordPressではテンプレートで表示される内容やページの情報を、条件分岐タグ(Conditional Tag)で判別、制御管理することができます。ウィジェットロジックは、条件分岐タグを指定してウィジェットの操作の制御を行うプラグインです。ウィジェットロジックを使う と、特定のページのみウィジェットを表示したり、非表示にすることができます。

以下にウィジェットロジックを使用して、特定のページでの広告を非表示にする方法を紹介します。

特定ページでの広告表示ウィジェットの非表示設定例

例として、記事下にカスタムHTMLウィジェットを使用して広告表示を行っている場合の特定ページでの非表示の設定を紹介します。カスタムHTMLウィジェットの内容の欄に、広告コードが設置されています。その下に「ウィジェットのロジック」の欄があります。この欄に条件分岐タグを入力するとウィジェットの操作の制御を行うことができます。

is_page( ) は、WordPressの固定ページを表示する時の条件です。非表示にする場合は、指定する条件を除外する”!”をタグの先頭に加えます。カッコ内にページIDや記事スラグを入力すると、特定のページを指定することができます。

以下の画像では、!is_page( ‘contact’ ) を条件分岐タグとして入力しています。スラグがcontactの固定ページ以外で動作する設定(条件指定)です。この様に設定するとコンタクトページでは、このカスタムHTML ウィジェットは動作しないため、内容にある広告コードが実行されなく(表示されなく)なります。

条件分岐タグでページを指定して広告を非表示にする方法

備考: ここでは分かりやすいようにスラグを使用していますが、スラグやページタイトルは、変更したりする可能性があるので、ページの指定はIDがお勧めです。

ページIDの見つけ方

WordPressのページはそれぞれ固有のID番号が割り当てられています。ページID番号は、そのページの編集画面で表示されるURL内にある番号です。ページや記事の編集画面のブラウザのアドレスバー内に表示される”post=xx”のxxがページIDです。以下の画面では、ページIDは485です。

ページ編集画面のURLに含まれるページID

複数のページを条件に設定する

複数のページを条件にしていしたい場合は、is_page( array( xx, xy, xz ) )の様に記述します。左の記述例での、xx, xy, xzはIDです。スラグを使用する場合は、’slug’の様にシングルクォーテーションで括ります。

以下の例では、ウィジェットロジックに、!is_page( array( ‘contact’, 689, ‘about’ ) )を入力しています。ページID 689とスラグの”contact”と”about”のページを指定して、これらのページでは広告を非表示にする設定となっています。ウィジェットロジックに複数ページの条件分岐を指定する例

スラグの方が一見して何のページか分かる利点があります。IDは一見して分からないところが不便ですが、ページIDは基本的に変わることはないので、より確実です。スラグでの指定は、スペルが間違っていたり、何らかの理由で指定ができていないことが発生する可能性があるため、スラグを使用する場合は、動作確認を入念にされることをお勧め致します。

コメントとトラックバック

  • Comments ( 2 )
  • Trackbacks ( 0 )
  1. こんにちは。
    特定のカテゴリだけアドセンス広告を非表示にしたく、こちらの記事を参考にさせていただいているのですが、何度設定をやり直しても広告が非表示になりません。
    キャッシュの削除やスーパーリロード、年のための広告コードの確認も行いましたがダメです。

    そもそも、各ウィジェットの下に「ウィジェットのロジック」という項目が表示されますが、この条件を指定したウィジェットをどこに配置するのでしょうか?

    どこかにサイドバーや記事下などに設置しなければ、いけないと思うのですが、そのことについて書かれているサイトが一切見当たらなく、思い切ってご質問させていただきました。

    ちなみに、現在アドセンス広告は、Function.phpに自動挿入のコードを追加し、各見出しタグの上に挿入される形になっています。

    • はじめまして。

      そもそも、各ウィジェットの下に「ウィジェットのロジック」という項目が表示されますが、この条件を指定したウィジェットをどこに配置するのでしょうか?

      ウィジェットの設置エリアは、テーマによって異なります。ほとんど全てのテーマで、サイドバーへのウィジェットの設置はサポートしています。しかし、記事下へのウィジェットの設置をサポートしていないテーマもあります。(例:WordPressの標準テーマは、サイドバーへのウィジェットの設置はサポートしていますが、記事下への設置はサポートしていません。)

      ご利用のテーマの名前を教えて頂ければ、分かる可能性もあります。または、「外観」から「ウィジェット」を表示すれば、どの場所に設置できるかは分かると思います。

      functions.phpに広告コードを挿入しているのであれば(自動挿入と仰る意味が不明なのですが、functions.phpを編集して設定しているということであれば)、その広告コードの部分に条件分岐を加えれば、特定のカテゴリーのみ非表示に設定することはできます。

コメントを残す(承認後表示されます)

*
*
* (公開されません)

Return Top
error: Content is protected !!