お問い合わせフォームのスパム対策として、2026年から変更になる「reCAPTCHA v3」から、「Cloudflare Turnstile」へ乗り換えるケースが増えています。
Contact Form 7プラグインも「Cloudflare Turnstile」への乗り換えを勧めており、その設定を進めていたところ、エックスサーバー環境下で「WordPress管理画面へのアクセスが拒否されました」という謎のエラーに遭遇しました。
CloudflareやWAFの設定を疑い試行錯誤しましたが、最終的な原因は「Contact Form 7の追加ヘッダーにおけるBccの記述順序」という、非常に意外なものでした。
1. 発生したトラブル:設定保存時に「アクセス拒否」
事の発端は、Contact Form 7(以下CF7)の設定変更でした。 インテグレーション設定で「reCAPTCHA v3」から「Turnstile」に変更し、フォームを確認したところ、Turnstileのチェックボックスが無事に表示されました。
しかし、デフォルトの状態ではチェックボックスがフォームの最上部に表示されてしまいます。一般的なCAPTCHAのように「送信ボタンの直上」に配置したかったため、CF7のフォームテンプレート編集画面を開きました。
[turnstile]というタグを送信ボタンの上に追記1し、いざ「保存」ボタンを押すと……。
突然のエラー画面
画面が遷移し、以下のエラーメッセージが表示されました。
WordPress管理画面へのアクセスが拒否されました
ただいまエックスサーバーのセキュリティ対策により、一部のご利用環境からWordPress管理画面へのアクセスが制限されています。・・・
以下、画像↓を参照

これまで複数のエックスサーバーのアカウントで同様の設定(CF7 + Turnstile)を行ってきましたが、この現象が起きたのは初めてです。
2. 原因の切り分け:WordPressセキュリティ設定?それともCloudflare?
エラーメッセージには以下のような注釈がありました。
Cloudflare (クラウドフレア)等、外部サーバーを経由してアクセスされるサービス利用をされてる場合、お客様(閲覧者)のご利用環境ではなく、、経由する外部サーバーが制限に該当している可能性があります。
タイミングが「Cloudflare Turnstile」を導入した直後だったため、一瞬「Cloudflare側の設定が影響しているのか?」と疑いましたが、TurnstileはあくまでAPI認証であり、サーバーアクセスを経由するCDNとは別物のはずです。
次に疑ったのが、エックスサーバーの「WordPressセキュリティ設定」です。 サーバーパネルから一時的に設定を解除してみましたが、エラーは解消されませんでした。(※確認後、すぐに設定はONに戻しました)
「WAF設定」をOFFにする情報2もありましたが、別の方向から探ることに。
3. 原因特定:犯人は「追加ヘッダー」のBcc
原因を特定するため、シンプルな「サンプルフォーム」を新規作成して検証を行いました。 すると、特定の設定が含まれているフォームでのみ保存エラーが発生することが判明しました。
その原因となっていた箇所が、「メール設定」タブにある「追加ヘッダー」です。
エラーが出る設定
このフォームでは、管理者宛メールにBccを設定するため、以下のように記述していました。
Reply-To: [your-email]
Bcc: info@example.com(運用ドメインではない外部アドレス)
検証として、この 2行目の「Bcc」の行を削除して保存 してみたところ、なんとエラーが出ずに正常に保存できました。
4. 解決策:Bccの行を入れ替えるだけでOK
Bcc自体は業務上必要な機能なので、削除するわけにはいきません。 そこで、「Bccの記述場所」を変えてみることにしました。
変更後の設定(解決策)
Bcc: info@example.com
Reply-To: [your-email]
上記のように、Bccを1行目(Reply-Toの上)に移動させたところ、問題なく保存することに成功しました。

ここの記述順序が鍵でした。
5. まとめと考察
結局のところ、なぜ「Bccが2行目にあるとアクセス拒否されるのか」という根本的な技術理由は不明ですが、現象としては以下の通りです。
- 現象: CF7で設定を保存しようとすると、エックスサーバーの「アクセス拒否」画面が出る。
- 原因: メール設定の「追加ヘッダー」における Bcc の記述順序。
- 対処: Reply-To よりも 上に Bcc を記述する(または順序を入れ替えてみる)。
なぜこれで直ったのか?(推測)
おそらく、エックスサーバーのWAF(Webアプリケーションファイアウォール)の検知ルールにおいて、「特定の文字列パターン」が攻撃(メールヘッダー・インジェクション等)として誤検知された可能性があります。 「改行コードの後に Bcc: が来る」などの特定の並び順がシグネチャに抵触し、順序を変えることでそのパターンから外れたため、保存が可能になったのではないかと推測されます。
もし、エックスサーバーでContact Form 7の保存ができずに困っている方がいれば、WAF設定をオフにする前に、一度「追加ヘッダー」の記述順序を見直してみてください。
- Turnstileウィジェットの表示位置をカスタマイズ:どくしよネット ↩︎
- Contact Form 7でBBCを入れたら保存できない場合に確認したいこと!:知りたいねっと ↩︎

