SWELLのブログパーツに広告を置くときは、広告を表示したい位置に標準の[ad]ショートコードを配置します。記事本文で使うブログパーツでも、カテゴリーの説明用に呼び出すブログパーツでも、まずは配置場所を指定して確認する方法を使ってください。
以前このページで紹介した、H2見出しの前へPHPで広告を自動挿入するコードには、見出し数・同名見出し・ブログパーツの呼び出し経路による問題がありました。そのままの新規導入はおすすめしません。ここでは標準機能による配置と、旧コードを使っている場合の見直し方を説明します。
1.記事内広告にコードを登録する
WordPress管理画面の「SWELL設定 → 広告コード」で「記事内広告」の設定欄を開き、利用する広告コードを登録して保存します。設定前の値を控えておいてください。詳しくはSWELL公式の広告ショートコードの説明をご覧ください。
この設定は[ad]を置いた複数のページで共有されます。変更すると既存の呼び出し先にも反映されるため、一つの記事だけの設定として扱わないでください。
2.ブログパーツの表示位置にショートコードを置く
- 対象のブログパーツを開き、広告を置きたい段落と段落の間へ「ショートコード」ブロックを追加します。
- ブロックへ下の文字列を入力し、ブログパーツを更新します。
- そのブログパーツを読み込む投稿またはカテゴリーページを開き、意図した位置に広告領域があるか確認します。
[ad]
コードブロックへ貼ると、文字列の見本として表示されます。実際に広告を呼び出す場所には「ショートコード」ブロックを使います。ブログパーツの入れ子では、親と子の両方に広告を置くと、それぞれの位置で呼び出されます。配置箇所を一つずつ確認してください。
カテゴリーにブログパーツを配置する手順は、SWELLのアーカイブページにブログパーツを挿入する方法で説明しています。広告が配信されるかどうかは、広告コードの登録だけでなく、配信側の状態やブラウザ環境にも左右されます。
旧PHPコードを導入している場合
以前のadd_ad_before_h2_for_3timesやadsense_h2を使っている場合は、変更前の子テーマのfunctions.phpまたはスニペットをバックアップします。手動配置へ切り替えるときは、その関数と対応するadd_filterを一組で外し、旧処理とショートコードによる配置が重複しないようにします。他の関数やファイル全体は削除しません。親テーマを直接編集する方法は避けてください。
旧コードには次の問題がありました。2026年10月21日に掲載内容とSWELL 2.19.0のソースを読み直し、単純な条件追加だけでは解決できない点を確認しています。
- 初期の例では、H2が少ないと存在しない配列要素を参照します。
- 見出しのHTMLをstr_replaceで置換するため、同じ見出しが複数あると、意図しない位置や回数で広告が挿入される場合があります。
- 行頭・行末を条件にした正規表現は、改行のないHTMLや途中に改行を含む見出しを取りこぼす場合があります。
- is_category()を条件へ追加しても、カテゴリー上でthe_contentが実行されるとは限りません。SWELL 2.19.0のブログパーツは、独自の展開処理とswell_do_blog_partsフィルターを通ります。
ブログパーツが展開された後の投稿本文に処理を掛ける場合と、カテゴリー上でブログパーツだけを呼び出す場合は、実行経路が異なります。「広告ショートコードを呼び出したから、すべての入れ子に自動挿入できる」とは判断できません。
自動挿入を検討する場合は、SWELL公式の見出しごとの広告挿入例も参考になります。ただし、掲載例を使うだけでブログパーツの全配置・重複・除外条件が解決するわけではありません。導入先ごとの検証が必要です。
旧記事で参照した方法は次のページです。引用元の掲載例と、このページで以前追加していた処理は分けて確認してください。

旧GitHubサンプルへの参照も残しています。過去版を含むため、そのまま貼り付けず、ここで説明した問題と利用条件を確認してください。
「no-ads」タグだけでは、すべての広告は止まらない
no-adsは、旧カスタマイズが除外条件として使うために作成したタグです。タグを付けるだけで、SWELLの全広告やAdSenseの自動広告を停止する標準機能ではありません。手動で配置したショートコードも、このタグだけでは消えません。

上の画像は2022年のタグ作成例です。タグは投稿に付くもので、カテゴリーの説明や共通ブログパーツ全体に自動で適用されるものではありません。
広告を止めたいページでは、本文・ブログパーツ・ウィジェット・独自PHP・AdSense自動広告など、実際の配置元を確認してそれぞれ停止します。共通ブログパーツからショートコードを外すと、他の呼び出し先にも影響します。ページごとに変える必要がある場合は、広告を含まないパーツを分けて使う方法もあります。
自動広告の対象から外す方法は、Google公式のページ除外手順を参照してください。広告を一つ消しただけでポリシー対応が完了したとは判断せず、通知された問題と対象範囲を確認します。
表示と戻し方を確認する
- 旧処理と手動配置が重なっていないか、広告の配置数と位置を確認します。
- 投稿・カテゴリー・入れ子のブログパーツを、それぞれ実際の公開URLで確認します。
- PCとスマホで、本文やリンクを隠していないか、余白・横幅・読み進めやすさを確認します。
- 広告を停止したページは、別の配置元から表示されていないかも確認します。
- 戻すときは追加したショートコードを外し、変更した設定を控えた値へ戻します。必要に応じてページキャッシュをクリアします。
手動配置と自動広告は、どちらにも設定・確認が必要です。自動広告には表示形式や掲載量、除外エリア等の調整機能があります。「自動広告は必ず表示を崩す」「H2直前なら効果が高い」とは断定できません。ページ内容と実際の掲載結果から判断してください。
今回確認した範囲
SWELL公式マニュアルと、SWELL 2.19.0の広告ショートコード・ブログパーツ処理を照合しました。今回、実サイトの広告設定や配置は変更しておらず、実広告の配信、入れ子ごとの実画面、PC・スマホの表示確認は行っていません。標準機能の手順を示すもので、すべての構成での表示や広告ポリシー適合を保証するものではありません。
SWELLの他のショートコードは、SWELLで使える専用ショートコードのまとめから確認できます。



