宿の問い合わせフォームへ、営業案内、意味の分からない文章、同じ内容の連続送信が届くことがあります。件数が増えると、本当の宿泊相談を見落としかねません。
ただし、迷惑メール対策を強くしすぎると、お客様の問い合わせまで止めることがあります。宿サイトで大切なのは、迷惑送信をゼロにすることではなく、本物の問い合わせを受け取れる状態を保ちながら負担を減らすことです。
この記事では、ITに詳しくない宿主さんが、CodexやClaude Codeに調査を手伝わせながら安全に対策する順番を説明します。
結論:いきなりプラグインを増やさない
対策は次の順番で進めます。
- どのフォームへ、どの程度届いているか記録する
- 現在のフォームと既存の迷惑メール対策を確認する
- 変更前にバックアップと正常送信テストを行う
- 一つの対策だけ追加する
- PC・スマートフォン・異なるメールアドレスで再テストする
- 誤検知と問い合わせ件数をしばらく確認する
複数のプラグイン、CAPTCHA、禁止語を同時に追加すると、どれが正常な問い合わせを止めたのか分からなくなります。
最初に迷惑メールの状況を数える
まず1週間程度、次の項目だけを記録します。本文やメールアドレスをAIへ貼り付ける必要はありません。
| 確認項目 | 記録例 |
|---|---|
| 対象フォーム | 問い合わせ、予約相談、採用 |
| 迷惑送信の件数 | 1日約10件 |
| 集中する時間帯 | 深夜に多い |
| 同じ内容の連続 | あり・なし |
| 本物らしい問い合わせの誤判定 | あり・なし・不明 |
| 現在の対策 | 不明、Akismet、Turnstileなど |
件数が少ないのに複雑な仕組みを導入すると、保守対象だけが増える場合があります。現状を数えてから、必要な強さを決めます。
現在使っているフォームを確認する
WordPressでは、Contact Form 7、Jetpackフォーム、WPFormsなど、フォームごとに設定場所と対応する迷惑メール対策が異なります。AIへは、まず変更せずに次を調べてもらいます。
- フォームを作っているプラグイン名とバージョン
- 問い合わせフォームが置かれているURL
- 既に有効な迷惑メール対策
- 送信内容をWordPress内へ保存しているか
- 宿への通知先とお客様への自動返信の有無
- プライバシーポリシーに現在書かれている内容
管理画面のスクリーンショットを渡す場合は、メールアドレス、APIキー、問い合わせ本文、予約者情報を隠します。
対策は三つの層で考える
1. 人には見えにくい簡単な罠
人が通常入力しない項目を自動送信プログラムだけが埋めた場合に拒否する仕組みは、一般にハニーポットと呼ばれます。お客様の操作を増やしにくい一方、すべての自動送信を防げるわけではありません。
利用中のフォーム機能が正式に対応している場合に候補とし、出所不明のコードをテーマへ直接貼り付けないようにします。
2. 送信内容を判定するサービス
Akismetなどは、送信内容をもとに迷惑送信を判定します。フォームプラグインによっては追加設定が必要で、契約条件やデータの取り扱いも確認が必要です。
誤判定を見直せる画面があるか、正常な問い合わせを「迷惑ではない」と戻せるかも選定条件です。
3. ブラウザとサーバーの両方で確認する仕組み
Cloudflare TurnstileやGoogle reCAPTCHAなどは、ブラウザ側で発行した確認情報をサーバー側でも検証します。Cloudflareの公式資料では、TurnstileはCloudflareをCDNとして使っていないサイトでも利用できます。
画面に部品を表示しただけでは対策は完了しません。サーバー側の検証が行われていることを、対応プラグインの公式手順や検証環境で確認します。
Turnstileを選ぶときの確認点
Turnstileでは、公開して使うsitekeyと、外部へ見せてはいけないsecret keyを使います。secret keyを記事、チャット、Git、ブラウザ側のコードへ載せてはいけません。
導入前に次を確認します。
- 利用中のフォームプラグインが正式に対応しているか
- 本番と検証環境で設定を分けられるか
- 対象ドメインを制限できているか
- サーバー側でトークンを検証しているか
- 一時的な通信障害時に分かりやすく案内できるか
- スマートフォンや古い端末でも送信できるか
Cloudflare公式では、トークンは5分で失効し、一度しか検証できません。フォーム入力に時間がかかったときの再試行もテスト対象です。
禁止語とIPアドレス遮断は慎重に使う
特定の言葉や送信元を拒否する機能は便利ですが、短い一般語を登録すると本物の問い合わせも止めます。旅行者が利用する携帯回線や共有回線では、IPアドレスだけを根拠に広く拒否しないほうが安全です。
禁止語を使う場合は、追加理由、承認者、追加日、誤判定時の削除方法、見直し予定日を記録します。AIには候補の整理を依頼できますが、実際の登録は人が確認します。
正常な問い合わせを止めていないかテストする
変更前と変更後に、同じ試験を行います。
- PCから短い日本語の問い合わせを送る
- スマートフォンの携帯回線から送る
- 長めの文章を送る
- 宿側への通知を確認する
- お客様側の自動返信を確認する
- WordPress内に保存する場合は記録を確認する
- 迷惑メール判定画面も確認する
試験本文には「動作確認・返信不要」と入れ、実在するお客様の情報を使いません。送信できないときに備え、電話など別の連絡方法をページ上に案内します。エラー画面へ内部情報や詳しい判定理由を表示しません。
誤検知を発見する仕組みを残す
迷惑メール対策を導入しても、判定された内容を放置しないことが重要です。
- 導入直後の1週間は毎日確認する
- 安定後も定期的に迷惑判定を確認する
- 宿泊相談らしい内容は人が判断する
- 誤検知を戻せる機能があれば正しく戻す
- 保存期間を決め、不要な個人情報を残し続けない
Contact Form 7は、迷惑判定とメール送信失敗で似たエラー表示になる場合があります。表示だけで原因を断定せず、利用できるログとテスト結果を確認します。
プライバシーポリシーも確認する
外部の判定サービスを追加すると、フォーム送信時に扱われる情報や送信先が変わる可能性があります。利用サービスの公式プライバシー情報を確認し、必要に応じて自サイトのプライバシーポリシーを更新します。
WordPressにはプライバシーポリシーページを指定し、内容を編集する機能があります。ただし、自動生成された文面だけで十分とは限りません。自館で実際に使うフォーム、アクセス解析、迷惑メール対策に合わせて確認してください。法的な判断が必要な場合は専門家へ相談します。
AIに任せられる作業と、人が判断する作業
AIに任せやすいのは、使用中の機能と公式資料の調査、対策の比較、テスト項目の作成、個人情報を除いた件数集計、原因候補と戻し方の整理です。
外部サービスの契約、個人情報の取り扱い、secret keyの発行・保管、本番反映の承認、本物の問い合わせの判断と返信は人が行います。AIへWordPress管理者権限や外部サービスの全権限を最初から渡す必要はありません。
コピペで使えるAIへの依頼文
まず変更せずに調査する
宿のWordPress問い合わせフォームへ迷惑メールが増えています。
まだ設定を変更しないでください。
使用しているフォーム機能、現在有効な迷惑メール対策、
問い合わせの保存場所、正常送信の確認方法、公式資料を
読み取りだけで確認してください。
秘密情報、問い合わせ本文、メールアドレスは出力せず、
不明な項目は推測せず「不明」としてください。
対策を比較する
現在のフォーム構成に対して、ハニーポット、Akismet、
Cloudflare Turnstile、Google reCAPTCHAの候補を比較してください。
正常な問い合わせへの影響、対応状況、費用、個人情報、保守負担、
誤検知の確認方法、元へ戻す方法を公式資料で確認してください。
まだインストールや設定変更はしないでください。
一つだけ導入して検証する
承認した迷惑メール対策を、検証環境へ一つだけ設定してください。
変更前バックアップ、変更箇所、秘密情報の保存場所、戻し方を先に示してください。
設定後はPCとスマートフォンで正常送信、自動返信、宿側通知、
誤検知の確認方法を検証してください。本番環境は変更しないでください。
宿主さん向けチェックリスト
- [ ] 迷惑メールの件数と対象フォームを把握した
- [ ] フォーム機能と既存対策を確認した
- [ ] 変更前の正常送信結果を残した
- [ ] バックアップと戻し方を確認した
- [ ] 対策は一つずつ追加した
- [ ] secret keyを画面共有やAIの会話へ載せていない
- [ ] サーバー側の検証が有効か確認した
- [ ] PCとスマートフォンで試験した
- [ ] 宿側通知と自動返信を両方確認した
- [ ] 誤検知の確認担当と頻度を決めた
- [ ] プライバシーポリシーを確認した
- [ ] 電話などの代替連絡先を案内した
メールが届かない問題はWordPress問い合わせメールの送信・受信・認証を確認する方法を参照してください。設定変更前の判断は本番公開前チェックリスト、障害時の初動はWordPress障害発生後の最初の30分で確認できます。
参考にした情報
- Cloudflare公式:Turnstileの概要
- Cloudflare公式:Turnstileのサーバー側検証
- Google公式:reCAPTCHAレスポンスの検証
- Contact Form 7公式:迷惑メール対策
- Akismet公式:問い合わせフォームでの利用
- WordPress公式:プライバシー設定
まとめ
宿の問い合わせフォームでは、迷惑メールを減らすことと、本物の問い合わせを受け取ることを同時に守る必要があります。
現状を数え、使用中のフォームを確認し、バックアップを取り、対策を一つだけ追加します。その後、異なる端末と回線で正常送信を確認し、誤検知を定期的に見直します。AIは調査、比較、テスト、記録を助けられますが、秘密情報、個人情報、本物の問い合わせの判断は宿側で管理してください。

