【WordPress】投稿本文内に指定回数で広告を自動挿入する方法

【WordPress】投稿本文内に指定回数で広告を自動挿入する方法 WordPress

WordPressでブログを運営していると、ユーザー体験を損なわずに広告を自然に挿入したい場面が出てきます。特に長文の記事では、本文内の適切な位置に広告を挿入することで、クリック率や収益の向上が期待できます。今回は、投稿本文内に指定した段落数ごとに自動で広告を挿入する方法を紹介します。

本文内に広告を自動挿入するメリット

投稿の途中に広告を挿入することで、以下のようなメリットがあります。

・ユーザーの視線が集まりやすい位置に表示できる
・アドセンスなどのCTRを向上させやすい
・一度設定すればすべての投稿に自動適用できる

functions.phpにコードを追加する

以下のコードをテーマのfunctions.phpに追加することで、投稿本文の3段落目と6段落目に自動で広告を挿入する処理が実現できます。

function insert_ads_in_content($content) {
  if (is_single() && in_the_loop() && is_main_query()) {
    $ads_code = '<div class="ads-content">ここに広告コードを挿入</div>';
    $paragraphs = explode('</p>', $content);
    $new_content = '';
    $insert_points = [3, 6]; // 3段落目と6段落目に挿入

    foreach ($paragraphs as $index => $paragraph) {
      if (trim($paragraph)) {
        $new_content .= $paragraph . '</p>';
        if (in_array($index + 1, $insert_points)) {
          $new_content .= $ads_code;
        }
      }
    }
    return $new_content;
  }
  return $content;
}
add_filter('the_content', 'insert_ads_in_content');

広告コードの置き換え方法

$ads_codeの部分には、アドセンスや他の広告ネットワークから取得した広告タグを挿入してください。例えば、Google AdSenseのレスポンシブ広告を使う場合は、次のように記述します。

<div class="ads-content">
  <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  <ins class="adsbygoogle"
       style="display:block"
       data-ad-client="ca-pub-XXXXXX"
       data-ad-slot="YYYYYY"
       data-ad-format="auto"
       data-full-width-responsive="true"></ins>
  <script>
       (adsbygoogle = window.adsbygoogle || []).push({});
  </script>
</div>

注意点

・段落数が少ない記事では、広告が挿入されないこともあります。
・the_contentフィルターを利用するため、GutenbergやClassic Editorのどちらにも対応します。
・広告表示位置を柔軟に変更したい場合は、$insert_pointsを調整してください。

まとめ

本文内に指定回数で広告を自動挿入することで、手間をかけずに効果的なマネタイズが可能になります。functions.phpにコードを追加するだけで実現できるため、ぜひ活用してみてください。