WordPressでお問い合わせフォームとコメント欄を用意したあと、気になったのがスパム対策です。ちゃあむワークノートでは、WPForms Liteでお問い合わせフォームを作り、「Simple CAPTCHA with Cloudflare Turnstile」とSiteGuard WP Pluginを導入しました。
設定を確認している途中で迷ったのが、WPFormsはTurnstileに標準対応しているのに、追加プラグインを残す必要があるのかという点です。さらに、SiteGuardにも画像認証があるため、どこまで重ねてよいのか分かりにくく感じました。
そこでこの記事では、お問い合わせ、コメント、ログインを分けて考え、TurnstileとSiteGuardの役割を整理します。実際の設定画面も確認しながら、同じフォームへ認証を重ねない構成にします。
お問い合わせと記事コメントはTurnstile、ログインURL変更やログイン試行の制限はSiteGuardに任せます。SiteGuardの画像認証とTurnstileは、同じフォームで重ねないように設定します。

| 保護する場所 | 使用する機能 |
|---|---|
| WPFormsのお問い合わせ | Simple CAPTCHA+Turnstile |
| 記事のコメント | Simple CAPTCHA+Turnstile |
| ログインURL変更 | SiteGuard |
| ログイン試行の制限・通知 | SiteGuard |
| ログイン画面の認証 | SiteGuardの画像認証 |
WordPressのスパム対策は必要?
お問い合わせとコメントに届くスパムとは
この記事でいうスパムは、フォームやコメント欄へ自動送信される、無関係な宣伝、不審なURL、意味の通らないメッセージなどです。人が一件ずつ入力しているとは限らず、ボットと呼ばれるプログラムから大量に送られることがあります。
スパムが増えると、必要な問い合わせを見落としやすくなります。コメントの確認や削除にも手間がかかるため、フォームを公開するときに入口の対策も用意しておく方が管理しやすくなります。
不正ログインはスパムとは少し違う
ログイン画面へユーザー名やパスワードを繰り返し入力する攻撃は、コメントスパムとは目的が異なります。Turnstileはログインフォームでもボット判定に使えますが、ログインURLの変更や試行回数の制限までは担当しません。
そのため、フォームのスパム対策とWordPress管理画面のログイン対策は、分けて考える必要があります。
Cloudflare TurnstileとSiteGuardの違い
Turnstileはフォームへ送信する相手を判定する
Cloudflare Turnstileは、フォームへアクセスした相手が人間かボットかを判定する仕組みです。従来のCAPTCHAのように、毎回読みにくい文字を入力したり、画像を何枚も選んだりする方式とは異なり、多くの場合は利用者へ大きな操作を求めずに判定します。
CloudflareのCDNを利用していないサイトでもTurnstileを利用できます。サービスの概要は、Cloudflare Turnstile公式ページで確認できます。
SiteGuardはWordPressのログイン周辺を保護する
SiteGuard WP Pluginには、ログインページ名の変更、ログインロック、ログイン通知、XML-RPC防御、ユーザー名漏えい防御などがあります。画像認証は機能の一つであり、SiteGuard全体がTurnstileと重複しているわけではありません。
SiteGuardを削除してTurnstileだけにすると、ログインURL変更なども使えなくなります。機能の一覧は、SiteGuard WP Plugin公式ページで確認できます。
| 機能 | Turnstile | SiteGuard |
|---|---|---|
| フォームのボット判定 | 対応 | 画像認証で対応 |
| ログインURL変更 | 非対応 | 対応 |
| ログインロック | 非対応 | 対応 |
| ログイン通知 | 非対応 | 対応 |
| コメント保護 | プラグイン経由で対応 | 画像認証で対応 |
WPFormsが標準対応でもSimple CAPTCHAを使う理由
お問い合わせだけならWPFormsの標準機能で足りる
WPFormsにはTurnstileの設定が用意されています。お問い合わせフォームだけを保護したい場合は、WPFormsの「設定」→「CAPTCHA」からTurnstileを設定できるため、仲介用のプラグインは必須ではありません。

WPForms標準の設定手順は、WPForms公式ドキュメントでも案内されています。
記事コメントにも使うためSimple CAPTCHAを残す
WPForms標準機能で保護できるのは、WPFormsで作成したフォームです。WordPress標準のコメント欄は対象になりません。
ちゃあむワークノートでは記事コメントも使うため、「Simple CAPTCHA with Cloudflare Turnstile」からWPFormsとWordPressコメントの両方を有効にします。お問い合わせとコメントを一つの設定画面で管理できることが、追加プラグインを残す理由です。
ボンボン今回の検証環境と事前準備
この記事は2026年7月18日に確認した画面を基準に作成しています。プラグインの更新により、設定名や配置が変わる可能性があります。
| 項目 | 環境 |
|---|---|
| WordPress | 7.0.2 |
| PHP | 8.4.21 |
| テーマ | SWELL 2.17.1/SWELL CHILD 1.0.0 |
| お問い合わせ | WPForms Lite 2.0.0.2 |
| Turnstile連携 | Simple CAPTCHA with Cloudflare Turnstile 1.41.1 |
| ログイン保護 | SiteGuard WP Plugin 1.8.7 |
設定前に、WordPressへログインした管理画面を一つ残しておきます。特にログイン画面の認証方法を変更する場合、動作確認が終わる前にすべての管理画面を閉じないようにします。
Cloudflare Turnstileを準備する
1.CloudflareでTurnstileのウィジェットを作成する
事前準備として、「Simple CAPTCHA with Cloudflare Turnstile」プラグインをインストール→有効化を行い、設定画面のURLからアカウント(無料)を登録しておきます。


Cloudflareへログインし、Turnstileの画面からウィジェットを追加します。ウィジェット名は管理用なので、対象サイトを判別できる名前にします。


2.対象サイトのホスト名を登録する
ホスト名へTurnstileを使うサイトのドメインを登録します。URL全体ではなく、管理画面の案内に従ってホスト名を入力します。


3.サイトキーとシークレットキーを取得する
ウィジェットを作成すると、サイトキーとシークレットキーが発行されます。この二つはWordPress側の設定で使用します。
Simple CAPTCHAでWPFormsとコメントを保護する
1.プラグインへキーを登録する
WordPress管理画面の「設定」→「Cloudflare Turnstile」を開き、Cloudflareで取得したサイトキーとシークレットキーを入力します。


2.WPFormsとWordPressコメントを有効にする
保護対象の設定で、WPFormsとWordPressコメントを有効にします。今回はログイン画面をSiteGuardの画像認証で保護するため、Simple CAPTCHA側のWordPressログインは有効にしません。


Simple CAPTCHAが対応するフォームや設定項目は、WordPress.orgのプラグインページでも確認できます。
3.API応答テストを実行する
設定を保存したら、API応答テストを実行します。成功と表示されればキーの組み合わせは正しく認識されています。


SiteGuardと認証を重ねないように設定する
SiteGuardで残す機能を確認する
SiteGuardでは、ログインページ変更、ログインロック、ログインアラートなど、Turnstileにない機能を引き続き利用します。Turnstileを導入したことだけを理由に、SiteGuard自体を削除する必要はありません。


コメント欄ではSiteGuardの画像認証を無効にする
SiteGuardの「画像認証」でコメント欄も有効になっている場合、Turnstileと両方が表示される可能性があります。コメントはTurnstileに任せるため、SiteGuard側のコメント画像認証は無効にします。
ここでいう「重ねない」とは、Turnstileが画像認証へ変わるという意味ではありません。SiteGuardの文字画像と、Turnstileのボット判定を同じコメントフォームへ同時に置かない、という意味です。


お問い合わせ・コメント・ログインを実際に確認する
1.WPFormsからテスト送信する
お問い合わせページを開き、Turnstileの判定が行われていることを確認しました。実際にテスト送信も行い、送信完了画面まで進めることを確認しました。


2.記事へテストコメントを投稿する
ログアウトした状態でコメント欄を開くと、Turnstileが表示され、SiteGuardの文字画像は同時に表示されませんでした。テストコメントを投稿できることも確認しました。


3.変更後のログイン画面を確認する
シークレットブラウザを使い、SiteGuardで変更したログインURLを直接開くと、SiteGuardの画像認証が表示されました。通常どおりログインできることも確認しました。


TurnstileとSiteGuardを併用するときの注意点
同じフォームで複数の認証を有効にしない
WPForms標準のTurnstileとSimple CAPTCHAのWPForms連携は、同じお問い合わせフォームで同時に有効にしないようにします。コメントでも、SiteGuardの画像認証とTurnstileのどちらを使うか決めます。
設定画面の成功表示だけで終わらせない
API応答テストが成功しても、実際のフォーム送信まで保証されたわけではありません。お問い合わせ、コメント、ログインをそれぞれ利用者と同じ画面から確認します。
Turnstileですべてのスパムを防げるわけではない
Turnstileはボット対策に役立ちますが、人が手動で送る営業メッセージなど、すべての迷惑投稿を防ぐものではありません。導入後も、コメント承認やフォーム通知の状況を確認します。
よくある疑問
WPFormsだけならSimple CAPTCHAは不要?
お問い合わせフォームだけを保護するなら、WPForms標準のTurnstile機能で対応できます。WordPressコメントなど、WPForms以外のフォームにも同じTurnstileを使いたい場合は、Simple CAPTCHAを使う理由があります。
Turnstileを入れたらSiteGuardは削除してよい?
TurnstileにはログインURL変更、ログインロック、ログイン通知などの機能がないため、完全な代替にはなりません。SiteGuardで利用中の機能を確認してから判断します。
Turnstileを有効にすると画像認証になる?
SiteGuardの画像認証とは別の仕組みです。Turnstileは多くの場合、利用者へ画像選択や文字入力を求めずに判定します。状況によってチェック操作などが表示されることはあります。
まとめ
WPFormsだけを保護するなら、WPForms標準のTurnstile機能で対応できます。今回は記事コメントにもTurnstileを使うため、Simple CAPTCHAからWPFormsとコメントをまとめて保護する構成にしました。
SiteGuardは、ログインURL変更やログインロックなど、Turnstileにない機能を担当します。認証機能が重なるコメント欄では、Turnstileを使い、SiteGuardの画像認証を無効にします。
最初は「プラグインを一つにまとめられないか」と考えましたが、機能名ではなく、保護する場所ごとに分けると判断しやすくなりました。お問い合わせ、コメント、ログインの三つを実際に試したことで、それぞれの役割分担も確認できました。



コメント