スパム対策として利用していた Google reCAPTCHA が従量制に変更されたため、Cloudflare Turnstile に移行することにしました。
従量制の中身は、1ヶ月10,000件までは無料なので、小規模のサイトや個人ブログではそうそう超えることはなさそうですが、ある日突然大量スパムの標的になる可能性も否めません。
Google Cloud の課金を無効にしている場合は、月間の無料枠に近づくか、上限を超えると、課金を有効にするよう通知されるそうです。10,000件を超えても無課金のままだとエラー判定になるとか。
詳しくは Google Cloud に関する下記ドキュメントにまとめられていました。
そもそも reCAPTCHA に限らず「従量制」というルールに警戒心があり、忘れた頃に請求がきて焦るという経験は身に覚えがあるので、ここは始めから 無料 としているサービスに移行した方が心の安寧を保てると思い、今回導入するにいたりました。
(以下の作業手順や画面は、2025年9月に行った内容です)
Cloudflareのアカウントをつくる
アカウントの作成は、Cloudflare のサイトにアクセスして「無料で始める」のボタンをクリックします。

方法はいくつかありますが、Googleアカウントと連携すればすぐに作成できました。

Turnstileからサイトキーとシークレットキーを取得する
Cloudflare ダッシュボードを開き、左メニューから Turnstile を選択して、ウィジェットを追加 ボタンをクリックします。

ウィジェットを追加 ページに移るので、 任意でウィジェット名 を入力し、 ホスト名の追加 ボタンを押下すると、ページ右側から入力画面がスライドして表示されます。

表示された ホスト名の追加 の項目に、ホスト名(ドメイン名)を入力して、追加 ボタンを押します。

下部に追加したホスト名が表示されるので、チェックボックスをチェックして、追加 ボタンを押します。

すると、元の ウィジェットの追加 ページに戻り、ホスト名がリストに追加されるので、右下の 作成 ボタンを押します。

「Turnstile ウィジェットの作成に成功しました。」の文言とともに、サイトキー と シークレットキー が表示されます。

WordPressのプラグインに設定する
次に Turnstile で取得したキーを、以下の 2つ のプラグインに設定していきます。
【更新:2025/12/19】プラグインは1つにしました
Contact Form 7 のお問い合わせフォームに入力して送信ボタンを押すと、黄色枠で「入力内容に問題があります。確認して再度お試しください。」というエラーが出るようになりました。

入力フォームの Turnstile 設定は、2つのプラグインで以下のように使い分けていました。
- お問い合わせフォームは Contact Form 7 のインテグレーションから設定
- その他のフォームは Simple CAPTCHA Alternative with Cloudflare Turnstile で設定
不具合が分かってから、2つのプラグインの Turnstile 機能を交互に停止して検証したところ、どちらかの設定を削除または無効にするとエラーは起こらず送信できました。以下は停止するための作業内容です。
- Contact Form 7 のインテグレーション設定の削除する
- Simple CAPTCHA Alternative with Cloudflare Turnstile プラグインを無効化する(「すべてのCF7のフォームで有効化」にチェックを外していてもエラーは出たため)
アップデートのどこかでコンフリクトを起こすようになったみたいです。そのため、すべてのフォームに設定できる Simple CAPTCHA Alternative with Cloudflare Turnstile に統一することにしました。
対応手順は以下の通りです。
- Contact Form 7(お問い合わせ)から Turnstile のインテグレーションを 削除 する。
- Simple CAPTCHA Alternative with Cloudflare Turnstile の Contact Form 7 の Turnstile を 有効化 する。
今後のアップデートで解消されるかもしれませんが、ひとまず上記の方法で対処しました。
Contact Form 7 に設定する
WordPress 左メニューの お問い合わせ から インテグレーション を選択します。Contact Form 7 をすでに利用していて、reCAPTCHA にキーを設定していた場合は、前もって削除しておきましょう。
【更新:2025/12/19】ここから下の Contact Form 7 の設定はせずに、Simple CAPTCHA Alternative with Cloudflare Turnstile から Contact Form 7 の設定を行います。
Turnstile の設定は インテグレーションのセットアップ ボタンをクリックしてキーの入力画面を開きます。

取得したサイトキーとシークレットキーを入力して 変更を保存 します。

このままだと Turnstile のウィジェットがフォームの先頭に表示されます。

これではレイアウトとして少々見にくいので、フォームの編集画面をから [turnstile] タグを [submit “送信”] の手前に挿入して、表示位置を移動させました。
![お問い合わせフォームに[turnstile] タグを挿入する](https://necorice.com/wp-content/uploads/2025/10/img_migrating_turnstile11.png)
ウィジェットが下記のように、送信ボタンの手前に配置されると思います。

Simple CAPTCHA Alternative with Cloudflare Turnstile に設定をする
Simple CAPTCHA Alternative with Cloudflare Turnstile は、Turnstile を WordPress のログインフォームなどの入力画面に設定するためのプラグインで、プラグインを追加 からインストールして有効化します。

WordPress 左メニューの 設定 から、Simple Cloudflare Turnstile の設定画面を開き、API キーの設定 の項目に取得したサイトキーとシークレットキーを入力します。

Turnstile を有効にするフォームのチェックボックスをチェックして、変更を保存 をクリックします。Contact Form 7 はすでに設定済みで重複するためチェックはしていません。
【更新:2025/12/19】Contact Form 7 にもチェックを入れて有効化します。

保存したあと、「もうすぐ完了です…」の枠の中にある、ミドリ色の 応答テスト → ボタンを押します。

「成功!Turnstile はこれらの API キーで正しく動作します。」の文字がでたら完了となります。

最後の 応答テスト ボタンを見落として押さなかったため、計測されなくて困惑した、ということがありました……。
計測内容の確認
Cloudflare ダッシュボードから Turnstile を開いて、先ほど設定したウィジェットの右端にある 分析を表示 のテキストリンクをクリックをすると、計測内容が確認できると思います。
フィードバックを送る