WordPressでCloudflare Turnstileを設定する方法|WPForms・コメント・SiteGuardとの併用

TurnstileでWPFormsとコメントのスパム対策をし、SiteGuardでログインを保護する図

WordPressでお問い合わせフォームとコメント欄を用意したあと、気になったのがスパム対策です。ちゃあむワークノートでは、WPForms Liteでお問い合わせフォームを作り、「Simple CAPTCHA with Cloudflare Turnstile」とSiteGuard WP Pluginを導入しました。

設定を確認している途中で迷ったのが、WPFormsはTurnstileに標準対応しているのに、追加プラグインを残す必要があるのかという点です。さらに、SiteGuardにも画像認証があるため、どこまで重ねてよいのか分かりにくく感じました。

そこでこの記事では、お問い合わせ、コメント、ログインを分けて考え、TurnstileとSiteGuardの役割を整理します。実際の設定画面も確認しながら、同じフォームへ認証を重ねない構成にします。

今回採用する構成

お問い合わせと記事コメントはTurnstile、ログインURL変更やログイン試行の制限はSiteGuardに任せます。SiteGuardの画像認証とTurnstileは、同じフォームで重ねないように設定します。

お問い合わせと記事コメントをTurnstile、ログインをSiteGuardで保護する構成
保護する場所使用する機能
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公式ページで確認できます。

機能TurnstileSiteGuard
フォームのボット判定対応画像認証で対応
ログインURL変更非対応対応
ログインロック非対応対応
ログイン通知非対応対応
コメント保護プラグイン経由で対応画像認証で対応

WPFormsが標準対応でもSimple CAPTCHAを使う理由

お問い合わせだけならWPFormsの標準機能で足りる

WPFormsにはTurnstileの設定が用意されています。お問い合わせフォームだけを保護したい場合は、WPFormsの「設定」→「CAPTCHA」からTurnstileを設定できるため、仲介用のプラグインは必須ではありません。

WPFormsのCAPTCHA設定でCloudflare Turnstileを選択する画面

WPForms標準の設定手順は、WPForms公式ドキュメントでも案内されています。

記事コメントにも使うためSimple CAPTCHAを残す

WPForms標準機能で保護できるのは、WPFormsで作成したフォームです。WordPress標準のコメント欄は対象になりません。

ちゃあむワークノートでは記事コメントも使うため、「Simple CAPTCHA with Cloudflare Turnstile」からWPFormsとWordPressコメントの両方を有効にします。お問い合わせとコメントを一つの設定画面で管理できることが、追加プラグインを残す理由です。

ボンボン
全部オンにするより、どこを守るか決めてから分けた方がすっきりするよ。

今回の検証環境と事前準備

この記事は2026年7月18日に確認した画面を基準に作成しています。プラグインの更新により、設定名や配置が変わる可能性があります。

項目環境
WordPress7.0.2
PHP8.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を開く画面

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

Cloudflare Turnstileでウィジェットを追加する画面

2.対象サイトのホスト名を登録する

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

Cloudflare Turnstileのウィジェットへ対象サイトのホスト名を追加する画面

3.サイトキーとシークレットキーを取得する

ウィジェットを作成すると、サイトキーとシークレットキーが発行されます。この二つはWordPress側の設定で使用します。

Simple CAPTCHAでWPFormsとコメントを保護する

1.プラグインへキーを登録する

WordPress管理画面の「設定」→「Cloudflare Turnstile」を開き、Cloudflareで取得したサイトキーとシークレットキーを入力します。

Simple CAPTCHA with Cloudflare Turnstileにサイトキーとシークレットキーを登録する設定画面

2.WPFormsとWordPressコメントを有効にする

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

Simple CAPTCHAでWPFormsとWordPressコメントを有効にする設定画面

Simple CAPTCHAが対応するフォームや設定項目は、WordPress.orgのプラグインページでも確認できます。

3.API応答テストを実行する

設定を保存したら、API応答テストを実行します。成功と表示されればキーの組み合わせは正しく認識されています。

Cloudflare TurnstileのAPI応答テストが成功した結果

SiteGuardと認証を重ねないように設定する

SiteGuardで残す機能を確認する

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

SiteGuardのダッシュボードで有効なセキュリティ機能を確認する画面

コメント欄ではSiteGuardの画像認証を無効にする

SiteGuardの「画像認証」でコメント欄も有効になっている場合、Turnstileと両方が表示される可能性があります。コメントはTurnstileに任せるため、SiteGuard側のコメント画像認証は無効にします。

ここでいう「重ねない」とは、Turnstileが画像認証へ変わるという意味ではありません。SiteGuardの文字画像と、Turnstileのボット判定を同じコメントフォームへ同時に置かない、という意味です。

SiteGuardの画像認証でログインを有効、コメントを無効にする設定画面

お問い合わせ・コメント・ログインを実際に確認する

1.WPFormsからテスト送信する

お問い合わせページを開き、Turnstileの判定が行われていることを確認しました。実際にテスト送信も行い、送信完了画面まで進めることを確認しました。

Cloudflare Turnstileを設定したWPFormsのお問い合わせフォーム

2.記事へテストコメントを投稿する

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

Cloudflare Turnstileが表示されたWordPressの記事コメント欄

3.変更後のログイン画面を確認する

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

SiteGuardの画像認証が表示されたWordPressログイン画面

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の画像認証を無効にします。

最初は「プラグインを一つにまとめられないか」と考えましたが、機能名ではなく、保護する場所ごとに分けると判断しやすくなりました。お問い合わせ、コメント、ログインの三つを実際に試したことで、それぞれの役割分担も確認できました。

参考リンク

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

ちゃあむのアバター ちゃあむ エンジニア

Web開発やSaaS(ServiceNow、Salesforce)、業務システムに携わる、猫と食べることが大好きなインドア系ITエンジニアです。

コメント

コメントする


目次