「WordPressでウェブサイトを構築していると、問い合わせフォームの設定は避けて通れない重要なポイントです。今回は、私が実際に経験した問い合わせフォームプラグイン「MW WP Form」とキャッシュ系プラグイン「W3 Total Cache」の相性問題について、その解決方法をシェアします。これを読めば、あなたも同じトラブルに悩まされることなく、スムーズなウェブサイト運営が可能になるでしょう。」
wordpressの問い合わせフォームは原則プラグインを使用しています
私は基本的にWordPressで作成する際の問い合わせフォームを自分でPHPなどで制作することはありません。
やはり、プラグインを利用することが便利だからです。
問い合わせフォームは非常にデリケートな部分であり、ミスがあるとお客様にフォームが届かないなどの大問題が発生することがあります。
誤字脱字などに比べても、より大きなトラブルに発展する可能性があります。
そのような理由から、私は問い合わせフォームのプラグインを利用することにしています。
そして、私がよく利用するプラグインはContact Form 7です。このプラグインは信頼性が高いと感じています。
統計データがあるわけではありませんが、WordPressを利用する際の問い合わせフォームプラグインの中で最も利用されているのではないでしょうか。
Contact Form 7の2つの問題点
Contact Form 7は安心して利用できる一方で、デメリットも存在します。一つ目のデメリットは「かな入力」のバリデーションがないことです。「カナ入力」のバリデーションは意外と重要です。なぜ重要かというと、これがあれば内ではスパムメールの件数が2桁くらい違うからです。WordPressを利用する際に最も多いのが海外からのスパムメールです。最近では戦争の影響かロシア系のキリル文字で書かれたスパムメールが多いが、ヨーロッパ諸国はすべて半角のため全角を打つことが難しい。この「カナ入力」のバリデーションがあれば、9割以上の確率で海外のスパムを抑えることができるのです。Contact Form 7にはそれがないのが残念です。
もう一つのデメリットは、デフォルトでは問い合わせ完了ページに遷移しないことです。つまり、1ページで簡潔に完了することになります。問い合わせフォームから完了まで1ページで終わるのは便利ですが、問い合わせ完了ページがないと不便な点もあります。例えば、Google アナリティクスなどでコンバージョンの計測ができないため、大事なコンバージョン計測分析が行えません。
今回の問い合わせフォームは顧客の要望によりMW WP Formのプラグインを利用
基本的にお客様から特段の指示がない限り、上記の2つのデメリットがあるものの、信頼性が高いContact Form 7を利用しています。しかし、先日対応したお客様は「かな入力」が必須項目であったため、Contact Form 7ではなくMW WP Formを選択しました。
MW WP Formも何度か利用したことがありますが、設定が面倒なため、あまり利用していません。このようなお客様の要望がない限り、私はContact Form 7を利用しています。
そして、作業は終わり、テストも行いましたが、問題はありませんでした。お客様側もテストを行い、特に問題はなかったとのことです。
1年経過して突然のお客さんから電話 メールフォームでトラブル発生
納品から1年が経過し、そのお客さんから突然電話がかかってきました。
なんと、スマホでの問い合わせフォームの入力がうまくいかないことが時々起こり、クレームになったとのこと。
早速、私が調査に取り掛かりました。まず、PCから問い合わせフォームを入力してみたところ、特に何も問題はありませんでした。
しかし、スマホで操作してみると、確かに何かおかしいことが起きていました。送信できたりできなかったりするのです。
私以外の社員にも同じことを試してもらったところ、同じように送信できたりできなかったりする結果となりました。
「PCではうまく問い合わせフォームから送信できるのに、スマホではできない場合があるなんて、こんなことあるのか」と非常に私は困惑しました。
もう10年近くWebに携わっていますが、本当にWebの世界は奥が深い。常にこのような問題が起こりうるのです。
最初は、私が追加したJavaScriptと問い合わせフォームが何か干渉しているのかと考えました。
もしそうだとすれば、PCでも送信できないはずですし、そもそも1年前の納品時のテストで引っかかるはずです。
レンタルサーバーのPHPもバージョンアップしているので、まさかPHPのバージョンのせいかと思いましたが、それでもおかしいです。
送信できたりできなかったりすることはないでしょう。もしPHPのバージョンアップのせいなら、すべて送信できないはずです。
他にも仕事があったので、仕事の合間に結局2日考えましたが、思い当たることはありませんでした。
MW WP Formからメールが届かないというのはプラグイン(W3 Total Cache)との相性の問題だった
そして、私は1年前と今と比べてPHPのバージョンアップ以外に何か変わったことがあるだろうかと考えました。そうだ、プラグインだ。
私がWordPressのプラグインページに行くと案の定、お客さんはプラグインを追加していました。
お客さんが勝手に良かれと思って数個のプラグインを追加していたのです。これだと思いました。
怪しいプラグインが2つありました。
一つはW3 Total Cacheというサイトの高速化を図るプラグインです。キャッシュとは、簡単に言えば「1回読み込んだデータを使い回し、2回目からはコピーを表示することで読み込みを速くする」という技術のことです。
このプラグインを利用すれば、サイトの表示が速くなります。
2つ目はreCAPTCHAのプラグインです。このプラグインは問い合わせフォームのスパム防止のためのものです。
今までの経験から、この2つが非常に怪しいと感じました。
スマホで操作した際、何となくリダイレクトしているような感覚がありました。
私は直感的にW3 Total Cacheが原因だろうと考えました。
そこで、お客さんにW3 Total Cacheを削除して欲しいとお願いしました。
やはり、私の直感は的中しました。お客さんからスマホでの問い合わせフォームのエラーがなくなったと連絡が来ました。
今回のトラブルから学んだこと
今回のトラブルは私にとっても大いに学びとなりました。
MW WP FormのバリデーションはPHPを用いて行われ、リダイレクトも行われます。
しかし、プラグインやサーバーの高速化を目的としたキャッシュ系のプラグインとは相性が悪いのです。
だから、MW WP Formのプラグインを利用する場合は、サーバーのキャッシュをオフにし、高速化のプラグインもできるだけ利用しない方が良いでしょう。