トレンドアフィリエイトのマネタイズのメインは、スタートの段階だとGoogle AdSense(アドセンス)という方がほとんどのはず。
僕の場合は
- AdSense
- ASP
- 物販(楽天&Amazon)
の3方向からマネタイズする【3rd Wave Trend Affiliate】というものを推奨しており、収益源は複数設置してブログを運営していますが、AdSenseは外すことが出来ません。
以前は記事内にショートコードでAdSenseを差し込んだりもしていたのですが、自分で記事を一切書かなくなった現在は、本文中のh2タグの手前にAdSenseが差し込まれるように、WordPressをカスタマイズしています。
今回はh2タグ毎にAdSenseを自動的に差し込むWordPressカスタマイズの方法をご紹介します。
なお、1年以上前に作成したソースコードで引用元がハッキリと思い出せないのですが、検索したところ、おそらく以下のサイトの情報をベースにしているはずです。
参考サイト:寝ログ
貴重な情報、ありがとうございます!
functions.phpをカスタマイズ
以下のソースコードを使用しているWordPressテーマディレクトリのfunctions.phpに追加してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
// h2手前にAdSenseを自動挿入 Start function adsense_before_h2($the_content) { //1つ目の広告タグを挿入 $ad1 = <<< EOF <div class="boxwrapper"> <p>スポンサーリンク</p> <div class="boxinner"> ここにAdSenseタグを貼ってください。 </div> </div> EOF; //2つ目の広告タグを挿入 $ad2 = <<< EOF <div class="boxwrapper"> <p>スポンサーリンク</p> <div class="boxinner"> ここにAdSenseタグを貼ってください。 </div> </div> EOF; //3つ目の広告タグを挿入 $ad3 = <<< EOF EOF; //4つ目の広告タグを挿入 $ad4 = <<< EOF EOF; if ( is_single() ) {//投稿ページ $h2 = '/^<h2.*?>.+?<\/h2>$/im';//h2見出しのパターン if ( preg_match_all( $h2, $the_content, $h2s )) {//h2見出しが本文中にあるかどうか if ( $h2s[0] ) { if ( $h2s[0][0] ) {//1番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][0], $ad1.$h2s[0][0], $the_content); } if ( $h2s[0][1] ) {//2番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][1], $ad2.$h2s[0][1], $the_content); } if ( $h2s[0][2] ) {//3番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][2], $ad3.$h2s[0][2], $the_content); } if ( $h2s[0][3] ) {//4番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][3], $ad4.$h2s[0][3], $the_content); } } } } return $the_content; } add_filter('the_content','adsense_before_h2'); // h2手前にAdSenseを自動挿入 End |
ちなみに上記は1つ目のh2タグの上と2つ目のh2タグの上に表示する場合のサンプルです。
例えば、1つ目と3つ目のh2タグの上にAdSenseが表示されるように設定したい場合は、以下のような記述になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
// h2手前にAdSenseを自動挿入 Start function adsense_before_h2($the_content) { //1つ目の広告タグを挿入 $ad1 = <<< EOF <div class="boxwrapper"> <p>スポンサーリンク</p> <div class="boxinner"> ここにAdSenseタグを貼ってください。 </div> </div> EOF; //2つ目の広告タグを挿入 $ad2 = <<< EOF EOF; //3つ目の広告タグを挿入 $ad3 = <<< EOF <div class="boxwrapper"> <p>スポンサーリンク</p> <div class="boxinner"> ここにAdSenseタグを貼ってください。 </div> </div> EOF; //4つ目の広告タグを挿入 $ad4 = <<< EOF EOF; if ( is_single() ) {//投稿ページ $h2 = '/^<h2.*?>.+?<\/h2>$/im';//h2見出しのパターン if ( preg_match_all( $h2, $the_content, $h2s )) {//h2見出しが本文中にあるかどうか if ( $h2s[0] ) { if ( $h2s[0][0] ) {//1番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][0], $ad1.$h2s[0][0], $the_content); } if ( $h2s[0][1] ) {//2番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][1], $ad2.$h2s[0][1], $the_content); } if ( $h2s[0][2] ) {//3番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][2], $ad3.$h2s[0][2], $the_content); } if ( $h2s[0][3] ) {//4番目のh2手前に広告を挿入 $the_content = str_replace($h2s[0][3], $ad4.$h2s[0][3], $the_content); } } } } return $the_content; } add_filter('the_content','adsense_before_h2'); // h2手前にAdSenseを自動挿入 End |
htmlソースが苦手な方はパッと見で「無理!」と思ってしまうかもしれませんが、見比べていただくと編集する場所が分かるはずなので、がんばってください!
AdSense広告をセンタリングで表示するためのCSS
また、上記の設定を利用する際に、336×280pxの広告がセンタリングで表示されるように以下のようなCSS設定も行っています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
.boxwrapper{ width: 336px; height: auto; margin: 30px auto 30px auto; display: block; text-align: center; } .boxwrapper p{ margin: 0 0 10px 0; padding: 0; font-size: 12px; line-height: 1; color: #666; } .boxinner{ width: 336px; height: 280px; } |
これに加えてAdSenseの埋め込みコードで初期設定では
data-ad-format=”auto”
となっている部分を
data-ad-format=”rectangle”
に変更すれば、336×280のレクタングルバナーがほぼ確実に表示されます。(300×250の広告が出ることもあります。)
まとめ
僕は運営している全てのサイトで上記を利用して、AdSenseを自動挿入するようにしています。
細かく分析をしたら、記事ごとで広告を入れる位置を変更した方がクリック率が上がる可能性もありそうですが、手間と得られる効果のバランスを考えると、現状での最適解は上記の方法なのかなと。
ちなみにこの記事の冒頭でご紹介した【3rd Wave Trend Affiliate】というフレーズは僕が勝手に作ったものなので、一般的には伝わらないのでご注意を!(伝わるようになったらうれしいけど…!)
期間限定企画実施中!
アフィリエイトの始め方が分からない
結果がなかなか出ない
という方に向けて、期間限定で無料相談を受付けています。
以下のリンクより、お気軽にお問い合わせください。
コメントを残す