コンタクトフォーム7
ご入力内容に不備があります。
ご確認のうえ送信ください。
フォーム構築に WordPress + CF7 を採用する背景
これまで利用してきたPOST-MAILは有償化となり、TransmitMailについては更新が止まっているため、フォームシステムを見直しました。
静的ページに導入でき、デザインの自由度が高く、信頼性のあるフォームシステムは、現在では有料サービスが前提となりつつあります。
加えて、昨今では迷惑メール対策の強化により、従来の実装では正規メールが迷惑メール扱いされる、または大量のスパムが届くなどの問題が発生しやすくなっており、これらの対策が必須になるかと思います。
こうした状況を踏まえ、フロントエンド〜バックエンドのサポートが得られない場合でも対応しやすいContact Form 7(CF7)を利用した WordPress 実装が現実的と判断しました。LPや静的ページのフォームに近づけるため、ブログ機能などの余分な要素は出力させず、高速化を行っています。
WordPress + CF7 のメリット
- 導入・利用が無料。実装費用のみで構築が可能
- デザインの自由度が高い
- プラグインにより、スパム対策や機能追加を低コストで実装可能
- 送信メールが迷惑メール扱いとなる問題も対策がしやすい
WordPress + CF7 のデメリット
- WordPress構築になるためオーバースペックになる
- 一部、CF7の仕様に制限がある
- 利用者が多く、攻撃対象になりやすい
- 標準機能ではログが残らないため、送信が失敗した場合、送れていたのかどうかの検証が出来ない
- WordPress本体とあわせて、プラグイン更新などの保守負担が発生する
動作確認環境(2025年8月10日現在)
- Contact Form 7 バージョン: 6.1.1
- WordPress のバージョン: 6.8.2
- 必須 PHP バージョン: 7.4以上
- JavaScriptが有効なブラウザ環境
- 主要ブラウザの最新の3バージョン、Safari・iOSは16.4以上
追加実装の詳細
プラグイン対応
- 【標準対応】 Botによるフォーム送信対策/Simple Cloudflare Turnstileプラグイン
※reCAPTCHAも選択可 - 【標準対応】 メール配信の信頼性向上(SMTP送信)/WP Mail SMTPプラグイン
パッケージスクリプト
- 【標準対応】 セレクトボックスのデザインカスタマイズ
- 【標準対応】 郵便番号による住所検索
- 【標準対応】 エラーメッセージの個別出力
- 【標準対応】 重複クリック送信の防止
- 【オプション対応】 送信時のエラーをページの上部に一覧表示&スクロール
- 【オプション対応】 ファイル添付ボタンのデザインのカスタマイズ
- 【オプション対応】 ドラック&ドロップでファイルアップロード
独自機能追加
- 【標準対応】 スパムメール対策(ハニーポット)
- 【標準対応】 フォームに不必要なWordPressの出力コードの削除等によるパフォーマンス向上(デザインにより変動します)
- 【標準対応】 axe DevToolsによるアクセシビリティー・チェックで問題がないことを確認
- 【標準対応】 自動返信メールを悪用したスパム送信の抑止(※1)
- 【オプション対応】 送信完了画面(サンクスページ)の設置
(※1)問い合わせの際の自動返信メールを悪用し、無作為なメールアドレスで送信することで、スパムメールの踏み台にされる被害が発生しています。中にはリンクを仕込んで悪意のあるサイトへ誘導し、マルウエアに感染させるケースもあり、コーポレートサイトでは信用問題につながる恐れがあります。
この対策として、同一IPまたは同一メールアドレスから短時間に連続送信された場合、自動返信メールのみ停止する処理を標準で追加しています(連続送信は3通まで、その後10分間の送信制限)。
ただし、IPアドレスとメールアドレスの両方を1送信ごとに書き換える手口の場合、対策は極めて困難です。
また、学校や会社などの共通ネットワークから、まとまった送信が想定される場合はこの追加機能によって自動返信メールが届かなくなる可能性があります。
さらなる対策として、「お問い合わせ詳細」などのテキストエリアの入力は自動返信メールに含めないことでスパムの踏み台となるリスクを軽減できます。これはテキストエリアにURLを仕込んで悪意のあるサイトに誘導する手口でも、自動返信メールに出力させないことで、悪用者の目的達成を食い止める方法です。
お名前、住所などにURLを入力される可能性もありますが、誤検知のリスクが出てくるため、必要に応じて個別に対策を検討する形がよいかと思います。
悪用行為を完全に防ぐことは難しいですが、一般的なCF7のフォームよりスパム攻撃に手間がかかり、攻撃してもメリットが薄い形に落とし込むことが現実的な回避策になるかと思います。
慣習的な要素も考慮する必要がありますが、上記のリスクを懸念される場合は、自動返信メールを送信しない(CF7推奨設定)で統一してしまうのも一つの方法です。
CF7非対応の機能
- 確認画面の設置
- 半角↔全角自動変換、ハイフンの自動処理
- 即時バリデーション
- エラーメッセージの複数表示(入力エリア1つに対してエラーは1つまで)
- ファイルアップロードの制限(セキュリティの観点から画像のみ対応とし、一括アップロードは非対応とさせていただきます。)
運用・管理・補足など
- デザインはサンプルですのでカスタマイズ可能です。
- WordPress本体のセキュリティについては、案件に応じて別途対策をご検討ください。
- フォーム以外でWP本体をご利用になる場合はご相談ください。
エラーメッセージの表示デザインについて
- エラーメッセージはコンテンツの高さに影響しないデザインを推奨いたします。他の要素と重ならないよう、エラー表示分のスペースを確保してください。
- 文量はSPでの表示をふまえ20文字程度になります。
- 必須項目のエラーメッセージは1つです。複数の出し分けは不可となります。
- エラーメッセージの文量が多く複数行になってしまう場合は、高さを確保する実装も可能ですが、Safariなどのwebkit系ブラウザでエラー出力時や送信時にガタつきが発生します。これはCF7の仕様上避けられないため、ご了承のうえデザインをご設計ください。
デモサイトについての補足
- デモサイトではサーバーの都合上、SPF最適化、SMTP送信のみ設定しています。