WordPressを運営していると、セキュリティ対策のために導入しているプラグインが、思わぬ場面で干渉してしまうことがあります。
今回はその中でも特に人気のある「Wordfence」が、Google AdSense広告のコードをブロックしてしまったという実体験をもとに、対処法と予防策についてまとめてみました。
これからAdSenseを導入しようと思っている方や、Wordfenceを使っている方にはぜひ読んでほしい内容です。
私のケース:Wordfenceが広告コードをXSS攻撃と誤認

ある日、WordPressテーマ「SWELL」の設定画面にある広告ツールに、Google AdSenseの広告コードを貼ろうとしたところ……
「保存ができない」「403エラーが出る」「Wordfenceでブロックされた」という事態に!!!
Wordfenceのライブトラフィック機能で確認してみると、以下のような表示が出ていました:
POSTボディに XSS: Cross Site Scripting がある:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
これには正直驚きました。セキュリティのためとはいえ、正当な広告コードまで拒否されるとは……。
対処法:Wordfenceを一時的に「学習モード」に

⚠ 初心者さんに注意してほしいポイント:
「Learning Mode(学習モード)」は非常に便利ですが、常にそのままの状態で使い続けるのは非常に危険です!!
学習モードでは、Wordfenceがほとんどのリクエストを「安全な操作」として自動的に記録していきます。
そのため、悪意のあるアクセスや攻撃的なコードでさえも「OK」として覚えてしまう可能性があります。
たとえるなら、警備員が「見張りをやめて、通る人すべてを顔パスで通す」ような状態です。
▼ 手順は以下の通りです:
- WordPress管理画面で「Wordfence」→「ダッシュボード」→「ファイアウォールを管理」
- 「ファイアウォールの基本設定」で「有効であり保護中」を「学習モード」に変更する
- 右上の「変更を保存」をクリック
- 「Web Application Firewall Status」を「Learning Mode」に変更
- SWELL設定→「広告コード」画面で、各広告ツールにAdSenseコードを貼る
- 一番下にある「変更を保存」をクリックし、保存が正常にできたことを確認
- 再びWordfenceのファイアウォールの1.と2.の手順に従い、今度は「学習モード」から「有効であり保護中」に戻す
この流れで、AdSenseコードが学習対象として認識され、今後はブロックされずに利用できるようになります。
なぜWordfenceが広告コードをブロックするの?

Wordfenceは、セキュリティ面で非常に優秀なプラグインです。
特に「XSS(クロスサイトスクリプティング)」の検知には敏感で、scriptタグが含まれるPOSTリクエストを受け取ると、それが悪意あるコードである可能性を疑って即座にブロックします。
しかし、Google AdSenseの広告コードも <script>
タグを使っているため、正当な広告であっても条件次第ではXSSとして誤検知されることがあるのです。
特に、「テーマ設定」や「ウィジェット」など、WordPressの管理画面から直接コードを保存しようとすると、Wordfenceがそれをブロックする可能性が高くなります。
今後の注意点とおすすめ対策

✅ 1. AdSenseコードは「広告専用エリア」に貼る
私が使用しているSWELLには、「広告コードを挿入する専用の入力欄」があります。
場所は、WordPress管理画面の「外観」→「ウィジェット」内に[SWELL]広告コードの項目です。
この項目内には「広告コード(PC用/モバイル用)」などの欄が用意されており、ここにGoogle AdSenseのコードを貼ることで、テーマ側が自動的に適切な位置に表示してくれます。
ただし、ここであってもscriptタグが含まれるAdSenseコードを貼る場合は、Wordfenceの設定やモードによってブロックされることがあります。その場合は、「学習モード」で一時的に対応しましょう。
✅ 2. Wordfenceで何かトラブルが起きたら、まずは「ライブトラフィック」を確認
Wordfenceの「ツール」にある「ライブトラフィック」機能では、どのリクエストがブロックされたのか、なぜ拒否されたのかを詳細に確認できます。
ここで✕のタイプ:ブロック済みとなっている中で
「XSS」「403」「adsbygoogle.js」などの文字があれば、今回のような誤検知の可能性があります。
✅ 3. トラブル時は「学習モード」で一時回避
どうしても保存できない・広告が貼れない場合は、今回のように「学習モード」を活用することで一時的にブロックを回避できます。
※作業が終わったら必ず「有効であり保護中」に戻すのを忘れずに。
✅ 4. scriptタグの使用は最小限に
広告以外でも、アナリティクスや外部ウィジェットなどのコードを貼るときも注意が必要です。
可能な限り、WordPressテーマや専用プラグインの「スクリプト挿入欄」を使うのが安全です。
最後に:Wordfenceは敵ではない

誤検知を防ぐことは難しいですが、それに気づける仕組みと回避手段があれば、トラブルは怖くありません。
もしあなたも、AdSenseを導入しようとしていてWordfenceに阻まれて困っているなら、
「学習モードを使ってから保護モードに戻す」

この方法で一度試してみてください。

