20160526adsense01

このブログではグーグルアドセンスを利用していますが、アドセンスを貼っていると規約上書けない話題というのがあります。そこでWordPressのカスタムフィールドを利用して記事ごとにアドセンスの表示非表示を切り替えれるようにしました。

はじめに

ソースコードを書き換える前に必ずバックアップをとってください。

意外と多いグーグルアドセンスの規約上書いてはいけない話題

ワードプレスでブログを書いている人の中には「テーマの設定」内の個別投稿のphpをカスタマイズして自動でグーグルアドセンスを挿入するようにしている人も多いと思います。

しかし自動ですべての記事にアドセンスが挿入されてしまうためアドセンスの規約外の話題を記事にすることができなくなってしまいます。

一部お酒の話題や、ブログの運営、アクセス解析の話、ポイントサイトなどアドセンスの規約上書けない話題は意外と多いです。

アドセンスの規約外の話題を記事にしたい場合の方法は2つです。

  1. アドセンスなしの別ブログを立ち上げアドセンスの規約外の話題はそちらに投稿する
  2. 記事ごとにアドセンスの表示非表示を切り替える

今回は2についてです。アドセンスを貼ってあるブログでアドセンスの規約外の話題を書いてはいけないわけではなく、アドセンスを貼ってある記事内で規約外の話題を書いてはいけないだけなので(一部例外有)こういう対応が可能になります。

この記事の内容のまとめ

文章で長々と書くとなんの話をしているのかわかりにくいため、最初にこの記事の内容を箇条書きにしてまとめて書いておきます。

今回の記事で関連するアドセンスの規約【注】

  • グーグルアドセンスは1ページ内に3つまで(2016年8月に撤廃)
  • スマートフォンの画面内に2つアドセンスが表示されるのは規約違反

【注】
2016年8月のアドセンス規約改正に伴い「1記事にアドセンス広告は3つまで」という規約は撤廃されました。しかしスマホ画面内にアドセンス広告が2つ表示されるのはダメという規約は生きていますのでご注意ください。

やりたいこと

  • 記事下にアドセンスを左右に並べて貼るのがクリック率が高いので並べて貼りたい
  • 普通に左右に並べて貼るとスマートフォンで見た時に1ページにアドセンスが2つ表示されてしまうため規約違反となる。
  • 上記規約違反を回避するためWordPressテーマ内の個別投稿phpの条件分岐でスマートフォンで表示されるアドセンスとパソコンで表示されるアドセンスを用意する。
  • 個別投稿phpを使ってアドセンスを挿入すると、すべての記事に自動的にアドセンスが表示されてしまうため、アドセンスの規約から外れる記事が書けない。
  • そこでカスタムフィールドを使ってアドセンスを表示しない場合の設定を行い、再度phpの条件分岐で「アドセンスを表示しない場合」「スマートフォンでアドセンスを表示する場合」「パソコンでアドセンスを表示する場合」の3つを条件分けをする。

なおアドセンスを記事下に左右2つ並べて表示する方法は以下の記事を参照してください

賢威7.0で記事下にアドセンス広告を並べて表示する方法

プラグイン「Advanced Custom Fields」

通常のカスタムフィールドは使い勝手が悪いのでプラグインの「Advanced Custom Fields」を使ってアドセンスを表示しない場合のカスタムフィールドを作成します。

なおこの項目は以下のブログ記事を参考にさせていただきました。
http://fukudon.com/adsense-conditional-branch/

カスタムフィールドとは

あまり今回の記事に関係しないのですが「カスタムフィールド」について簡単に説明します。

WordPressには「カスタムフィールド」という機能があります。

記事の新規投稿画面の「表示オプション」のタブを開いて「カスタムフィールド」にチェックボックスをチェックすると記事投稿画面下にカスタムフィールドが表示されます。

20160526adsense04
右上の方にあります。

20160526adsense05

20160526adsense06

カスタムフィールドを使うと、例えばお店の店舗情報(住所、連絡先、営業時間)などをすべての記事に自動挿入することができるようになります。

プラグイン「Advanced Custom Fields」のインストール

通常のプラグインのインストールと同じ手順です。

WordPress管理画面の「プラグイン>新規追加>プラグインの検索」で「Advanced Custom Fields」を検索してください

表示されたら「今すぐインストール」でインストールし有効化します。

するとWordPress管理画面左のサイドバーに「カスタムフィールド」の項目が表示されます。

Advanced Custom Fieldsの設定

20160526adsense02

サイドバーカスタムフィールド>フィールドグループ(新規追加)をクリック

参照ブログのとおり画像のように設定しています。

タイトルは「広告設定」、フィールドラベルは「アドセンス表示」、フィールド名は「no-adsense」としていますが自分で分かれば何でもいいです。

フィールドタイプは「真/偽」を選択。

フィールド記入のヒントは別に何も書かなくてOK

必須か?は「いいえ」

メッセージは「アドセンスを表示しない場合にチェックを入れる」

デフォルト値のチェックは外す

条件判定は「いいえ」

上記のように設定すると記事の投稿画面を見ると下の方に「アドセンス表示」の表示と「アドセンスを表示しない場合にチェックを入れる」というチェックボックスができます。

20160526adsense03

WordPressのテーマへの反映

カスタムフィールドを設定しただけでは記事に反映されないため、WordPressテーマを編集してカスタムフィールドを反映させます。

なおこのブログではWordPressテンプレート「賢威7.0」を使用しています。

アドセンスコードを貼る場所

ダッシュボード>外観>テーマの編集>「単一記事の投稿 (single.php)」を選択します。

「single.php」のなかで上の場所を見つけてください。

「ここにアドセンスコードを張り付け」と書いてある場所に張り付けます。

phpの条件分岐を使って条件わけをしていく

上記のコードの説明ですが以下のようになります。

if (条件1) 条件1に一致した場合
アドセンスを表示しない場合(上で作成したカスタムフィールドを指定します)

elseif (条件2) 条件1に一致せず、条件2に一致した場合
アドセンスを表示する場合で端末がスマートフォンの場合

else (条件1・2以外)条件1と条件2の両方に一致しなかった場合
アドセンスを表示する場合で端末がスマートフォンではない場合

これで「アドセンスの表示非表示の切り替え」「スマートフォンの場合に表示するアドセンス」「パソコンの場合に表示するアドセンス」と場合分けできるようになり、以下の条件はすべてクリアできました。

  • アドセンスの規約外の話題の記事にアドセンスを表示しない
  • クリック率が高いので記事下にアドセンスを2つ並べて表示したい
  • 普通にアドセンスを並べて表示するとスマホでアドセンス規約違反になるのでパソコンとスマホで別々のアドセンスを表示できるようにしたい

プラグインを使ってアドセンスを非表示にする方法

WPQUADSというプラグインは本来各記事にアドセンス広告を自動挿入するためのものですが、アドセンス広告の表示非表示を切り替える機能もついています。詳しくはWPQUADSの設定方法と使い方の記事で解説しているので参照してください。

最後まで記事を読んでいただきありがとうございます。この記事が役に立ったなと思ったらSNSでシェアしていただけるとうれしいです。