こんにちは。
咳止めの薬を飲んでも咳が止まらないYOSHI(@YShinkaron)です。
特定のページにだけアドセンス広告を表示しない方法はないかって困っていませんか?
本当は単価の高いアフィリエイトリンクに誘導したいのに、アドセンス広告がどのページにも表示される設定にしてたため、取り逃がしてしまった!って経験あると思います。
僕も最近までずっとアドセンス広告と、アフィリエイトリンクを一緒に表示していて、友人に注意されました。
じつはプラグインを使うことで、特定ページのアドセンス広告を非表示することができます。
そこで今回の記事では
「特定の記事だけアドセンスを非表示にしたい」
「簡単にできるプラグインはない?」
といった悩みをWordPressのプラグイン「Widget Logic」を使った解決方法を、画像付きで解説していきます。
プラグイン「Widget Logic」って何?
WordPressのプラグイン「Widget Logic」を追加することで、ウィジェット毎に条件分岐を指定することができます。
つまり特定の条件が満たされた時に、「表示する」「表示しない」といった結果を、複数に分岐する動作を「Widget Logic」を使うことで簡単にできるといった感じです。
プラグイン「Widget Logic」のインストール・有効化をする
それではWordPressのダッシュボードから
- 「プラグイン」をクリックする
- 検索窓に「Widget Logic」と入力する
- 「今すぐインストール」をクリックする
インストールが完了したら「有効化」をクリックしましょう。
これで「Widget Logic」を使うことができます。
ウィジェットに追加された項目
「Widget Logic設定」が追加
ウィジェットの最下部に「Widget Logicの設定」という項目が追加されましたが、ここは特に変更する必要はありません。
「ウィジェットのロジック」が追加
自分でカスタマイズするウィジェットの下に、条件分岐を入力するための項目が追加されました。
上記の画像では、「カスタムHTML」というウィジェットに、Googleアドセンスのコードが貼り付けられています。
このウィジェットを特定の条件をつけて、表示・非表示という具合に切り替えるため、入力するコードについて説明していきます。
WordPressの条件分岐タグ:基本
特定のページのみ表示する
WordPressで使用する条件分岐タグは決まっているので、そのコードを入力するだけ。
条件分岐タグの詳しい説明については、WordPress公式のWikiに記載されているので、下記の表で確認してください。
よく使うコードのみ抜粋して記載しておきました。
メインページ | is_home() |
投稿 | is_single() |
固定 | is_page() |
アーカイブ | is_archive() |
カテゴリー | is_category() |
タグ | is_tag() |
日付 | is_date() |
検索結果 | is_search() |
スマホ・タブレット | is_mobile() |
例えば下記の例だと「ウィジェットのロジック」の項目に「is_single()」を入力した場合、投稿ページでのみ表示されるという条件を加えたことになります。
特定のページのみ非表示にする
表示させる仕組みがわかれば、特定のページを非表示にすることは簡単です。
先程説明した条件分岐の基本のコードの前に「!」をつけると、「特定のページでは非表示」という意味に変わります。
「is_home()」では「HOME」に広告が表示されるという意味だったのが、「!is_home()」とすることで、「HOME」では広告は表示しないという意味に変わりました。
!is_home()
WordPressの条件分岐タグ:応用
指定したページのみ表示する
一部のページのみアドセンスを表示させたい場合には、「ID」か「スラッグ」で指定することで、いろんなバリエーションの表示・非表示ができます。
投稿(ID指定) | is_single( ‘small’ ) |
投稿(ID複数指定) | is_single( array( small,middle,large )) |
特定のカテゴリーに属する投稿(スラッグ指定) | in_category( ‘wordpress’ ) |
特定のタグを含む投稿(スラッグ指定) | has_tag( ‘trade’ ) |
投稿(ID指定)
is_single( ‘1234’ )
投稿記事にはそれぞれにIDが指定されています。このIDを使うことで指定したページのみ、アドセンス広告を表示させることができます。
例えば
100記事の中の1記事だけ、この広告を表示させたいとことも可能になります。
指定したページのみ表示させる方法はとても簡単で、()内に指定したID(数字)と入力し「’」シングルクォーテーションで囲むだけです。
投稿(ID複数指定)
is_single( array( 1111,2222,3333 ))
指定したいページが複数ある場合は、配列という意味のあるarray(アレイ)を使います。
単体のページと違う点は
「array()」のカッコ内にIDを「,(カンマ)」で区切ってあげることです。
特定のカテゴリーに属する投稿(スラッグ指定)
in_category( 'wordpress' )
“スラッグ” は URL に適した形式の名前のことです。
例えばサイドバーのカテゴリー欄には「アニメ」とカタカナで表示させているとします。しかしURLに直すと文字化けしてしまうので、スラッグで英語名を指定してあげる訳です。
なのでこのコードでは、カテゴリー内にある’wordpress’でのみ表示するという意味になります。
特定のタグを含む投稿(スラッグ)
has_tag( ‘trade’ )
「is_」はIDで指定する方法でしたが、「has_」はスラッグで指定します。
このコードでは「tradeというタグがついている投稿のみ表示する」という意味になります。
IDとスラッグの調べ方
ID
投稿一覧からIDを調べたい記事にカーソルを重ねると、画面左下にリンクが表示されます。
その中に「post=****」と書かれた数字が、記事IDになります。
スラッグ
「スラッグ」は、投稿>タグをクリックすると表示されます。
意識してタグを作成していない場合、スラッグ名が日本語のままってことが多々あります。タグを新しく作成したら、必ずスラッグ名を英語に変更しておきましょう。
まとめ
- プラグイン「Widget Logic」を使えば簡単に条件分岐ができる
- 非表示は先頭に「!」を入れる
- 応用編を使いこなせれば、色んなバリエーションで条件分岐ができる
どうでしたか?それほど難しくはなかったと思います。
難しい条件分岐を使う必要はないので、まずは特定のページを表示・日表示させる基本編を理解すれば、応用編もすぐに使いこなせるようになります。
ブログ運営が慣れてきたら、本格的にアフィリエイトの成約率を気にする時がきます。その時にこの条件分岐を理解していれば、アドセンス広告を非表示にすることも可能です。
まずは色々試してみてください。