確認画面をつけるプラグインContact Form 7 Multi-Step Formsの罠
※本ブログの目的は個人の備忘録であり、コードは参考用として掲載しています。
実際に使用される際は、ご自身の環境で十分に動作確認を行ってください。
コードの利用によって生じたいかなる問題についても責任を負いかねますので、あらかじめご了承ください。
WordPressでお問い合わせフォームといえば、長くContact Form 7が定番として使われています。
しかし、このプラグインには標準で確認画面がありません。
そのため代替手段としてよく紹介されるのが、確認画面を追加できる非公式プラグイン「Contact Form 7 Multi-Step Forms」です。
確かに導入は簡単で、手軽に確認画面を実装できるように見えます。ただし、このプラグインには注意すべき点があり、特に無料版には実運用上かなり厳しい制限があります。
無料版は4KBしか扱えない
プラグインのページを確認してみましょう。
Contact Form 7 Multi-Step Forms
プラグインの使い方などが簡単に紹介されています。
ここで注目したいのが最後のPRO版の案内です。ここに大切なことが書かれています。
PRO Version
If you expect to have a lot of data submitted through your multi-step forms, the Pro version may be able to help you better. The PRO version uses Session Storage so it is able to handle roughly 1,000 times more data for your multiple forms. In total it can handle about 5MB vs 4KB in the free version.
google翻訳してみると、以下のようなことが書かれています。
PRO版
複数ステップのフォームで大量のデータが送信されることが予想される場合は、Pro版のご利用が適している可能性があります。PRO版はセッションストレージを使用するため、複数のフォームで約1,000倍のデータ量を処理できます。合計で約5MBを処理できますが、無料版では4KBです。
ここで注目したい一文が、「合計で約5MBを処理できますが、無料版では4KBです。」というところです。
つまり、フォームの入力必須項目や問い合わせ内容などが多くなり、データ量が重くなると、送信できなくなります。
この「4KB」という数字は、文字数にするとおよそ1500〜2000文字ほどです。
日本語は1文字あたり3バイト前後を使用するため、実際にフォームの項目やhiddenフィールド、確認画面用のデータなどを含めると、すぐに上限に達してしまいます。
例えば、氏名・メール・電話番号・住所・お問い合わせ内容といった一般的な項目に加え、少し長めの問い合わせ文を入力すると、すぐ容量オーバーになり送信できない可能性が高くなります。
4KBというのは、確認画面を挟む構成のフォームとしては、実質的にほとんど余裕がないレベルです。
この4KBを超えると、確認画面へ進めないという問題が発生します。
仕様を知らずに導入してしまうと、ユーザーがフォームから長文を送ろうとした際に、送信できないという状況が起きてしまいます。
実際、Contact Form 7のデフォルトのテキストエリアは上限が2000文字に設定されていますが、この文字数に近い内容を入力すると、4KBの制限はほぼ確実に超えてしまいます。
その結果、気づかないうちに送信エラーが発生し、問い合わせ自体が届かず、クライアントにとって機会損失につながる可能性があります。
プラグイン導入前に確認を
便利な機能を手軽に追加できるプラグインは数多くありますが、仕様を確認せずに導入すると予期しないトラブルを招くことがあります。
特に非公式プラグインは、メジャーであっても本体との完全な互換性が保証されているわけではありません。
公式の説明を読み、無料版の制限や前提条件が自分のフォーム構成に合っているかどうか、必ずチェックすることが重要です。
まとめ
確認画面を追加したいだけであれば、「Contact Form 7 Multi-Step Forms」は魅力的に見えるかもしれません。
しかし無料版は4KBという厳しい制限があり、実際のサイト運用では制限を回避するためにPRO版前提の設計が必要になります。
プラグインを導入するときは、人気だからという理由だけで選ばず、必ず公式ドキュメントを確認して自分のサイトに適しているかどうかを見極めることが大切です。