「お問い合わせフォーム」を公開すると、Bot(ボット)による自動投稿で、大量の迷惑メールが届くことがあります。
放置するとどうなる?

こうしたトラブルを防ぐために、フォーム公開と同時にスパム対策は必須です。
この記事では、WordPressプラグイン【Contact Form 7】で設置した「お問い合わせフォーム」にスパム対策として
『Cloudflare Turnstile(クラウドフレア ターンスタイル)』を導入する方法を紹介しています。
「reCAPTCHA」 → 『Cloudflare Turnstile』へ、移行する手順も解説していますので、是非ご覧ください。
【Contact Form 7】を使った「お問い合わせフォーム」の設置方法は↓こちらの記事で紹介しています。
reCAPTCHA から『Cloudflare Turnstile』へ

このようなアイコンを、どこかでご覧になった方もいらっしゃると思いますが、これまでのスパムメール対策は、Googleが無料で提供する「reCAPTCHA(リキャプチャ)」が一般的でした。
しかし、現在は月10,000リクエストを超える利用で、有料プランへの移行が必要になります。
さらに、2025年末までに reCAPTCHA Classic キーをGoogle Cloudプロジェクトへ移行しないと、機能しなくなる可能性があるとのこと。

つまり、これからスパム対策をする方や、現在「reCAPTCHA」を使用している方も、【Contact Form 7】公式でサポート・推奨している
『Cloudflare Turnstile(クラウドフレア ターンスタイル)』の導入がおすすめ。
Cloudflare Turnstileは、基本的な利用であれば無料のまま使えます。
個人サイトや中小企業の運営でも、コストをかけずにスパム対策ができるのは嬉しいポイントですね。
『Cloudflare Turnstile』のアカウントを作成する
公式サイト『Cloudflare Turnstile』にアクセスし、利用開始をクリック。

メールアドレスとパスワードで新規アカウントを作成する場合、必要事項を入力し、赤枠に☑️チェックを入れて、 サインアップ ボタンをクリック。
※日本語表記になっていない場合、右上▼から日本語が選択できます。

直後に、登録したメールアドレス宛に認証メールが届きます。これを開いて指定のリンクを開けば、Cloudflareのアカウント登録は完了です。
Googleで続行を選択した場合、アクセスの許可をするため「次へ」をクリック。

「ウィジェット」と「ホスト」の作成
①Turnstile → ウィジェットを追加 をクリック。

②ウィジェット名を入力し、 ホスト名の追加 をクリック。
※ウィジェット名は管理用なので、自分のブログのタイトルなど、あとで見て分かりやすい名前を付けておきましょう。

③ホスト名を入力し、追加をクリック。

④ホスト名に☑️チェックを入れて、追加をクリック。

⑤もう一度、追加をクリックします。

「ウィジェット」と「ホスト」の関係

Turnstileでは、1つのウィジェットにつき『サイトキー』と『シークレットキー』が1組セットで発行されます。
⑥ウィジェット モード「管理対象(推奨)」のままで 作成 をクリック。

公式ドキュメントでも推奨されているのは管理対象(デフォルト)なので、特に理由がない場合は、管理対象で運用するのがおすすめです。
⑦「サイト キー」と「シークレット キー」が発行されました。

このあとの設定で「サイト キー」と「シークレット キー」の入力をします。
このままページを開いておくか、キーをコピーして控えておきましょう。
利用シーンに合わせて選択する
ここからは、利用シーンに合わせて2つの方法から選びましょう。

お問い合わせフォームだけにスパム対策をしたい場合
Contact Form 7で「お問い合わせフォーム」のみに設置するなら、プラグイン不要でContact Form 7のインテグレーションから簡単に設定できます。
詳しくは「Contact Form 7 へ設定する」に進んでください。
WordPress全体にスパム対策をしたい場合
次のような画面でも対策したい方は、プラグイン「Simple CAPTCHA Alternative with Cloudflare Turnstile」を使うのがおすすめです。
詳しくは「Simple CAPTCHA Alternative with Cloudflare Turnstile を設置する」に進んでください。
Contact Form 7 へ設定する
プラグインを使わずに、Contact Form 7のインテグレーション機能から簡単に設置する方法を紹介します。
このCloudflare Turnstileインテグレーション機能は、Contact Form 7のバージョン6.1以上で利用できます。
まずはプラグイン一覧からバージョンを確認し、WordPress本体も最新に更新しておきましょう。
①WordPressダッシュボード → 「✉️お問い合わせ」 → インテグレーション → Turnstile 内にある インテグレーションのセットアップ をクリック。

②先ほど発行された「サイト キー」と「シークレット キー」を入力し、 変更を保存 をクリック。

③お問い合わせページに、このような Turnstileウィジェット(認証表示)が表示されていれば、設置は完了です。

チェック☑️を入れて「成功しました!」と表示されるか確認してみましょう。

表示位置がこのままで良ければ、「お問い合わせフォーム」へのスパム対策は、これで完了です。

お疲れ様でした
Turnstileウィジェット(認証表示)の、位置・サイズ・カラー(ライト or ダーク)を変更したい方は次へ進んでください。
Turnstile ウィジェットの位置を変更する
デフォルトでは、Turnstileウィジェット(認証表示)はフォーム項目の一番上に表示されます。
もし設置位置を変更したい場合は、ショートコードを少し挿入することで送信ボタンの上など、好きな場所に移動させることも可能。

①WordPressダッシュボード → 「✉️お問い合わせ」 → 作成したフォームのタイトルをクリック。
②フォームタブ内の表示させたい位置に、ショートコード [turnstile] を挿入し 保存 をクリックすれば完了です。

Turnstile ウィジェットのカラーとサイズをカスタマイズ
デフォルトのTurnstileウィジェットは auto が選ばれ、訪問者の環境に合わせて自動的にカラーが切り替わり、通常サイズ(幅300px × 高さ65px)で表示されます。
サイトのデザインに合わせて「カラー(ライト/ダーク/自動)」や「サイズ(通常/コンパクト/レスポンシブ)」を固定表示に変更することも可能。

下の表を参考に、ショートコードをコピペすれば、簡単に好みのスタイルへ変更できます。
テーマ | サイズ | ショートコード |
---|---|---|
自動(auto) | 通常 | [turnstile] |
自動(auto) | コンパクト | [turnstile size:compact] |
自動(auto) | レスポンシブ | [turnstile size:flexible] |
ライト(light) | 通常 | [turnstile theme:light] |
ライト(light) | コンパクト | [turnstile theme:light size:compact] |
ライト(light) | レスポンシブ | [turnstile theme:light size:flexible] |
ダーク(dark) | 通常 | [turnstile theme:dark] |
ダーク(dark) | コンパクト | [turnstile theme:dark size:compact] |
ダーク(dark) | レスポンシブ | [turnstile theme:dark size:flexible] |
①WordPressダッシュボード → 「✉️お問い合わせ」 → 作成したフォームのタイトルをクリック。
②フォームタブ内の表示させたい位置に、ショートコードを挿入し 保存 をクリックすれば完了。

Turnstile ウィジェットのカスタマイズまとめ
ここまで、ウィジェットのテーマカラーを light(ライト)や dark(ダーク)に、サイズをコンパクトやレスポンシブにカスタマイズする方法を紹介しました。
さらに、デフォルトでは auto(訪問者のブラウザの言語設定に従う)になっていますが、日本語(ja)、英語(en)、フランス語(fr)など、言語を固定して表示させることも可能です。
例)テーマ(dark)、サイズ(レスポンシブ)、言語(英語)
[turnstile theme:dark size:flexible language:en]

例)テーマ(light)、サイズ(レスポンシブ)、言語(フランス語)
[turnstile theme:light size:flexible language:fr]

このように、ショートコードを半角スペースでつなげば、テーマやサイズ、言語を自由に組み合わせてカスタマイズできます。
サイトのデザインや特徴に合わせて、自分に合った設定を取り入れてみてくださいね。

お疲れ様でした
【Simple CAPTCHA Alternative with Cloudflare Turnstile】を設置する
【Simple CAPTCHA Alternative with Cloudflare Turnstile】は多機能なプラグインですが、この記事では主にブログ運営でよく使われる、以下の場面にしぼって紹介します。
Simple CAPTCHA Alternative with Cloudflare Turnstileのインストール
WordPressダッシュボード → 「プラグイン」 → 「プラグインの追加」 → プラグインの検索窓に Turnstile または Simple CAPTCHA Alternative with Cloudflare Turnstile と入力し、今すぐインストールをクリック。

有効化をクリックしてインストールの完了です。

Cloudflare Turnstile の設定
プラグインを有効化にすると、設定画面が表示されます。
※設定画面が表示されない場合、ダッシュボード → 「設定」の中に追加された 「Cloudflare Turnstile」 を開いてください。
API キーの設定
先ほど、公式サイト『Cloudflare Turnstile』で発行された、「サイト キー」と「シークレット キー」の入力をします。

基本設定
テーマや言語の設定で「自動」や「自動検出」を選ぶと、訪問者の環境に合わせて自動で切り替わります。
サンプル画像

訪問者の環境に左右されずにテーマや言語を固定表示させたい場合は、(例:ダーク/日本語)などに設定しましょう。

⚙️送信ボタンを無効化
チェックを入れると認証が完了するまで送信できず、安全性は高まります。ただし、チェックを外しても未認証なら送信時にエラーで止まるので、特に理由がなければ訪問者の使いやすさを考えてオフのままにしておきましょう。
⚙️ウィジェットのサイズ
高度な設定 ▼ を開き、上記のサンプル画像を参考に、好みのウィジェットを選んでください。
フォームで Turnstile を有効化する
⚙️デフォルトのWordPressフォーム
右横の ▼ を開き、Turnstileを有効化(スパム対策)したい場所に☑️チェックを入れましょう。

⚙️Contact Form 7
右横の ▼ を開き、Contact Form 7 で作成した「お問い合わせフォーム」にTurnstileを有効化(スパム対策)するために☑️チェックを入れ、変更を保存 をクリック。

Turnstile の応答テスト
以下の表示に変わったら 応答テスト → をクリック。

「成功!Turnstile はこれらのAPIキーで正しく動作します。」と表示されたら完了です。

設定画面で Turnstile を有効化に☑️チェックを入れた箇所に、ウィジェットが表示されているか確認しましょう。
例)Contact Form 7 で作成した「お問い合わせフォーム」

例)WordPress ログイン画面

WordPressログイン画面などに、すでに 「SiteGuard WP Plugin」 などの、セキュリティ系プラグインで認証機能を追加している場合、Turnstile と重複して表示されることがあります。
二重にしても動作はしますが、基本的にはどちらか一方に統一するのがおすすめ。

お疲れ様でした
「Contact Form 7」と「reCAPTCHA」の連携を解除
ここからは、これまで「Contact Form 7」に『reCAPTCHA』を設定していた方向けの説明になります。
この操作を行うことで、『Cloudflare Turnstile』と『reCAPTCHA』の二重設定を防ぎます。
インテグレーションから『reCAPTCHA』を削除
WordPressダッシュボード → 「✉️お問い合わせ」 → 「インテグレーション」 → reCAPTCHA → インテグレーションのセットアップ をクリック。

キーを削除 をクリックして連携を解除します。

reCAPTCHA の「サイトキー」と「シークレットキー」を削除
※この操作は急ぐ必要はありません。
数週間〜1か月程度様子を見て『Cloudflare Turnstile』が安定して動作していることを確認してから、『reCAPTCHA』のサイトキーとシークレットキーを削除しましょう。
削除する場合は、Google「reCAPTCHA 管理画面」にログインし、対象のドメインを選択 → ⚙️設定をクリックして開きます。

右上の🗑️ゴミ箱アイコンをクリック。

削除するドメインに間違いがないことを確認し、削除をクリックすれば完了です。

まとめ
スパム対策はどんな方法を選んでも、完全に不正アクセスや迷惑投稿をゼロにできるわけではありません。
それでも、今回紹介したように「Cloudflare Turnstile」や各種プラグインを導入しておくことで、安心感はぐっと高まります。
大切なサイトを守るために、ぜひ自分の環境に合った方法を取り入れてみてくださいね。