SOTA-JP.COM

書評、WordPress、アフィリエイト、米国株投資

アドセンスの貼り方。ワードプレスにGoogleAdsenseを貼る6つの基本形。

投稿日:

アドセンス

グーグル・アドセンスをWordPressブログに貼る方法を紹介します。

プラグインを利用する方法もありますが、本気でブログで稼ぎたいなら、プラグインに頼らず、自力でアドセンスを貼れるようになった方がいいと思います。

自分の思い通りにアドセンスを配置できるようになれば、収益性の高い配置がきっと見つかります。

アドセンスはブログの収益の要になり得る、強力なツールです。

頑張って使いこなしましょう。

なお、この記事はfunctions.phpのカスマイズについて基礎的な知識がある人を対象としています。

moreタグ(続きを読む)の後ろにアドセンスを貼る

まずは、moreタグ(続きを読む)の直後にアドセンスを表示する方法から。

moreタグは、<p><span id="more-◯◯◯"></span></p>もしくは<span id="more-◯◯◯"></span>という文字列に自動で変換されるので、この文字列を正規表現で検索して、その後ろにアドセンスのコードをくっつけます。

add_filter('the_content', function ($content) {
  /* ログインしている時はアドセンスを表示しない */
  if ( is_user_logged_in() ){
    return $content;
  }

  /* アドセンスのラベル */
  $label = '<div class="sponsoredlink">スポンサーリンク</div>';

  /* アドセンスのコード */
  $code = <<< EOF

EOF;

  $content = preg_replace('/(<span id="more-[0-9]+"><\/span>)(<\/p>)?/', '$1' . '$2' . $label . $code, $content);

  return $content;
});

記事中の好きな場所にアドセンスを貼る

記事中の任意の場所にアドセンスを貼る場合は、ショートコードを使うのが王道です。

まず、functions.phpで次のショートコードを定義します。

add_shortcode('disp_adsense', function () {
  /* ログインしている時はアドセンスを表示しない */
  if ( is_user_logged_in() ){
    return;
  }
  /* アドセンスのラベル */
  $label = '<div class="sponsoredlink">スポンサーリンク</div>';

  /* アドセンスのコード */
  $code = <<< EOF

EOF;

  return $label . $code;
});

そのうえで、記事からショートコードを呼び出します。

[disp_adsense]

記事の最後にアドセンスを貼る

記事の一番後ろにアドセンスを貼る場合はかなり単純です。

記事本文の後ろにアドセンスコードを加えるだけ。

add_filter('the_content', function ($content) {
  /* ログインしている時はアドセンスを表示しない */
  if ( is_user_logged_in() ){
    return $content;
  }

  /* アドセンスのラベル */
  $label = '<div class="sponsoredlink">スポンサーリンク</div>';

  /* アドセンスのコード */
  $code = <<< EOF

EOF;

  return $content . $label . $code;
});

n番目のH2・H3の前にアドセンスを貼る

H2・H3の個数に応じて、自動でアドセンスを貼ることもできます。

また、少し手を加えれば、H2・H3の総数が◯個以上の場合に、◯番目のH2・H3の前にアドセンスを表示する、なんてこと可能です。

過去記事に一括でアドセンスを貼りたい場合に、このやり方を知っておくと便利だと思います。

add_filter('the_content', function ($content) {

  /* ログインしている時はアドセンスを表示しない */
  if ( is_user_logged_in() ){
    return $content;
  }

  /* アドセンスのラベル */
  $label = '<div class="sponsoredlink">スポンサーリンク</div>';

  /* アドセンスのコード */
  $code = <<< EOF

EOF;

  $reg = '/<h[23].*?>.*?<\/h[23]>/';

  //h2、h3の総数を取得
  $count = preg_match_all($reg, $content);

  //h2、h3が存在しなければ終了
  if(empty($count)){
    return $content;
  }

  $i = 1;
  $content = preg_replace_callback(
    $reg,
    function ($matches) use ($label, $code, $count, &$i){
      //h2、h3の総数が6個以上の場合
      if($count >= 6 &&
      //4番目のh2、h3の前にアドセンスを表示
      $i == 4){
        $matches[0] = $label . $code . $matches[0];
      }
      $i++;
      return $matches[0];
    },
    $content
  );
  return $content;
});

記事以外の場所にアドセンスを貼る

記事本文以外の場所、ヘッダーやフッター、サイドバーなどにアドセンスを貼る場合は、ショートコードを使わない方が、ちょこっとだけシンプルになります。

まず、functions.phpで次の関数を定義します。

function my_adsense(){

  /* ログインしている時はアドセンスを表示しない */
  if ( is_user_logged_in() ){
    return;
  }

  /* アドセンスのラベル */
  $label = '<div class="sponsoredlink">スポンサーリンク</div>';

  /* アドセンスのコード */
  $code = <<< EOF

EOF;

  echo $label . $code;
}

その上で、sidebar.phpなどから関数を呼び出せばOKです。

<?php my_adsense(); ?>

自動広告を貼る

自動広告は、通常の広告と違ってヘッダーに読み込みます。

add_action('wp_head', function(){
  if ( is_user_logged_in() ){
    return;
  }
  /* 自動広告のコード */
  $code = <<< EOF

EOF;

  echo $code;
});

最後に

以上、アドセンスの貼り方、6つの基本形でした。

アドセンスはとても奥が深いです。
収益に直結するので、研究しがいがありますよ。