お問い合わせフォームを公開すると、しばらくして、営業メールや意味のない文章が届くようになります。その多くは、人ではなく、プログラム(ボット)が自動で送っているものです。
この記事では、ボットの送信を防ぐ仕組みCloudflare Turnstileを、フォームプラグイン「Shed Form」に設定する手順を説明します。Cloudflareを使ったことがない人でも、順番にたどれば設定できるように、キーの取得から、動作の確認までを並べました。
Cloudflare Turnstileとは
Turnstileは、Cloudflareが無料で提供している、アクセスした人がボットかどうかを判定する仕組みです。フォームを送信するときに、送っているのが人かボットかを確認します。多くの場合、訪問者は文字を読み取ったり、画像を選んだりする必要がありません。
利用するには、Cloudflareのアカウント(無料)が必要です。ただし、サイト全体をCloudflareに移す必要はありません。Turnstileだけを、単独で使えます。
2つのプラグインの役割
Shed Formで使うには、プラグインが2つ必要です。役割が違います。
| プラグイン | 役割 |
|---|---|
| Shed Turnstile | Cloudflareで取得したキーを、WordPressに保存して管理する |
| Shed Form | 保存されたキーを使って、フォームにTurnstileを表示し、送信時に確認する |
キーは別のプラグインで管理するため、一度保存すれば、Turnstileに対応したほかのプラグインでも、同じキーを利用できます。
設定の流れ
- Shed Turnstileをインストールして、有効化する
- Cloudflareで、Site KeyとSecret Keyを取得する
- Shed Turnstileに、キーを保存する
- Shed Formの、フォームごとの設定で、Turnstileを有効にする
- 動作テストで、正しく動くか確認する
Shed Formは、すでにインストールされている前提で進めます。
Shed Turnstileをインストールして有効化する
WordPressの管理画面で、プラグイン → 新規追加を開き、「Shed Turnstile」を検索します。今すぐインストールを押して、そのまま有効化します。
有効化すると、管理画面の設定メニューの中に、Shed Turnstileが追加されます。
CloudflareでSite KeyとSecret Keyを取得する
ここは、Cloudflareの画面で操作します。
- Cloudflareのダッシュボードにログインします(アカウントが無いときは、無料で作成します)。
- 左のメニューから、Turnstileを開きます。
- サイトを追加(または、ウィジェットを追加)を選びます。
- 管理用の名前を入力します。自分が見分けられる名前で、かまいません。
- フォームを置くサイトのドメインを登録します(例:
www.sample.example)。 - ウィジェットのモードを選びます。迷ったときは、通常の管理型を選びます。
- 作成すると、Site KeyとSecret Keyが表示されます。2つとも、コピーしておきます。
Cloudflareの画面の名前や配置は、変わることがあります。見つからないときは、Cloudflareの公式の説明(英語)も見てください。
Site KeyとSecret Keyの違い
- Site Keyは、公開用のキーです。フォームのページに埋め込まれ、訪問者のブラウザにも送られます。
- Secret Keyは、秘密のキーです。サーバーが、Turnstileの判定結果を確認するときに使います。ほかの人に知られないように、管理してください。
登録するドメインは、フォームを実際に置くサイトのドメインにします。ドメインが違うと、フォームでTurnstileが使えません。
Shed Turnstileにキーを保存する
WordPressの管理画面に戻り、設定 → Shed Turnstileを開きます。

- Site Keyの欄に、Cloudflareで取得したSite Keyを貼り付けます。
- Secret Keyの欄に、Secret Keyを貼り付けます(入力した文字は、点で隠れます)。
- 画像の3は、キーの取得方法の案内です。画面の下には、動作確認に使えるテスト用キーの表もあります(あとで説明します)。
貼り付けたら、画面の下にある設定を保存を押します。「設定を保存しました。」と表示されれば、完了です。Site KeyとSecret Keyは、両方が保存されていないと、Turnstileは使われません。
フォームでTurnstileを有効にする
キーを保存しただけでは、フォームでTurnstileは有効になりません。フォームごとに、有効にします。
- Shed Form → フォーム一覧から、設定したいフォームを開きます。
- 上のタブから、セキュリティを選びます。
- 「Cloudflare Turnstile(スパム対策)」の欄で、有効にするにチェックを入れます(画像の1)。
- 画面の上にある保存を押します。

同じ欄で、次の3つも選べます。迷ったときは、初期値のままで、かまいません。
- 表示位置:「送信ボタン直前」か、「同意チェックボックスの後」。
- テーマ:Turnstileの見た目。初期値は「自動」です。
- サイズ:初期値は「標準」です。
Shed Turnstileが有効になっていないときや、キーが保存されていないときは、この欄に、先に設定するよう案内が出ます。
動作テストをする
キーを保存すると、設定 → Shed Turnstileの画面の下に、動作テストの欄が出ます。ここで、設定したキーが正しく動くかを、確かめられます。
- テストを実行を押します。
- Turnstileが表示されます。「成功しました!」と出るまで待ちます。
- 下に、確認の結果が並びます。すべてにチェックが付き、「総合結果: PASS」と出れば、成功です。

見た目だけでなく、キーが設定されていることや、サーバーからCloudflareに接続できることまで、順番に確認してくれます。
テスト用キーを使うときの注意
設定画面には、Cloudflareが公開しているテスト用キーの表があります。本物のキーを取得する前に、動き方を確かめたいときに使えます。
- 「常に成功」のキーは、どんな送信でも通ります。
- 「常に失敗」のキーは、どんな送信でも失敗します。エラーの表示を確かめるときに使います。
- 「常に成功」のテスト用キーでは、Turnstileの下に「テスト専用です」という赤い表示が出ます。
公開する前に、必ず、Cloudflareで取得した本物のキーに入れ替えてください。テスト用の「常に成功」のキーのままだと、ボットの送信も、すべて成功扱いになります。本番用のキーに入れ替えたあとは、もう一度、動作テストを実行します。
テスト用キーの詳しい使い方は、Cloudflareの公式の説明(英語)にあります。
うまく動かないときは
フォームにTurnstileが表示されない
- Shed Turnstileが、有効になっているか。
- Site KeyとSecret Keyの、両方が保存されているか。
- フォームのセキュリティタブで、「有効にする」にチェックが入り、保存されているか。
送信しても、エラーになる
「セキュリティ検証に失敗しました。ページを再読み込みしてやり直してください。」と表示されるときは、次を確認します。このメッセージは、フォームのエラー文言タブで変えられます。
- Cloudflareに登録したドメインと、フォームを置いているサイトのドメインが、同じか。
- Site KeyとSecret Keyが、同じウィジェットで発行された、ペアになっているか。
- 「常に失敗」のテスト用キーが、入ったままになっていないか。
原因が分からないとき
設定 → Shed Turnstileのデバッグログで、「検証ログを記録する」にチェックを入れて保存します。そのあとフォームを送信すると、検証の結果と原因が、デバッグログのタブに記録されます(最大100件)。原因が分かったら、チェックを外して、元に戻します。
Shed Turnstileを無効にしたとき
Shed Turnstileを無効にしても、フォームは動き続けます。ただし、Turnstileによるボット判定は、行われなくなります。ボット対策を続けたいときは、Shed Turnstileを有効のままにしてください。
公開前の確認
公開する前に、次の点を確認してください。
- Cloudflareで取得した、本物のSite KeyとSecret Keyを、保存している。
- 動作テストで、「総合結果: PASS」と表示される。
- 公開したフォームのページに、Turnstileが表示されている。
- 自分でフォームを送信して、問い合わせが、正しく届く。
