WordPress を静的化すると、お問い合わせフォームはどうなる?
公開 有限会社カルフ 栗山
WordPress のサイトを静的な HTML に書き出して公開すると、PHP の脆弱性やプラグインの不具合の影響を受けにくくなります。一方で、静的化を検討される方から最初に聞かれることが多いのが「お問い合わせフォームはどうなるのか」です。
結論から言うと、フォームはそのままでは動かなくなりますが、送信先を別に用意すれば使い続けられます。この記事では、その方法と、選ぶときに確認したいことを整理しました。
1. なぜフォームが動かなくなるのか
Contact Form 7 や MW WP Form などのフォームは、送信ボタンが押されると、入力内容をサーバ上の WordPress(PHP)が受け取り、入力内容の確認やメールの送信を行っています。
静的化した公開サーバには HTML や画像などのファイルしか置かず、PHP も動かしません。そのため、見た目のフォームは書き出されても、送信された内容を受け取る相手がいない状態になります。送信ボタンを押してもエラーになるか、何も起きません。
そこで、入力内容の受け取りとメール送信を、公開サーバとは別の場所に任せる必要があります。
2. 送信先を用意する方法
外部のフォームサービスを使う
フォームの受け付けとメール送信を提供しているサービスに、送信先を切り替える方法です。サービスによっては、フォームの HTML はそのまま使い、送信先の URL を変えるだけで済みます。
- 手軽に始められ、サーバの運用もいりません。
- 確認画面や自動返信の有無、送信できる件数、デザインの自由度はサービスによって大きく違います。
- 入力内容がそのサービスのサーバを通り、保存されることが多いため、どこで処理・保存されるのかを確認しておく必要があります。
Google フォームなどを埋め込む
フォーム全体を外部の画面に置き換える方法です。費用をかけずにすぐ使えます。
- 見た目をサイトに合わせにくく、確認画面やサンクスページを自由に作ることもできません。
- 回答はそのサービスのアカウントに保存されます。
- アンケートなど、社内向けや簡単な用途には向いていますが、企業サイトの問い合わせ窓口としては物足りないことがあります。
送信を受け付ける仕組みを自前で用意する
フォームの送信だけを受け付ける小さなプログラム(API)を、クラウドなどに用意する方法です。フォームの見た目や動きを WordPress の頃と同じように作れ、入力内容をどこで処理するかも自分で決められます。
ただし、作って終わりではありません。次の章で挙げる点を、すべて自分で考える必要があります。特にスパム対策と自動返信の悪用対策は、手を抜くとすぐに問題になります。
3. 選ぶときに確認したいこと
どの方法を選ぶ場合でも、WordPress のフォームで当たり前にできていたことが、静的化後もできるかを確認します。
使い勝手
- 確認画面:日本の企業サイトでは「入力 → 確認 → 完了」の流れが一般的です。海外のサービスには確認画面がないことが多いので注意が必要です。
- 入力チェックとエラー表示:必須項目の入力漏れや、メールアドレス・電話番号の形式の誤りを、どの項目が間違っているのか分かる形で表示できるか。
- サンクスページ:送信完了後に専用のページへ移動できるか。広告のコンバージョン計測にサンクスページを使っている場合は、ここが変わると計測が止まります。
- 見た目:今のサイトのデザインのまま使えるか。
メール
- 通知メールと自動返信:担当者への通知に加えて、送信した人への自動返信を送れるか。件名や本文を自社向けに変えられるか。
- メールが迷惑メールにならないか:自社のドメインから送る場合は、SPF・DKIM・DMARC の設定が必要です。設定が不十分だと、自動返信が相手の迷惑メールフォルダに入ってしまいます。
- 通知メールに「返信」で答えられるか:通知メールの返信先が送信者のアドレスになっていると、担当者がそのまま返事を書けます。
スパムと悪用への対策
- スパムの送信を防げるか:静的化しても、フォームがあればスパムは送られてきます。「私はロボットではありません」の確認を毎回出すと、普通に問い合わせたい人の手間も増えます。普段は目立たない形で確認し、怪しい送信のときだけ確認を強める仕組みが理想です。
- 自動返信が悪用されないか:他人のメールアドレスを入力してフォームを送信すると、その人に自動返信が届きます。これを繰り返すと、自動返信が迷惑メールの送信に使われてしまいます。宛先ごとの送信回数の制限や、自動返信に入力内容をそのまま載せないといった対策が必要です。
入力内容の扱い
- 入力内容がどこを通り、どこで処理されるか:お問い合わせには、氏名・メールアドレス・電話番号などの個人情報が含まれます。社内の規程や取引先との約束で、データを扱う場所に条件がある場合は、事前に確認が必要です。
- 入力内容が保存されるか:保存されていれば、そのサービスで問題が起きたときに流出する対象になります。メールで受け取れば十分であれば、保存しない仕組みのほうが安心です。
費用
- 月額の料金だけでなく、送信件数やフォームの数による上限も確認します。
- 自前で用意する場合は、サーバの費用に加えて、保守の手間も費用として考えます。
4. 切り替えるときの注意
- 今のフォームの項目と設定を控えておく:項目・必須かどうか・選択肢・通知先・自動返信の文面などです。プラグインの設定画面にしか記録がないことが多いため、静的化の前に書き出しておきます。
- 過去の問い合わせデータを整理する:プラグインによっては、送信内容が WordPress のデータベースに保存されています。必要なものは保管し、不要なものは削除します。
- 公開前に実際に送信して確かめる:通知メールと自動返信が届くか、迷惑メールに入らないか、エラー表示やサンクスページへの移動が正しく動くかを確認します。
- 広告や解析の計測を確かめる:サンクスページの URL や、送信完了の計測の仕方が変わっていないかを確認します。
5. 当社の取り組み
当サイトのお問い合わせフォームも、静的なページから外部の仕組みに送信する方式で動いています。
また、WordPress の静的化とあわせてお使いいただけるよう、静的サイト向けのフォーム送信の仕組みを準備しています。WordPress のフォームと同じように確認画面・エラー表示・自動返信・サンクスページに対応し、入力内容は国内(AWS 東京リージョン)で処理します。問い合わせの本文は保存せず、メールでお届けする設計です。準備が整いましたら、この技術メモでもご案内します。
「静的化したいが、フォームがあるので踏み切れない」という場合も、お気軽にご相談ください。