Drupal Webformで問い合わせ機能を完結させる方法
問い合わせフォームの改修を検討する際、「機能追加のたびにモジュールを増やす必要があるのでは」「確認画面や複数宛先の振り分けは外注しないと難しいのでは」といった懸念を持たれる企業のWeb担当者は少なくありません。
しかし、Drupal向けに広く利用されているコントリビュートモジュールである Webform は、こうした問い合わせ業務に必要な機能を追加開発なしで一通りカバーできる設計になっています。
本記事では、フォーム画面・確認画面・サンクス画面の遷移、複数宛先へのメール振り分け、条件分岐、スパム対策までを、Webform を中心にどこまで実現できるのかを整理します。フォーム改修を検討している企業や、外注コストの見直しを進めたい中小企業の担当者に向けて、内製化の判断材料としてご活用ください。
目次
Drupal Webform とは何か
Webform は、Drupal 上でフォームの作成・運用を行うためのコントリビュートモジュールです。Drupal コアには問い合わせ用のシンプルな Contact モジュールが標準搭載されていますが、Webform はそれに加えてインストールすることで、送信データの管理、メール通知、条件分岐、確認画面の制御など、問い合わせフォームで必要とされる機能群を利用できるようになります。
多くの企業サイトでは「問い合わせ用に別途プラグインを追加」「確認画面のために独自開発」といった構成が取られがちですが、Webform を正しく設計すれば、こうした追加コストの多くを削減できます。運用の責任範囲を一つのモジュールに集約できるため、保守面でも管理者側の工数が抑えられます。
問い合わせフォームに求められる標準的な機能
一般的に、企業サイトの問い合わせフォームには以下の機能が求められます。
- 入力フォーム(必須項目のバリデーション)
- 確認画面(入力内容の再確認)
- 送信完了画面(サンクスページ)
- 管理者宛の通知メール
- 送信者宛の自動返信メール
- 部署・問い合わせ種別ごとの宛先振り分け
- スパム対策(CAPTCHA など)
CAPTCHA などスパム対策の一部機能は別途コントリビュートモジュールとの連携が前提となりますが、それ以外はWebform単体の機能で対応可能です。順を追って解説します。
フォーム画面から確認画面までの構築
Webform では、フォームの設定画面から「Preview(確認画面)」を有効化するだけで、入力内容の確認ステップを追加できます。プレビューの表示位置、表示項目の選別、確認画面上のボタン文言もすべて管理画面から調整可能で、テンプレート改修を伴いません。ただし、この Preview 機能はあくまで入力内容の事前確認ステップとして機能するものであり、デザインを大きく作り込みたい場合にはテンプレート側の調整が別途必要になる点には留意してください。
さらに、「Confirmation(送信完了)」の設定では、以下の遷移パターンを選択できます。
- メッセージ表示(同一ページ内で完了通知)
- インライン表示(フォームを消して完了メッセージのみ)
- 別ページ遷移(サンクスページへのリダイレクト)
- 外部URLへのリダイレクト
サンクスページで計測タグを発火させたい場合は、別ページ遷移や外部URLリダイレクトを選択することで、Google タグマネージャや広告のコンバージョン計測とも連動しやすくなります。
複数宛先メール送信の設計
問い合わせフォームで工数がかかりやすいのが、問い合わせ種別ごとに担当部署へメールを振り分ける処理です。Webform では「Emails / Handlers」という設定領域で、複数のメール送信ハンドラを追加できます。
たとえば、以下のような設計が標準機能で実現できます。
- 「営業に関するお問い合わせ」を選択 → 営業部門のメーリングリストに送信
- 「採用に関するお問い合わせ」を選択 → 人事部門に送信
- すべての問い合わせ → 情報システム部門にも控えを送信
- 送信者本人 → 自動返信メールを受信
各ハンドラには条件(Conditions)を設定でき、選択されたラジオボタンやチェックボックスの値に応じて送信可否を制御できます。これにより、宛先ロジックを PHP や独自モジュールで実装する必要がなくなり、標準化された運用に落とし込めます。
条件分岐とフィールドの動的制御・スパム対策・権限設計
問い合わせ種別に応じて表示項目を切り替えたい、法人と個人で入力欄を変えたい、というケースも Webform 標準の「Conditional Logic」で対応可能です。特定のフィールドの値に応じて、他のフィールドを表示・非表示・必須化・任意化する制御が、管理画面から直感的に設定できます。ノーコードで条件分岐を組めるため、簡単な仕様変更であればWeb担当者側で完結できる点も、内製化のメリットです。
問い合わせフォームで避けて通れないのがスパム対策です。Webform 自体にはスパム対策機能は含まれていませんが、CAPTCHA モジュールや Honeypot モジュールといったコントリビュートモジュールと組み合わせることで、標準的なスパム対策を実現できます。これらは Drupal コアには含まれていないため別途インストールが必要ですが、設定自体は管理画面からチェックボックスひとつで有効化できるため、追加開発は不要です。
Webform の権限設計では、最上位管理者(サイト管理者)のみがフォーム構成を編集でき、部門担当者は送信データの閲覧のみ行う、といった責任分界を明確にできます。Drupal のロール・権限機能と組み合わせることで、フォームの構成変更権限と送信データの閲覧・エクスポート権限を分けて付与できるため、複数部署が関わるフォーム運用でも責任範囲を明確に切り分けた運用が可能です。
内製化による工数とコストへの影響
Webform を活用した内製化により、以下のような改善が期待できます。
- 仕様変更のたびに外注する必要がなくなり、調整の往復回数が減る
- フォーム改修のリードタイムが短縮され、キャンペーン施策への追随が容易になる
- 保守対象がDrupal本体とWebformに集約され、運用負荷が低減する
一方で、初期の設計段階では「どの機能をハンドラで実装するか」「どこまでを標準機能に寄せるか」といった設計項目が増えるため、最初の要件の洗い出しは重要です。ここを丁寧に行うことで、以降の運用が標準化され、担当者交代時の引き継ぎコストも抑えられます。
よくある質問
Q. Webform を利用するために追加ライセンスや有償モジュールは必要ですか?
Webform はオープンソースのコントリビュートモジュールとして無償で提供されており、追加ライセンス費用は発生しません。確認画面・複数宛先送信・条件分岐といった主要機能はすべて Webform 単体で利用可能です。ただし、CAPTCHA などのスパム対策機能を使う場合は、別途コントリビュートモジュールのインストールが必要です。
Q. 既存の問い合わせフォームから Webform への移行は難しいですか?
現行フォームの項目定義とメール送信ロジックを整理すれば、移行自体は標準的な設計項目の範囲内で対応可能です。ただし、独自開発された宛先振り分けやサンクスページの計測タグがある場合は、事前の要件整理をおすすめします。
Q. 部署ごとの担当者にフォームの管理権限を分けることはできますか?
Drupal のロール・権限機能と組み合わせることで、最上位管理者のみが構成変更を行い、部門担当者は送信データの閲覧・エクスポートのみを行う、といった責任範囲の分離が可能です。
LYZONが提供するWebサービス
Webに関するお悩みは、まずLYZONへ
構築・運用・AIまで、Webに関わる課題をワンストップで対応。まず何ができるかをご覧ください。
2024年入社。Webエンジニア
DCGが趣味。