2026年10月10日

2026年10月10日

WordPressでお問い合わせフォームを設置する方法|Contact Form 7の設定・メール送信・スパム対策

WordPress にお問い合わせフォームを置くなら、フォームプラグインで項目とメール通知を設定し、固定ページに埋め込むのが基本の流れです。この記事では、無料で使える Contact Form 7 を例に、フォームの作成、メール設定、ページへの設置、届かないときの SMTP 設定、スパム対策、個人情報の扱いまでを順に説明します。最後に、公開前に確認しておきたいテスト項目もまとめます。

設置する前に決めておくこと

フォームは「置いて終わり」ではなく、届いたメールを誰がどう受け取るかまで決めておくと、公開後に慌てずに済みます。

  • 入力項目: 名前・メールアドレス・内容の3つが最小構成です。電話番号や会社名は、本当に必要なときだけ追加します。項目が多いほど入力をやめる人が増え、預かる個人情報も増えます。
  • 通知先のメールアドレス: 担当者個人のアドレスより、共有の受付用アドレスのほうが、担当が変わっても運用を続けやすくなります。
  • 自動返信の有無: 送信者に「受け付けました」と返すかどうか。返す場合は、返信までの目安や問い合わせ番号の扱いも決めておきます。
  • 個人情報の扱い: 何の目的で使い、どれくらい保管するか。プライバシーポリシーのページがまだ無ければ、フォームより先に用意します。

フォームプラグインの選び方

代表的な選択肢は次のとおりです(2026年10月現在)。機能の範囲や無料版と有料版の分け方は更新で変わるため、導入前に各プラグインの公式ページで確認してください。

  • Contact Form 7: 長く使われている定番の無料プラグインです。フォームをタグで記述する方式で、見た目の自由度が高い一方、ドラッグ操作の編集画面はありません。送信内容の保存は、同じ作者の Flamingo を追加すると管理画面に残せます。
  • WPForms(Lite 版): ドラッグ&ドロップでフォームを組み立てられます。無料版でも基本的な問い合わせフォームは作れますが、一部の機能は有料版向けです。
  • Snow Monkey Forms: 日本の開発者によるプラグインで、ブロックエディターでフォームを組み立て、入力内容の確認画面を挟む構成も作れます。

日本で広く使われてきた MW WP Form は開発終了が告知されています。これから設置するなら、更新が続いているプラグインを選んでください。以下では Contact Form 7 を例に進めます。

手順1: Contact Form 7 をインストールする

作業前に、サイトのバックアップを取っておきます。管理画面の「プラグイン」→「新規追加」で「Contact Form 7」を検索し、インストールして有効化します。有効化すると管理メニューに「お問い合わせ」が追加され、サンプルのフォームが1つ作られています(メニュー名は版や言語設定で変わることがあります)。

手順2: フォームの項目を作る

フォームの編集画面の「フォーム」タブに、入力欄を表すタグを並べます。サンプルを次のように書き換えると、名前・メールアドレス・件名・内容・同意チェックの構成になります。

<label> お名前(必須)
    [text* your-name autocomplete:name] </label>

<label> メールアドレス(必須)
    [email* your-email autocomplete:email] </label>

<label> 件名
    [text your-subject] </label>

<label> お問い合わせ内容(必須)
    [textarea* your-message] </label>

[acceptance your-consent] プライバシーポリシーに同意します [/acceptance]

[submit "送信する"]

タグ名の後ろの * が入力必須の印です。your-name などの部分は項目の名前で、次のメール設定で [your-name] のように呼び出します。ここを変えたらメール設定側も合わせて変えないと、メール本文に値が入りません。autocomplete を付けておくと、ブラウザーの自動入力が効きやすくなり、スマートフォンでの入力が楽になります。

<label> で入力欄を囲むのは、ラベルをクリックしたときに入力欄が選ばれるようにするためと、読み上げソフトに項目名を伝えるためです。見た目を整えるときも、ラベルは消さずに残してください。

手順3: 通知メールと自動返信を設定する

「メール」タブで、サイト管理者に届く通知メールを設定します。主な欄と設定の考え方は次のとおりです(画面の表記は版によって異なる場合があります)。

送信先:       info@example.com
送信元:       [_site_title] <wordpress@example.com>
題名:         [_site_title] お問い合わせ: [your-subject]
追加ヘッダー: Reply-To: [your-email]

メッセージ本文:
お名前: [your-name]
メールアドレス: [your-email]
件名: [your-subject]

[your-message]

つまずきやすいのは「送信元」です。ここに問い合わせた人のメールアドレス([your-email])を入れると、他人のドメインを名乗ってメールを送る形になり、迷惑メール扱いや受信拒否の原因になります。送信元はサイトと同じドメインのアドレスにして、問い合わせた人への返信先は「追加ヘッダー」の Reply-To で指定します。こうすると、受信したメールで「返信」を押せば問い合わせた人宛てになります。

自動返信を送る場合は、同じタブの「メール (2)」を有効にし、送信先を [your-email] にします。本文には受付の旨と返信の目安を書き、入力内容をそのまま全部載せるかどうかは慎重に決めてください。入力欄に第三者のアドレスを入れられると、その人に意図しないメールが届くためです。

手順4: 固定ページに設置する

フォームを保存すると、一覧画面にショートコードが表示されます。

エラー: コンタクトフォームが見つかりません。

の形で、id の部分は版によって数字だったり英数字の文字列だったりします。コピーして、お問い合わせ用の固定ページに貼り付けます。ブロックエディターでは「ショートコード」ブロックに貼るか、Contact Form 7 のブロックを挿入してフォームを選ぶ方法もあります。

固定ページを公開したら、グローバルメニューやフッターからリンクしておきます。サイトが HTTPS で表示されているかも確認してください。HTTP のままだと、入力内容が暗号化されずに送られます。

手順5: メールが届かないときは SMTP を設定する

フォームから送信すると「送信しました」と表示されるのにメールが届かない、という相談はとても多いです。WordPress は標準ではサーバーの PHP の仕組みでメールを送るため、サーバーの設定や受信側の迷惑メール判定によって、届かない・迷惑メールフォルダに入るといったことが起こります。

対策は、WP Mail SMTP などの SMTP プラグインで、自分のドメインのメールサーバーや外部の配信サービスを経由して送ることです。あわせて、送信に使うドメインに SPF・DKIM・DMARC が設定されているかを確認します。これらはドメインの DNS で設定するもので、手順はメールサーバーや配信サービスの案内に従ってください。

手順6: スパム対策を入れる

公開して数日から数週間で、機械的な迷惑送信が届き始めることがよくあります。Contact Form 7 には次のような対策があります。

  • reCAPTCHA(v3): 「インテグレーション」の画面で Google から取得したキーを登録すると有効になります。
  • Cloudflare Turnstile: 新しい版では連携機能が用意されています。対応状況は公式ドキュメントで確認してください。
  • Akismet との連携: Akismet を使っている場合、フォームタグに設定を加えて判定させる方法があります。
  • クイズ形式の項目: [quiz] タグで簡単な質問を出す方法もありますが、利用者の手間が増えます。

reCAPTCHA や Turnstile は、入力者の端末情報などを外部サービスに送ります。導入した場合は、そのことをプライバシーポリシーに記載してください。

個人情報とプライバシーポリシー

フォームで受け取るのは個人情報です。利用目的と問い合わせ窓口をプライバシーポリシーに書き、フォームの近くからリンクします。手順2の同意チェック([acceptance])は、チェックしないと送信できない仕組みです。

Flamingo などで送信内容を管理画面に保存する場合は、管理画面にアクセスできる人を必要最小限にし、不要になったデータを定期的に削除します。保存しない運用なら、受信したメールの保管場所と期間を決めておきます。

公開前のテスト項目

設定が終わったら、実際に送信して次の点を確認します。

  1. 通知メールが受付用アドレスに届き、迷惑メールフォルダに入っていない
  2. 本文に入力内容が正しく入っている(空欄の項目があれば手順2と手順3の項目名を見直す)
  3. 受信メールで「返信」を押すと、問い合わせた人のアドレス宛てになる
  4. 自動返信が送信者に届く
  5. 必須項目を空にしたとき、エラーが表示されて送信されない
  6. スマートフォンで表示が崩れず、入力しやすい

キャッシュ系のプラグインを使っている場合、フォームのページがキャッシュされると、送信時にエラーが出ることがあります。うまくいかないときは、フォームのページをキャッシュの対象から外して試してください。

まとめ

  • フォームを作る前に、項目・通知先・自動返信・個人情報の扱いを決める
  • Contact Form 7 ではフォームタグで項目を作り、メール設定で同じ項目名を呼び出す
  • 送信元はサイトと同じドメインにし、返信先は Reply-To で指定する
  • 届かないときは SMTP プラグインで送信経路を整え、SPF・DKIM・DMARC を確認する
  • スパム対策と、プライバシーポリシーへの記載をセットで行う
  • 公開前に、実際に送信してメールの中身と返信先まで確認する

お気軽にご相談ください

お見積りへ お問い合わせへ
▲