SSGformにTurnstileを設定する方法|迷惑送信対策を画面で解説
こんな人におすすめ
- 社会人2年目程度の初心者Webマーケター
- 会社の問い合わせ窓口を担当する方
✓ この記事のゴール(読了目安 約13分)
設定する場所と担当者の分担を理解し、画面だけでなくメールの受信まで確認できる
SSGformにTurnstileを設定するには、Cloudflareで2種類のキーを発行し、サイトキーはホームページのフォームへ、シークレットキーはSSGformの管理画面へ登録します。この両方をそろえることで、自動プログラムによる迷惑送信への対策を加えられます。
SSGformの管理画面だけで完結する設定ではないため、ホームページのコードを触らない方は、サイト側の変更を制作担当者に依頼しましょう。この記事では、すでにSSGformへ送信できるフォームにTurnstileを追加する手順を中心に解説します。
この記事で分かること
- 2種類のキーの役割と、それぞれの設定先
- CloudflareとSSGformで設定する項目
- サイトへ確認欄を追加する方法と、送信テストの見方
- 迷惑送信が残る場合の追加対策と注意点
設定する場所はCloudflare・SSGform・サイトの3か所

Cloudflareでキーを発行し、SSGformで受け付ける条件を設定し、サイトに確認欄を置く、という3つの作業が必要です。
Turnstileは、Cloudflareが提供する、自動プログラムによる送信への対策を助ける仕組みです。フォームを開いた人のブラウザで確認を行い、その結果を送信内容と一緒に渡します。SSGformはその結果を確かめ、フォーム送信を処理します。
例えば、会社の問い合わせフォームへTurnstileの確認欄を追加しても、SSGform側にシークレットキーを登録していなければ、必要な設定がそろっていません。見た目に確認欄があることと、受け付ける側で確認できることは分けて考えましょう。
設定する場所 | 行うこと | 使うキー |
|---|---|---|
Cloudflare | フォームを置くサイトを登録し、キーを発行 | 2種類を発行する |
SSGform | CAPTCHAのサービスと秘密のキーを登録 | Secret Key |
自社サイト | フォーム内にTurnstileの確認欄を設置 | Site Key |
Site Keyは、どの設定のTurnstileを表示するかを指定する公開用の識別子です。一方、Secret Keyは、受け取った確認結果が有効かを確かめるための秘密のキー。こちらは公開するHTMLや記事のスクリーンショットに載せません。
準備するのは、CloudflareとSSGformの管理権限、フォームを置くページのアドレス、サイトを変更できる担当者です。SSGformそのものを初めて使う方は、先に役割と導入条件を押さえておくと、分担を決めやすくなります。
1.Cloudflareでホスト名を登録し、キーを発行する

Cloudflareでは、フォームのあるサイトのホスト名を登録し、ManagedモードでTurnstileを作成します。 Managedは、追加確認が必要な場合にチェックボックスを表示するモードで、Cloudflareが推奨しています。
Cloudflareへログインし、「アプリケーション セキュリティ」から「Turnstile」を開き、「ウィジェットを手動で追加」へ進みます。「ウィジェット」は、サイトに組み込むTurnstileの設定を指す名前です。作成の流れは、Cloudflare公式の設定手順でも確認できます。
画像は2026年10月19日に確認した、作成前の設定画面です。ウィジェット名・ホスト名は未入力で、「管理」が推奨と表示されています。今回の画面確認では、ウィジェットの作成やキーの発行は行っていません。
入力項目 | 設定例・選び方 |
|---|---|
ウィジェット名 | 「会社サイト・お問い合わせ」など、用途が分かる名前 |
ホスト名 | フォームを置くサイトの www.example.com など |
ウィジェットモード | Managed(管理) |
ホスト名は、URLのうちサイトを表す部分です。フォームのアドレスが https://www.example.com/contact/ なら、入力するのは www.example.com。https:// や /contact/ は含めません。
ここに入れるのは、送信先である ssgform.com ではなく、入力フォームを表示する自社サイトのホスト名です。テストサイトにも設置する場合は、そのホスト名も使用する環境に合わせて登録します。
作成後に表示されるSite KeyとSecret Keyを、それぞれ次の設定に使います。Cloudflareへサイトの配信を移さなくてもTurnstileは利用できるため、このためだけにサーバーやドメインを移す必要はありません。
ホスト名を広げすぎない
example.com を登録すると、その下の www.example.com などのサブドメインも対象になります。フォームを置く場所だけに絞りたいなら、www.example.com のように具体的なホスト名を指定します。
2.SSGformでTurnstileを選び、Secret Keyを登録する

SSGformの対象フォームでCAPTCHA設定を有効にし、利用サービスにTurnstileを選び、Secret Keyを登録します。 CAPTCHAは、自動プログラムによる不正な送信を見分けるための仕組みの総称で、Turnstileはその選択肢の一つです。
SSGformへログインしたら、追加したいフォームの編集画面を開きます。CAPTCHA設定で、次の内容を設定して保存してください。SSGform公式の機能説明にも、利用サービスとSecret Keyの項目が案内されています。
項目 | 設定する内容 |
|---|---|
CAPTCHA設定 | 有効にする |
利用サービス | Turnstile |
Secret Key | 同じウィジェットで発行したシークレットキー |
Site KeyとSecret Keyは、似た文字列でも用途が異なります。SSGformへ入れるのはSecret Keyです。別のウィジェットのキーや、以前のreCAPTCHA用のキーと取り違えないようにしましょう。
サイト側の変更を制作担当者に任せる場合は、この保存とサイトへの反映をいつ行うかも合わせます。受け付ける側だけを先に切り替えると、Turnstileの確認結果が付いていない既存フォームから送れなくなる可能性があるためです。
本番を切り替える前に、制作担当者と「同じ設定の2種類のキーを使っているか」「どのフォームをいつ変更するか」をそろえましょう。
3.サイトのフォームにTurnstileの確認欄を追加する

画像はSSGform公式のコード例で、設置後の画面ではありません。読み込み用の記述と確認欄の記述が、両方あることを示しています。
サイト側には、Turnstileを読み込む記述と、Site Keyを指定した確認欄を追加します。 HTMLは、ページに文章や入力欄を配置するための記述です。編集を依頼する場合も、SSGformの設定だけでは終わらないことを伝えておきましょう。
次は、通常のHTMLフォームで送信する場合の最小例です。YOUR_FORM_ID と YOUR_SITE_KEY は説明用なので、自分のフォームの送信先とサイトキーへ置き換えます。SSGform公式のTurnstile付きサンプルも参照できます。
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<form action="https://ssgform.com/s/YOUR_FORM_ID" method="post">
<label for="contact-email">メールアドレス</label>
<input id="contact-email" type="email" name="email" required>
<label for="contact-message">お問い合わせ内容</label>
<textarea id="contact-message" name="お問い合わせ内容" required></textarea>
<div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
<button type="submit">送信する</button>
</form>
既存のフォームに追加するときは、入力欄を丸ごと作り直す必要はありません。制作担当者に、読み込み用の script と、確認欄を置く div を既存のページへ組み込んでもらいます。Secret Keyは、このコードへ書き込みません。
確認欄を form の内側へ置くと、Turnstileは確認結果を表す文字列を自動でフォームへ追加します。この文字列を「トークン」と呼び、通常の送信では入力内容と一緒にSSGformへ渡されます。SSGformが検証を担当する構成なので、自社サイト側に検証用のサーバープログラムを新しく作る手順は必要ありません。
ページを移動せず送信するフォームの場合
自社のフォームの作り方が分からなければ、判別も含めて制作担当者に依頼しましょう。JavaScriptで送信項目を一つずつ集める作りでは、Turnstileの結果も送る処理が必要です。フォーム全体をそのまま送信する上の例と異なるため、制作担当者に「cf-turnstile-response もSSGformへ送られているか」と確認してください。
4.確認欄の表示から、送信・受信まで確かめる

画像はSSGformの送信履歴の確認欄です。日時やフォーム名で対象を探せますが、履歴の表示と実際のメール受信は別に確かめます。
設定完了の判断は、確認欄が表示されたかだけでなく、正常な問い合わせが届き、確認結果のない送信が拒否されるかまで見て行います。
まずは、設置したURLを開き、パソコンとスマートフォン相当の幅で、確認欄が入力欄や送信ボタンに重なっていないかを見ます。そのうえで、通知先の担当者にテストと分かる内容で送信してください。
確かめること | 完了と判断するために見る点 |
|---|---|
通常の送信 | 確認後に送信でき、予定した完了画面へ進む |
社内への通知 | 設定した宛先へ、テスト内容のメールが届く |
自動応答 | 有効にしている場合、送信者側にも届く |
必須項目 | 空欄のままでは送信できない |
確認結果の検証 | 検証用の環境で、結果を付けない送信が拒否される |
最後の項目は制作担当者に依頼します。画面で送信ボタンを押せなくするだけでは、別の方法で送られるデータまで確認したことになりません。受け付けるSSGform側でも拒否されるかを確かめることに意味があります。
うまくいかないときは、止まった場所から調べる
確認欄が出ないなら、まずサイトキーと読み込み用の記述を確認します。確認欄にエラーが出る場合は、フォームを開いているホスト名がCloudflareへ登録されているかも見てください。サイト側のセキュリティ設定で、Cloudflareからの読み込みを制限していることもあるため、画面のエラー文を制作担当者へ渡すと調べやすくなります。
確認欄は成功しているのに送信で止まるなら、SSGformで選んだサービスとSecret Key、フォームの送信先、トークンが送られているかを確認します。送信完了まで進むのにメールだけ届かない場合は、通知先と迷惑メールフォルダーも調べましょう。
トークンは発行から5分で期限が切れ、一度の検証だけに使えます。標準の設定では期限切れに合わせて更新されますが、独自の送信処理で古い結果を使い回していると失敗します。長く入力した後や、エラーから再送するときにも送れるかを確かめておくと、実際の問い合わせの取りこぼしを減らせます。
公式テストキーで確認できること
Cloudflareには、成功や失敗を意図的に再現する公開のテストキーがあります。これは画面やエラー処理の検証用です。テストのSite Keyと本番のSecret Keyは混在させず、公開時には両方を本番用へ戻します。テストキーで成功しても、実際のBotを見分けられたことにはなりません。
迷惑送信が残るときは、内容に合う追加対策を選ぶ

Turnstileは自動送信への対策であり、人が入力する営業メールをすべて止める機能ではありません。 迷惑送信が残る場合は、内容の傾向を見て、SSGformの追加設定を使い分けます。
追加対策 | 向いている場面 | 気を付けること |
|---|---|---|
許可ホスト | 自社が用意したページからの送信に絞りたい | 本番・テストで使うホストの設定漏れ |
NGワード | 同じ営業文句が繰り返し届く | 一般的な単語は正規の相談にも含まれる |
全角文字チェック | 全角文字を含む問い合わせを想定する | 英語だけで相談する正規のお客さんも拒否する |
簡易スパム対策 | 見えない入力欄を埋めるBotへの対策を加えたい | これだけで十分とは考えない |
例えばNGワードに「SEO」を入れると、営業だけでなく「SEOの相談をしたい」という見込み客も拒否するおそれがあります。届いた迷惑文の特徴的な表現を候補にし、正規の問い合わせ文でも問題が出ないかを確かめてから使いましょう。
全角文字チェックも、海外からの送信を一律に見分けるものではありません。日本在住の外国人のお客さんが英語で相談した場合も、全角文字を含まなければ拒否の対象になります。英語の問い合わせを受ける窓口なら、この条件を付けるか慎重に判断します。
設定後は、迷惑送信の数だけでなく、正規の問い合わせが送れているかと、月間送信数も見てください。SSGformでは、受け付けたBotや営業目的の送信も月間件数に数えられます。対策を入れたから上限管理が不要になるわけではありません。
迷惑送信を減らすときも、正規のお客さんが送れることを一緒に確認します。拒否する条件を増やす前に、受け付けたい相談の言語や内容を決めましょう。
次に行うのは、フォームのURLと変更担当者をそろえることです。既存フォームがあるなら、担当者に「Cloudflareでキー発行、SSGformでSecret Key登録、サイトにSite Key設置、正常送信と拒否の確認」までを一続きの作業として依頼しましょう。
これからSSGformを導入する場合は、SSGformの公式登録ページからアカウントを用意し、通知先とフォームの設置担当者を決めるところから始められます。
関連記事