WooCommerceのスパムユーザー対策をCloudflare Turnstileに切り替える

WooCommerceを導入すると、どうしても増えてしまうスパムユーザー登録。対策しておかなければ、WordPressのユーザー欄はたちまち海外から作成されたスパムユーザーで埋まり、(顧客権限だけのユーザーとはいえ)管理コストが無駄に増えるばかりです。あまり気分もよくありません。

これまで、私はスパム対策として「Google reCAPTCHA」+プラグイン「reCAPTCHA for WooCommerce」を主に利用してきましたが、2025年末でreCAPTCHAは使用条件が大きく変更され、「Google Cloud」での運用が必須となります。これを機に、「Cloudflare Turnstile」へと不正対策サービスを切り替えてみることにしました。

まとめ

この記事の内容を要約すると、以下のようになります。

  1. Google reCAPTCHAの使用条件変更に伴い、Cloudflare Turnstileを導入した
  2. WooCommerceのスパムユーザー対策はCloudflare Turnstile+プラグイン(Simple CAPTCHA Alternative with Cloudflare Turnstile)で代替可能
  3. 問い合わせフォームを含むスパム、ボット対策全般もCloudflare Turnstileで代替できる

Google reCAPTCHAとCloudflare Turnstile

Google reCAPTCHAとCloudflare Turnstileは、いずれもボット等によるスパム対策や不正ログイン防止のために広く利用されているサービスです。

Google reCAPTCHAの仕様変更

「Google reCAPTCHA」(v2/v3)は、ログインや問い合わせなど各種フォームからの入力・送信動作を監視・評価し、ボット等による悪質な行為と判定された場合には送信をストップするという、いまやサイトの運営に欠かせない機能を提供しています。

ただ、2025年末をもってreCAPTCHAの機能は「Google Cloud Console」へと完全に移り、従来の「Classic」プラン利用者は「Enterprize」プランへの移行が必須となりました。

この仕様変更で、私のような零細事業者にとって重要と感じたポイントは以下の通りです。

  1. 無料枠は月あたり評価(検証)10,000回まで、これを超えると料金が発生する
    (10万回まで月8ドル、それを超えると1回あたり0.001ドル)
  2. 従来のコンソールではなく、Google Cloud Consoleから操作する
  3. 2025年末に自動移行が行われるので、自力で変更しなくてもよい
    ただし、クレジットカード等の情報を登録しないと、無料枠を超えた時点で評価・検証が行われなくなる

こうして見ると、月10,000回までの無料枠があるため、小規模なサイトにはあまり影響がなさそうです。ただ、WooCommerceを利用していればボットによるユーザー登録の試行がどうしても増えるわけで、いつ従量課金ゾーンに突入するか読めない、という怖さがあります。

また、試験的に変更作業を行ってみて意外に難儀したのが、個人的にはほぼ使う機会がないGoogle Cloud Consoleでの操作でした。

Google Cloud Consoleは幅広いクラウドサービス全般を扱うコンソールで、私が既に利用している「Google Workspace」とは別の請求先アカウント扱いとなるようです。そして、手動での移行時や、無料枠を超えてもreCAPTCHAの機能を維持したい場合には、まずカード情報等を登録する必要があります。

この段階で改めて新コンソールと向き合ってみると、reCAPTCHAだけでなく広範なクラウドサービスを利用可能な状況なだけに、「もう少し操作方法や他の機能の課金条件を調べたほうがいいかな?」という気になり、なかなか最初の一歩を踏み出せません。仕方のないこととはいえ、素人でもふわっとした操作で気兼ねなく利用できた旧コンソール時代が懐かしく思えます。

また、私がWooCommerceのスパムユーザー対策として利用してきた「reCAPTCHA for WooCommerce」には、これからもreCAPTCHAのV2(閲覧者が自分でチェックを入れるタイプの検証手段)が必要です。V2も移行できるという情報はネット上で散見されましたから、おそらく問題なく旧キーの維持はできるのでしょう。ただ、新コンソールでV2用のキーをこれからも作り直したりできるのかがよくわからず(単に私の理解力が足りないだけなのですが)、将来への不安が少し残りました。

そこで、WooCommerceのスパムユーザー・不正ログイン対策として新たに導入を検討したのが、Cloudflare Turnstileでした。

Cloudflare Turnstileとは

今回のGoogle reCAPTCHAの仕様変更を不安に思っているのは私だけはないようで、いま、その代替手段としてよく挙げられているのがCloudflare Turnstileです。

Cloudflare Turnstileは、CDN(コンテンツ・デリバリー・ネットワーク)サービスで世界的に有名なアメリカ企業・Cloudflareによって提供されています。ボットによるスパム投稿やフォーム送信、不正ログインを防ぐ評価・検証(チャレンジ)機能により、Google reCAPTCHAと同じ役割を果たしてくれるサービスです。

また、CloudflareのCDNサービスに加入していなくても、Turnstile単体の無料プランを利用できることも大きな魅力だと言えます。

余談となりますが、CloudflareのCDNサービスには、個人・小規模事業者用に無料プランも用意されており、読み込み速度が向上するだけでなく、優れたWAF(ウェブ・アプリケーション・ファイアウォール)や、DDos攻撃への対抗手段が容易に手に入ります。CDNサービスは一般的に高価なので、とにかく最初はCloudflareを利用しておけと勧められるケースも、海外の掲示板やブログなどでは多く見られるようです。

2025年11月18日に発生した障害の際には、著名なネットサービスがどこもかしこもCloudflareを使っていたことがわかり、いろいろな意味で話題となりました(参考:日本経済新聞「XやChatGPTで一時通信障害、徐々に復旧 Cloudflare原因か」)。同年12月5日の障害発生時も、やはり同様に多くのサービスに影響が及んだようです。

ともあれ個人的には、日本国内での知名度はGoogle reCAPTCHAが圧倒的に高く、Cloudflare Turnstileを使うとかえって怪しまれるかも、と二の足を踏んでいたのですが……。前述の障害発生のニュースで、かえって日本国内でのCloudflareの認知度が上がったような気もしますし、reCAPTCHAの仕様変更もいよいよ間近に迫ってきましたから、ここはひとつTurnstileを試してみよう、という気になったのでした。

Cloudflare Turnstileのキー取得方法

Cloudflareのアカウントを作成し、Turnstile用のキーを取得する手順は非常にシンプルです。管理コンソールにはTurnstile以外の機能も多数含まれていますが、現状ではカード登録等が不要なので、安心して利用できるのは大きなメリットだと感じます。

アカウントを作成してログインする

まず、公式サイトの「利用開始」ボタンを押し、Cloudflareのアカウントがない場合はサインアップ、アカウント所有者はログインします。このとき、Google、Apple、Github等のアカウントでサインアップ・ログインすることも可能です。

Turnstileの価格設定は「Turnstile Free」と「Enterpriseプラン」の2種のみで、有料のEnterpriseプランはカスタム価格(要問い合わせ)ですから、小規模な事業者であればFreeプランで十分、ということになるでしょう。クレジットカードの登録などは必要なく、そのままTurnstileのキー取得に移ることができます。

Tunrstile用のキーを取得する

Cloudflareコンソール

コンソールにログインしたら、画面右上にあるアイコン「Profile」から「Language」を日本語に設定しておくと、すべての操作が日本語で行えます。ありがたいことです。

Cloudflareコンソール

最初に左メニューから「Turnstile」を選び、「ウィジェットを追加(英語版では「Add Widget」、以下同様)」ボタンを押します。

Cloudflareコンソール

「ウィジェット名(Widget name)」には、自分が管理しやすい名前を入力してください(日本語名で設定できます)。

次に、「ホスト名の追加(Add Hostnames)」ボタンを押し、管理対象ドメインを追加していきます。

画面の右側に出てくる画面に「カスタム ホスト名を追加する(Add a custom hostname)」という項目がありますから、そこにドメイン名を入力し、「追加(Add)」ボタンで追加してください。

たとえば、このサイトであれば「gakuji-tosho.jp」と入力します。サブドメインであれば、「classic.gakuji-tosho.jp」のように入力すれば問題ありません。

Cloudflareコンソール

1つのウィジェット(評価・検証ツール)には、10サイトまで登録可能です。

今後、コンソール上で分析結果を表示する際に、1つのウィジェット内に登録したサイト群は1つの情報としてまとめて扱われます。一括で情報を確認しても問題のないドメインを登録しておくと便利でしょう。

管理したいドメインをすべて入力したら、画面下にもうひとつある「追加(Add)」ボタンを押して登録を完了させてください。

Cloudflareコンソール

その後、「ウィジェット モード(Widget Mode)」「このサイトの事前クリアランスを選択しますか?(Pre-clearance)」は必要がある場合にのみ変更し(通常はそのままで問題ありません)、「作成(Create)」ボタンで確定します。

これで、サイトキー(Site Key)とシークレットキー(Secret Key)が生成されました。ここからはWordPress本体でのプラグイン導入に移ります。

プラグイン「Simple CAPTCHA Alternative with Cloudflare Turnstile」の導入

WordPress・WooCommerce上でTurnstileを利用する場合、プラグイン「Simple CAPTCHA Alternative with Cloudflare Turnstile」を利用するのが一般的かと思います。

これだけでWooCommerceも含めたスパム・ボット対策が実現できる、本当に素晴らしいプラグインです。ただし、Cloudflareの公式プラグインではありませんので、更新状況などには必ずご注意ください。

プラグインでキーを設定し、動作確認を行う

WordPressのメニューから「プラグイン」を選び、「プラグインを追加」から検索して、当該のプラグインをインストール・有効化してください。

Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

その後、WordPressのメニュー「設定」から「Cloudflare Turnstile」を選んで設定画面を開き、サイトキー・シークレットキーを入力します。

ここでいったん、画面の最下部にある「変更を保存」ボタンを押しておくと、この先のトラブル(動作テストに失敗する等)が減らせるはずです。

Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

キーの保存が完了した時点で、画面上に動作テストが走ります。

問題なく終了したら、「応答テスト→」ボタンを押し、テストを完了させてください。「成功 ! Turnstile はこれらの API キーで正しく動作します。」と表示されれば、Turnstileがサイトに導入されています。

ここまで完了したら、Turnstileを導入したい項目を選び、チェックを入れていきましょう。

画面下部のメニュー「フォームで Turnstile を有効化する:」にある、基本的なチェック項目は次の通りです。

Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

デフォルトのWordPressフォーム:ログイン・登録・パスワードリセット・コメント

以下チェック状況は全てサンプルです。ご自身の環境に合わせて設定してください。

Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

WooCommerceフォーム:ログイン・登録・パスワードリセット・購入手続き・支払い

WooCommerceについては、最低でもログイン・登録・パスワードリセットはチェックしておくべきかと思います。

購入手続き・注文の支払いや、スキップする支払方法にチェックを入れるべきかどうかは、スパムやボットによる不正注文等がどこまで発生しているかによって変わってくるはずです。

最後に、画面最下部にある「変更を保存」ボタンを押せば、基本設定は完了となります。

Turnstileの表示サイズ・表示条件を決める

WooCommerce+TCDテーマ等を利用している場合、ウィジェットの表示サイズや、ウィジェットが表示される条件を追加で設定しておくと、見た目がすっきりします。

「高度な機能」から、必要に応じて以下の機能を設定してください。

①ウィジェットのサイズ
Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

評価・検証時に表示されるウィジェットの大きさを選ぶことができます。

「コンパクト(150px)」にしておけば、TCDテーマを導入した状態でも、不格好にウィジェットが欠けたりすることはありません。

なお、自然な見栄えとしては「フレキシブル(100%)」の方が優れています。ただし、ヘッダーの「マイアカウント」からログイン用フォームを表示させると、少しだけウィジェットが枠からはみ出すのが残念です。

いずれにしても、この後の「②外観モード」で説明する設定次第では、めったにウィジェットが表示されなくなりますから、とりあえず好みの方にしておけばよいような気もします。

②外観モード
Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

「外観モード」を「常時」から「インタラクションのみ」に変更すると、インタラクション(=追加の評価・検証、ボットの疑いがある場合など)が必要な場合にだけ、ウィジェットが表示されるようになります。

表からは見えなくても裏で検証機能が働いてくれているという、大変ありがたい設定です。

これは非常にスマートな機能で、商用VPNなどを使っていないかぎり、大半のユーザーには評価中であることを示すウィジェット自体が表示されなくなります。

ただ、ウィジェットが見えない状態のままで判定に時間がかかると、ユーザーが評価完了前に送信ボタンを押してしまい、エラーになるケースも考えられるでしょう。

Simple CAPTCHA Alternative with Cloudflare Turnstile設定画面

対策としては、一般設定の「送信ボタンを無効化」にチェックを入れておく方法も有効です。

評価・検証(=チャレンジ)が完了するまで送信ボタンが押せなくなりますので、ご自身の環境に合わせて設定を調整してみてください。

問い合わせフォームを保護する

問い合わせフォームに「Contact Form7」を使用している場合、Simple CAPTCHA Alternative with Cloudflare Turnstileの設定に項目が増えますので、「すべてのCF7のフォームで有効化」にチェックを入れれば、Turnstileによる保護を直接オンにすることができます。

なお、私が愛用しているフォームプラグイン「Snow Monkey Forms」も、最近のバージョンアップでTurnstileを利用可能になりました。こちらの場合は、WordPressのメニューから別途「Snow Monkey Forms」プラグイン本体の設定画面を開き、キーを入力して使用することになります。

「Snow Monkey Forms」は、惜しまれながら開発が終了した「MW WP Form」の後継ともいえる、シンプルかつ確認画面(日本人が非常に好みます)の機能を備えた、素晴らしいプラグインです。いつも使わせていただき感謝しております。

導入後の検証

Cloudflare Turnstileの導入後、1週間ほど、スパムユーザーの登録状況などを確認してみました。

結果として、問題を感じるようなユーザー登録は激減しており、Google reCAPTCHA V2使用時と同等かそれ以上の品質でスパムユーザーを弾いているという感触があります。

Google reCAPTCHAの利用条件が複雑になった今、よりシンプルにWordPress・WooCommerceの不正対策を行いたい場合に、Cloudflare Turnstileの導入は非常に有効な手段だと言えるのではないでしょうか。

笠原 正大

学而図書 代表

関連記事