こんにちは、Dr.WordPressです。
Contact Form 7を使っていると、
「送信できるときと、できないときがある」
という少し厄介なトラブルが起こることがあります。
例えば、
「何回か試すと送信できる」
「昨日は送れたのに今日は送れない」
「自分のスマホでは送れるのに、別の人は送れない」
「たまにエラーが表示される」
といったケースです。
完全に送信できない場合と違い、テストしたときには正常に動くこともあるため、原因を見つけにくいのが特徴です。
今回は、Contact Form 7の送信が不安定なときに確認したい7つの原因をご紹介します。
① キャッシュが影響している
まず確認したいのがキャッシュです。
WordPressでは、
・キャッシュプラグイン
・レンタルサーバーのキャッシュ
・CDN
・ブラウザキャッシュ
などが利用されている場合があります。
古いJavaScriptやページデータが残っていることで、環境によってフォームの動作が変わるケースがあります。
「シークレットモードでは送信できる」
「別の端末では正常に動く」
という場合は、キャッシュの影響も確認してみましょう。
② JavaScriptエラーが発生している
Contact Form 7の送信処理にはJavaScriptも関係しています。
ページ内でJavaScriptエラーが発生していると、フォームの送信処理が正常に完了しない場合があります。
特に、
・独自のJavaScriptを追加している
・アニメーションを使用している
・テーマを更新した
・JavaScript関連の設定を変更した
といった場合は確認したいポイントです。
特定のページや特定のタイミングだけ送信できない場合にも、JavaScriptが関係している可能性があります。
③ 高速化・最適化設定が影響している
サイト表示を速くするための最適化機能が、Contact Form 7に影響する場合があります。
例えば、
・JavaScriptの遅延
・JavaScriptの圧縮
・ファイルの結合
・読み込み順序の変更
などです。
こうした設定によって、アクセスするタイミングや環境によって必要な処理が正常に動かなくなることがあります。
高速化プラグインを導入・設定変更してから不安定になった場合は確認してみましょう。
④ スパム対策が影響している
Contact Form 7では、スパム対策としてreCAPTCHAなどの仕組みを組み合わせているサイトもあります。
スパム判定や外部サービスとの通信が影響して、フォーム送信が正常に完了しないケースも考えられます。
例えば、
「特定の環境だけ失敗する」
「入力内容によって結果が変わる」
といった場合です。
スパム対策を導入している場合は、Contact Form 7だけでなく関連する設定も確認してみましょう。
⑤ セキュリティ設定やWAFが影響している
レンタルサーバーのWAFやセキュリティプラグインによって、フォームから送信される通信がブロックされることがあります。
特に、
・特定の文章を入力すると失敗する
・長い文章を入力すると失敗する
・特定の操作だけエラーになる
といった場合は確認したいポイントです。
フォーム自体が壊れているのではなく、送信内容によってセキュリティ機能の判定が変わっている可能性があります。
ただし、原因が分からない状態でWAFなどを無効にするのではなく、ログなどを確認しながら原因を切り分けましょう。
⑥ REST APIなどの通信が不安定になっている
Contact Form 7では、フォーム送信時にWordPress側との通信が行われます。
この通信が正常に完了しないと、
「送信中のまま止まる」
「送信失敗になる」
「もう一度試すと送信できる」
といった症状につながる場合があります。
Contact Form 7の設定だけを確認しても問題が見つからない場合は、WordPressとサーバー間の通信も確認したいポイントです。
⑦ サーバーの負荷や一時的なエラー
送信できたりできなかったりする場合は、サーバー側の状態も確認してみましょう。
例えば、
・一時的にサーバー負荷が高くなっている
・PHPの処理に時間がかかっている
・外部サービスとの通信に時間がかかっている
・一時的なサーバーエラーが発生している
といったケースです。
特に、
「時間帯によって送信できたりできなかったりする」
という場合は、サーバーの負荷やエラーログも確認したいところです。
「たまに送れない」は正常とは限らない
この症状で注意したいのが、
「今テストしたら送れたから大丈夫」
と判断してしまうことです。
フォームが10回中9回正常に送信できても、実際のお問い合わせで残り1回が発生すれば、問い合わせを取りこぼしてしまう可能性があります。
そのため、
・どの端末で失敗したのか
・どのブラウザだったのか
・どんな内容を入力したのか
・何時ごろ発生したのか
・エラーメッセージは表示されたのか
など、失敗したときの共通点を探すことが原因特定のポイントです。
Contact Form 7の送信が不安定なときの確認順序
STEP 1
別のブラウザや端末から送信してみる
STEP 2
キャッシュの影響を確認する
STEP 3
JavaScriptエラーが発生していないか確認する
STEP 4
高速化・JavaScript最適化設定を確認する
STEP 5
スパム対策やWAFを確認する
STEP 6
REST APIなどの通信状態を確認する
STEP 7
サーバーの負荷やエラーログを確認する
一度だけテストするのではなく、複数回・複数の環境で試して「失敗するときの条件」を探すと原因を切り分けやすくなります。
まとめ
Contact Form 7で送信できたりできなかったりする場合は、
① キャッシュ
② JavaScriptエラー
③ 高速化・最適化設定
④ スパム対策
⑤ セキュリティ設定やWAF
⑥ REST APIなどの通信
⑦ サーバーの負荷やエラー
などを確認してみましょう。
「完全に送れない」よりも「たまに送れない」という症状の方が、原因を見つけにくいことがあります。
正常に送れたかだけではなく、送信に失敗したときの条件を比較することが重要です。
Contact Form 7が直らない場合はご相談ください
Contact Form 7は、フォーム本体だけでなく、メール設定・迷惑メール対策・WordPress・サーバー側などが原因になっている場合があります。
設定を確認しても原因が分からない場合は、現在の症状から問題箇所を切り分けます。
1件1,000円で、原因の特定から対処方法までご案内します。
「送信できるときとできないときがある」「たまにエラーになる」など、症状だけ分かっている状態でも大丈夫です。
購入前のメッセージ相談もOKです。