【WordPress】1つ目のh2見出しの手前に広告を自動で挿入する【Google Adsenseポリシー違反対策込み】
ブログで収益をあげようと思うと、サイト内で何か商品を売るわけでない限り、広告収入に頼ることになります。
サイトのデザインによってどこに広告を配置するのがベストかは一概には言えません。
しかし、しっかり利益をあげているWebサービスや、ブログなどを参考にするとコンテンツの本文中に広告を挟んでいることが多いです。
特に最初のリード文が終わった後の最初の見出しの前にあることがほとんどです。
きっとこの場所に広告を置くことが収益に繋がるのだろうと、理由を考えつつ「はぴすぷ」でも同じように導入してみることにしました。
↓今回のお話は、この広告のことです。
スポンサーリンク
最初の見出しの前に広告を置く理由
流行っている記事の書き方は、まず最初のリード文で、「なぜこの記事を書くことになったのか」や「タイトルに掲げた問題に対する結論を先に述べて」後の文章でその根拠を示すといったものが多いです。
このリード文を読んで、読者が目的の内容でないと判断した場合、多くの人が帰っていってしまいます。
そうなると最下部だけに広告を配置していると、広告が一度も目につかないままになってしまいます。
なので、リード文が終わった所にGoogle Adsenseの広告を置いておけば、もしかすると読者の望んでいた内容の広告を表示してくれるかもしれません。
もし望んでいた内容の広告でなかったとしても、興味を引いてくれる広告であればサイトに収益をもたらしてくれる可能性があります。
これだけで、最初の見出し前に広告を置く理由には十分ですよね。
それに私個人の感覚では記事終わりより、最初にあった広告をクリックしていることが多い気がします。
記事終わりは広告より、関連記事への関心の方が強い気がするので。
とは言え、記事の途中に広告が挟まることを嫌がる読者もいるので、それも考慮した上で導入するか決めましょう。
他のサービスで潤っているなら広告は控えめに出来るのですが、そんな余裕は一切ないので導入やむ無しでした(;・∀・)
あと個人的に、WordPressテーマ「STINGER5」のデフォルトだと、記事終わりに縦に広告が2個並んで、なんだかなーと思っていたので、これの対応でもあります。
変更する内容
結構いろんな人が書かれていたのを参考に自分用に改造しました。
こちらの記事を参考にさせていただきました。
本文中の1つ目の見出しの上に広告を挿入する
【Stinger5】見出しタグの前にアドセンス広告を自動で配置しよう!
function.phpにフィルターを追加
ifで階層深くなるの嫌いなので、最初に投稿でなければ即何もせず抜けるようにしています。
function content_h2_add_ad($the_content) { // 投稿のみ適用 if (!is_single()) { return $the_content; } // Adsenseのポリシー違反対策で広告を分岐 if (in_category(37)) { $ad = <<< EOF <!-- Google Adsense 以外の広告コード --> } else { $ad = <<< EOF <!-- Google Adsense の広告コード --> EOF; } // 広告と分かるようにするボックス $ad_content = <<< EOF <div class="ad-in-content"> <p>スポンサーリンク</p> $ad </div> EOF; // 正規表現で最初のh2の手前に広告ボックスを付ける $h2 = '/<h2.*?>/i'; if ( preg_match( $h2, $the_content, $h2s )) { $the_content = preg_replace($h2, $ad_content.$h2s[0], $the_content, 1); } return $the_content; } add_filter('the_content','content_h2_add_ad');
後は、月次のアクセスや収益報告のページで、Google Adsenseが出てこられるとポリシー違反にあたるらしいので対策を入れています。
後は広告周りのスタイルを弄りやすいようにクラス「ad-in-content」を付けた<div>で包んだのと、Google Adsenseのポリシー違反にならないように「スポンサーリンク」の文字を足すようにしました。
スタイル調整
h2タグのすぐ上に引っ付いてしまっているのを離したり、「スポンサーリンク」が主張しすぎるのでちょっと色を淡くしたりしてます。
.ad-in-content { margin-bottom: 20px; } .ad-in-content p { color: #888; margin-bottom: 5px; }
中央揃えとかにしようかとも思ったんですが、「はぴすぷ」では画像なども左詰めなので、このままでいいかと、これだけしか指定してません。
こんな感じになりました( ・`д・´)
Google Adsenseの広告を一つ削除
最後に注意する点です。
最初からGoogle Adsenseの広告を3つ表示していた場合、そのまま記事の中に足してしまうと4つになってしまい、ポリシー違反になってしまいます。
なので、どれか1つ削除しておきましょう!
STINGER5の場合
記事下の広告を弄る場合はsingle.phpを変更します。
<div style="padding:20px 0px;"> <?php get_template_part('ad'); //アドセンス読み込み ?> <?php if(is_mobile()) { //スマホの場合 ?> <?php } else { //PCの場合 ?> <div class="smanone" style="padding-top:10px;"> <?php get_template_part('ad'); //アドセンス読み込み ?> </div> <?php } ?> </div>
この部分を以下のようにバッサリと削除します。
<div style="padding:20px 0px;"> <?php get_template_part('ad'); //アドセンス読み込み ?> </div>
サイドバー(sidebar.php)の方は以下を全部削除です。
<!-- スマホだけのアドセンス --> <?php if (is_404()) { ?> <?php } else { ?> <?php if(is_mobile()) { //スマホの場合 ?> <div style="padding-top:10px;"> <?php get_template_part('ad'); //アドセンス読み込み ?> </div> <?php } else { //PCの場合 ?> <?php } ?> <?php } ?> <!-- /スマホだけのアドセンス -->
これで完成です!
終わりに
ずっとしたいなーとは思っていたんですが、なかなか出来ずにようやく今日出来た感じですw
実際これでどれだけクリック率が上がるのかは不明ですが、少なくとも目に付く確率は上がるはずなので、きっと良い効果が得られるはず…。
また、今月か来月の月次報告あたりで、クリック率が上がったかなどの報告をしたいと思います!
それでは。