スパム対策『Cloudflare Turnstile』をContact Form 7に導入

Contact Form 7 に Cloudflare Turnstile 設置 reCAPTCHA からの移行やカスタマイズ方法
本ページはプロモーションが含まれています

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

放置するとどうなる?

  • 迷惑なメッセージが大量に届いてしまう
  • 大事なお問い合わせを見落とすことがある
  • サーバーに負担がかかり、動作が遅くなることもある
スパム対策 Cloudflare Turnstile

こうしたトラブルを防ぐために、フォーム公開と同時にスパム対策は必須です。

この記事では、WordPressプラグイン【Contact Form 7】で設置した「お問い合わせフォーム」にスパム対策として

『Cloudflare Turnstile(クラウドフレア ターンスタイル)』を導入する方法を紹介しています。

「reCAPTCHA」 → 『Cloudflare Turnstile』へ、移行する手順も解説していますので、是非ご覧ください。

【Contact Form 7】を使った「お問い合わせフォーム」の設置方法は↓こちらの記事で紹介しています。

スポンサーリンク

reCAPTCHA から『Cloudflare Turnstile』へ

reCAPTCHA

このようなアイコンを、どこかでご覧になった方もいらっしゃると思いますが、これまでのスパムメール対策は、Googleが無料で提供する「reCAPTCHA(リキャプチャ)」が一般的でした。

しかし、現在は月10,000リクエストを超える利用で、有料プランへの移行が必要になります。

さらに、2025年末までに reCAPTCHA Classic キーをGoogle Cloudプロジェクトへ移行しないと、機能しなくなる可能性があるとのこと。

つまり、これからスパム対策をする方や、現在「reCAPTCHA」を使用している方も、【Contact Form 7】公式でサポート・推奨している

『Cloudflare Turnstile(クラウドフレア ターンスタイル)』の導入がおすすめ。

Cloudflare Turnstileは、基本的な利用であれば無料のまま使えます。

個人サイトや中小企業の運営でも、コストをかけずにスパム対策ができるのは嬉しいポイントですね。

『Cloudflare Turnstile』のアカウントを作成する

公式サイト『Cloudflare Turnstile』にアクセスし、利用開始をクリック。

Cloudflare Turnstileアカウント作成

メールアドレスとパスワードで新規アカウントを作成する場合、必要事項を入力し、赤枠に☑️チェックを入れて、 サインアップ ボタンをクリック。

※日本語表記になっていない場合、右上▼から日本語が選択できます。

Cloudflare Turnstileアカウント作成

直後に、登録したメールアドレス宛に認証メールが届きます。これを開いて指定のリンクを開けば、Cloudflareのアカウント登録は完了です。

Googleで続行を選択した場合、アクセスの許可をするため「次へ」をクリック。

Cloudflare Turnstileアカウント作成

「ウィジェット」と「ホスト」の作成

Turnstile → ウィジェットを追加 をクリック。

Turnstileウィジェットの追加

ウィジェット名を入力し、 ホスト名の追加 をクリック。

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

Turnstileウィジェットの追加

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

  • ホスト名には、自分のサイトのドメインを入力します
    (例:sample.com、example.com)
  • サブドメインを使う場合は、そのサブドメインも登録できます
    (例:blog.sample.com、shop.example.com)
  • 1つのウィジェットに、ホストを10個まで追加できます
Turnstileウィジェットの追加ホスト名

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

Turnstileウィジェットの追加ホストの追加

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

Turnstileホストの追加

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

Turnstileウィジェットの追加ホスト

Turnstileでは、1つのウィジェットにつき『サイトキー』と『シークレットキー』が1組セットで発行されます。

  • 管理をできるだけシンプルにしたい場合は、1つのウィジェットに複数のホスト名(無料プランでは10個まで)を登録して運用
  • サイトごとにしっかり分けて管理したい場合は、1つのウィジェットに1つのホスト名で作成するのがおすすめ

公式サイトには「ウィジェット1つあたりホスト名15個」と書かれていますが、実際の画面上では現在10個までしか追加できないようです。


ウィジェット モード「管理対象(推奨)」のままで 作成 をクリック。

  • 管理対象(デフォルト推奨)
    Cloudflareが自動的に検証し、「必要」と判断した場合にチェックボックスが表示されることがある
  • 非インタラクティブ
    チェックボックスは表示されず、裏側で自動的に判定し、ページにはロゴが表示される
  • 非表示
    完全に見えない形で裏側判定のみ。
Turnstile ウィジェットモード

公式ドキュメントでも推奨されているのは管理対象(デフォルト)なので、特に理由がない場合は、管理対象で運用するのがおすすめです。

「サイト キー」と「シークレット キー」が発行されました。

Turnstile サイトキーとシークレットキーの発行

このあとの設定で「サイト キー」と「シークレット キー」の入力をします。

このままページを開いておくか、キーをコピーして控えておきましょう。

スポンサーリンク

利用シーンに合わせて選択する

ここからは、利用シーンに合わせて2つの方法から選びましょう。

Contact Form 7のインテグレーションかプラグインSimple Cloudflare Turnstileか

お問い合わせフォームだけにスパム対策をしたい場合

Contact Form 7で「お問い合わせフォーム」のみに設置するなら、プラグイン不要でContact Form 7のインテグレーションから簡単に設定できます。

詳しくは「Contact Form 7 へ設定する」に進んでください。

WordPress全体にスパム対策をしたい場合

次のような画面でも対策したい方は、プラグイン「Simple CAPTCHA Alternative with Cloudflare Turnstile」を使うのがおすすめです。

  • WordPress ログイン
    管理者やユーザーがWordPressにログインするときの画面
  • WordPress 登録
    会員サイトやコミュニティ運営で使うユーザー登録
  • WordPress パスワードリセット
    管理者や登録ユーザーが「パスワードを忘れた」ときに再設定する画面
  • WordPress コメント
    記事へのコメント投稿フォーム
  • Contact Form 7 で作成した「お問い合わせフォーム」

詳しくは「Simple CAPTCHA Alternative with Cloudflare Turnstile を設置する」に進んでください。

Contact Form 7 へ設定する

プラグインを使わずに、Contact Form 7のインテグレーション機能から簡単に設置する方法を紹介します。

このCloudflare Turnstileインテグレーション機能は、Contact Form 7のバージョン6.1以上で利用できます。

まずはプラグイン一覧からバージョンを確認し、WordPress本体も最新に更新しておきましょう。

WordPressダッシュボード → 「✉️お問い合わせ」 → インテグレーション → Turnstile 内にある インテグレーションのセットアップ をクリック。

Cloudflare Turnstile インテグレーションのセットアップ

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

Cloudflare Turnstile インテグレーションにキー入力

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

Cloudflare Turnstile お問い合わせフォームに表示

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

Cloudflare Turnstile お問い合わせフォームに表示

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

お疲れ様でした

Turnstileウィジェット(認証表示)の、位置・サイズ・カラー(ライト or ダーク)を変更したい方は次へ進んでください。

Turnstile ウィジェットの位置を変更する

デフォルトでは、Turnstileウィジェット(認証表示)はフォーム項目の一番上に表示されます。

もし設置位置を変更したい場合は、ショートコードを少し挿入することで送信ボタンの上など、好きな場所に移動させることも可能。

Turnstile ウィジェットの位置をカスタマイズ

WordPressダッシュボード → 「✉️お問い合わせ」 → 作成したフォームのタイトルをクリック。

フォームタブ内の表示させたい位置に、ショートコード [turnstile] を挿入し 保存 をクリックすれば完了です。

Turnstileウィジェットのバッジ(badge)の位置を変更。フォーム内にショートコードを追加

Turnstile ウィジェットのカラーとサイズをカスタマイズ

デフォルトのTurnstileウィジェットは auto が選ばれ、訪問者の環境に合わせて自動的にカラーが切り替わり、通常サイズ(幅300px × 高さ65px)で表示されます。

サイトのデザインに合わせて「カラー(ライト/ダーク/自動)」「サイズ(通常/コンパクト/レスポンシブ)」を固定表示に変更することも可能。

Turnstile ウィジェットのサイズをカスタマイズ
  • 通常サイズ ⇒ 幅300px 縦65px
  • コンパクトサイズ ⇒ 幅150px 縦140px
  • レスポンシブサイズ ⇒ 幅100% 縦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 ウィジェットのカラーとサイズをカスタマイズ

Turnstile ウィジェットのカスタマイズまとめ

ここまで、ウィジェットのテーマカラーを light(ライト)や dark(ダーク)に、サイズをコンパクトやレスポンシブにカスタマイズする方法を紹介しました。

さらに、デフォルトでは auto(訪問者のブラウザの言語設定に従う)になっていますが、日本語(ja)、英語(en)、フランス語(fr)など言語を固定して表示させることも可能です。

例)テーマ(dark)、サイズ(レスポンシブ)、言語(英語)

[turnstile theme:dark size:flexible language:en]

Turnstile ウィジェットのカスタマイズ

例)テーマ(light)、サイズ(レスポンシブ)、言語(フランス語)

[turnstile theme:light size:flexible language:fr]

Turnstile ウィジェット言語をカスタマイズ

このように、ショートコードを半角スペースでつなげば、テーマやサイズ、言語を自由に組み合わせてカスタマイズできます。

サイトのデザインや特徴に合わせて、自分に合った設定を取り入れてみてくださいね。

お疲れ様でした

参考 Cloudflare Docs ウィジェットの設定

【Simple CAPTCHA Alternative with Cloudflare Turnstile】を設置する

【Simple CAPTCHA Alternative with Cloudflare Turnstile】は多機能なプラグインですが、この記事では主にブログ運営でよく使われる、以下の場面にしぼって紹介します。

  • WordPress ログイン
    管理者やユーザーがWordPressにログインするときの画面
  • WordPress 登録
    会員サイトやコミュニティ運営で使うユーザー登録
  • WordPress パスワードリセット
    管理者や登録ユーザーが「パスワードを忘れた」ときに再設定する画面
  • WordPress コメント
    記事へのコメント投稿フォーム
  • Contact Form 7 で作成した「お問い合わせフォーム」

Simple CAPTCHA Alternative with Cloudflare Turnstileのインストール

WordPressダッシュボード → 「プラグイン」 → 「プラグインの追加」 → プラグインの検索窓に Turnstile または Simple CAPTCHA Alternative with Cloudflare Turnstile と入力し、今すぐインストールをクリック。

プラグインSimple CAPTCHA Alternative with Cloudflare Turnstile

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

プラグインSimple CAPTCHA Alternative with Cloudflare Turnstile

Cloudflare Turnstile の設定

プラグインを有効化にすると、設定画面が表示されます。

※設定画面が表示されない場合、ダッシュボード → 「設定」の中に追加された 「Cloudflare Turnstile」 を開いてください。

API キーの設定

先ほど、公式サイト『Cloudflare Turnstile』で発行された、「サイト キー」と「シークレット キー」の入力をします。

Cloudflare TurnstileのAPI キー入力

基本設定

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

サンプル画像

Turnstile ウィジェットのサイズをカスタマイズ

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

Cloudflare Turnstileの基本設定

⚙️送信ボタンを無効化

チェックを入れると認証が完了するまで送信できず、安全性は高まります。ただし、チェックを外しても未認証なら送信時にエラーで止まるので、特に理由がなければ訪問者の使いやすさを考えてオフのままにしておきましょう。

⚙️ウィジェットのサイズ

高度な設定 ▼ を開き、上記のサンプル画像を参考に、好みのウィジェットを選んでください。

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

⚙️デフォルトのWordPressフォーム

右横の ▼ を開き、Turnstileを有効化(スパム対策)したい場所に☑️チェックを入れましょう。

  • WordPress ログイン
    管理者やユーザーがWordPressにログインするときの画面
  • WordPress 登録
    会員サイトやコミュニティ運営で使うユーザー登録
  • WordPress パスワードリセット
    管理者や登録ユーザーが「パスワードを忘れた」ときに再設定する画面
  • WordPress コメント
    記事へのコメント投稿フォーム
フォームで Turnstile を有効化する

⚙️Contact Form 7

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

Turnstile 「すべてのCF7のフォームで有効化」設定

Turnstile の応答テスト

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

Turnstile 応答テスト

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

Turnstile 応答テスト

設定画面で Turnstile を有効化に☑️チェックを入れた箇所に、ウィジェットが表示されているか確認しましょう。

例)Contact Form 7 で作成した「お問い合わせフォーム」

Turnstile 応答テスト Contact Form 7 お問い合わせフォームに設定

例)WordPress ログイン画面

Turnstile 応答テスト

WordPressログイン画面などに、すでに 「SiteGuard WP Plugin」 などの、セキュリティ系プラグインで認証機能を追加している場合、Turnstile と重複して表示されることがあります。

二重にしても動作はしますが、基本的にはどちらか一方に統一するのがおすすめ。

お疲れ様でした

スポンサーリンク

「Contact Form 7」と「reCAPTCHA」の連携を解除

ここからは、これまで「Contact Form 7」に『reCAPTCHA』を設定していた方向けの説明になります。

この操作を行うことで、『Cloudflare Turnstile』と『reCAPTCHA』の二重設定を防ぎます。

インテグレーションから『reCAPTCHA』を削除

WordPressダッシュボード → 「✉️お問い合わせ」 → 「インテグレーション」 → reCAPTCHAインテグレーションのセットアップ をクリック。

Contact Form 7とreCAPTCHAの連携を解除する

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

Contact Form 7とreCAPTCHAの連携を解除する

reCAPTCHA の「サイトキー」と「シークレットキー」を削除

※この操作は急ぐ必要はありません。

数週間〜1か月程度様子を見て『Cloudflare Turnstile』が安定して動作していることを確認してから、『reCAPTCHA』のサイトキーとシークレットキーを削除しましょう。

削除する場合は、Google「reCAPTCHA 管理画面」にログインし、対象のドメインを選択 → ⚙️設定をクリックして開きます。

reCAPTCHAのキーを削除する

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

reCAPTCHAのキーを削除する

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

reCAPTCHAのキーを削除する

まとめ

スパム対策はどんな方法を選んでも、完全に不正アクセスや迷惑投稿をゼロにできるわけではありません。

それでも、今回紹介したように「Cloudflare Turnstile」や各種プラグインを導入しておくことで、安心感はぐっと高まります。

大切なサイトを守るために、ぜひ自分の環境に合った方法を取り入れてみてくださいね。