Shed Form

Shed FormにCloudflare Turnstileを設定する方法

お問い合わせフォームを公開すると、しばらくして、営業メールや意味のない文章が届くようになります。その多くは、人ではなく、プログラム(ボット)が自動で送っているものです。

この記事では、ボットの送信を防ぐ仕組みCloudflare Turnstileを、フォームプラグイン「Shed Form」に設定する手順を説明します。Cloudflareを使ったことがない人でも、順番にたどれば設定できるように、キーの取得から、動作の確認までを並べました。

Cloudflare Turnstileとは

Turnstileは、Cloudflareが無料で提供している、アクセスした人がボットかどうかを判定する仕組みです。フォームを送信するときに、送っているのが人かボットかを確認します。多くの場合、訪問者は文字を読み取ったり、画像を選んだりする必要がありません。

利用するには、Cloudflareのアカウント(無料)が必要です。ただし、サイト全体をCloudflareに移す必要はありません。Turnstileだけを、単独で使えます。

2つのプラグインの役割

Shed Formで使うには、プラグインが2つ必要です。役割が違います。

プラグイン 役割
Shed Turnstile Cloudflareで取得したキーを、WordPressに保存して管理する
Shed Form 保存されたキーを使って、フォームにTurnstileを表示し、送信時に確認する

キーは別のプラグインで管理するため、一度保存すれば、Turnstileに対応したほかのプラグインでも、同じキーを利用できます。

設定の流れ

  1. Shed Turnstileをインストールして、有効化する
  2. Cloudflareで、Site KeyとSecret Keyを取得する
  3. Shed Turnstileに、キーを保存する
  4. Shed Formの、フォームごとの設定で、Turnstileを有効にする
  5. 動作テストで、正しく動くか確認する

Shed Formは、すでにインストールされている前提で進めます。

Shed Turnstileをインストールして有効化する

WordPressの管理画面で、プラグイン → 新規追加を開き、「Shed Turnstile」を検索します。今すぐインストールを押して、そのまま有効化します。

有効化すると、管理画面の設定メニューの中に、Shed Turnstileが追加されます。

CloudflareでSite KeyとSecret Keyを取得する

ここは、Cloudflareの画面で操作します。

  1. Cloudflareのダッシュボードにログインします(アカウントが無いときは、無料で作成します)。
  2. 左のメニューから、Turnstileを開きます。
  3. サイトを追加(または、ウィジェットを追加)を選びます。
  4. 管理用の名前を入力します。自分が見分けられる名前で、かまいません。
  5. フォームを置くサイトのドメインを登録します(例:www.sample.example)。
  6. ウィジェットのモードを選びます。迷ったときは、通常の管理型を選びます。
  7. 作成すると、Site KeyとSecret Keyが表示されます。2つとも、コピーしておきます。

Cloudflareの画面の名前や配置は、変わることがあります。見つからないときは、Cloudflareの公式の説明(英語)も見てください。

Site KeyとSecret Keyの違い

  • Site Keyは、公開用のキーです。フォームのページに埋め込まれ、訪問者のブラウザにも送られます。
  • Secret Keyは、秘密のキーです。サーバーが、Turnstileの判定結果を確認するときに使います。ほかの人に知られないように、管理してください。

登録するドメインは、フォームを実際に置くサイトのドメインにします。ドメインが違うと、フォームでTurnstileが使えません。

Shed Turnstileにキーを保存する

WordPressの管理画面に戻り、設定 → Shed Turnstileを開きます。

Shed Turnstileの設定画面。Site KeyとSecret Keyの入力欄があり、番号が付いている。下にキーの取得方法とテスト用キーの表がある

  1. Site Keyの欄に、Cloudflareで取得したSite Keyを貼り付けます。
  2. Secret Keyの欄に、Secret Keyを貼り付けます(入力した文字は、点で隠れます)。
  3. 画像の3は、キーの取得方法の案内です。画面の下には、動作確認に使えるテスト用キーの表もあります(あとで説明します)。

貼り付けたら、画面の下にある設定を保存を押します。「設定を保存しました。」と表示されれば、完了です。Site KeyとSecret Keyは、両方が保存されていないと、Turnstileは使われません。

フォームでTurnstileを有効にする

キーを保存しただけでは、フォームでTurnstileは有効になりません。フォームごとに、有効にします。

  1. Shed Form → フォーム一覧から、設定したいフォームを開きます。
  2. 上のタブから、セキュリティを選びます。
  3. 「Cloudflare Turnstile(スパム対策)」の欄で、有効にするにチェックを入れます(画像の1)。
  4. 画面の上にある保存を押します。

Shed Formのフォーム編集画面、セキュリティタブのCloudflare Turnstileの欄。有効にするにチェックが入っている。表示位置、テーマ、サイズの設定もある

同じ欄で、次の3つも選べます。迷ったときは、初期値のままで、かまいません。

  • 表示位置:「送信ボタン直前」か、「同意チェックボックスの後」。
  • テーマ:Turnstileの見た目。初期値は「自動」です。
  • サイズ:初期値は「標準」です。

Shed Turnstileが有効になっていないときや、キーが保存されていないときは、この欄に、先に設定するよう案内が出ます。

動作テストをする

キーを保存すると、設定 → Shed Turnstileの画面の下に、動作テストの欄が出ます。ここで、設定したキーが正しく動くかを、確かめられます。

  1. テストを実行を押します。
  2. Turnstileが表示されます。「成功しました!」と出るまで待ちます。
  3. 下に、確認の結果が並びます。すべてにチェックが付き、「総合結果: PASS」と出れば、成功です。

Shed Turnstileの動作テストの結果。Turnstileのウィジェットに成功しましたと表示され、その下に、ウィジェット読み込み、Site Key、Secret Key、トークン受信、Cloudflare API接続、トークン検証の結果と、総合結果PASSが表示されている

見た目だけでなく、キーが設定されていることや、サーバーからCloudflareに接続できることまで、順番に確認してくれます。

テスト用キーを使うときの注意

設定画面には、Cloudflareが公開しているテスト用キーの表があります。本物のキーを取得する前に、動き方を確かめたいときに使えます。

  • 「常に成功」のキーは、どんな送信でも通ります。
  • 「常に失敗」のキーは、どんな送信でも失敗します。エラーの表示を確かめるときに使います。
  • 「常に成功」のテスト用キーでは、Turnstileの下に「テスト専用です」という赤い表示が出ます。

公開する前に、必ず、Cloudflareで取得した本物のキーに入れ替えてください。テスト用の「常に成功」のキーのままだと、ボットの送信も、すべて成功扱いになります。本番用のキーに入れ替えたあとは、もう一度、動作テストを実行します。

テスト用キーの詳しい使い方は、Cloudflareの公式の説明(英語)にあります。

うまく動かないときは

フォームにTurnstileが表示されない

  1. Shed Turnstileが、有効になっているか。
  2. Site KeyとSecret Keyの、両方が保存されているか。
  3. フォームのセキュリティタブで、「有効にする」にチェックが入り、保存されているか。

送信しても、エラーになる

「セキュリティ検証に失敗しました。ページを再読み込みしてやり直してください。」と表示されるときは、次を確認します。このメッセージは、フォームのエラー文言タブで変えられます。

  • Cloudflareに登録したドメインと、フォームを置いているサイトのドメインが、同じか。
  • Site KeyとSecret Keyが、同じウィジェットで発行された、ペアになっているか。
  • 「常に失敗」のテスト用キーが、入ったままになっていないか。

原因が分からないとき

設定 → Shed Turnstileのデバッグログで、「検証ログを記録する」にチェックを入れて保存します。そのあとフォームを送信すると、検証の結果と原因が、デバッグログのタブに記録されます(最大100件)。原因が分かったら、チェックを外して、元に戻します。

Shed Turnstileを無効にしたとき

Shed Turnstileを無効にしても、フォームは動き続けます。ただし、Turnstileによるボット判定は、行われなくなります。ボット対策を続けたいときは、Shed Turnstileを有効のままにしてください。

公開前の確認

公開する前に、次の点を確認してください。

  • Cloudflareで取得した、本物のSite KeyとSecret Keyを、保存している。
  • 動作テストで、「総合結果: PASS」と表示される。
  • 公開したフォームのページに、Turnstileが表示されている。
  • 自分でフォームを送信して、問い合わせが、正しく届く。
AI この記事はAIを使用して作成されました。(AIを部分的に使用)