目錄
快速答案:「Your submission failed because of a server error」多半不是表單壞掉,而是送出後的某個動作失敗:最常見是寄通知信失敗(SMTP)、快取外掛把安全驗證碼(nonce)快取住、或 reCAPTCHA 金鑰失效。先看後台的表單提交紀錄,再逐項排除。
為什麼會這樣 #
Elementor Pro 表單送出時會做三件事:驗證(nonce、reCAPTCHA)、儲存提交紀錄、執行動作(寄信、串 CRM 或試算表、跳轉)。任何一步丟出錯誤,前台都只顯示同一句通用的 server error,不會告訴你是哪一步。這也是為什麼客戶常說「什麼都沒改就壞了」——其實是寄信服務或快取規則變了。
怎麼處理 #
- 後台 Elementor → Submissions 看資料有沒有進來。如果根本沒有這個選單,到 Elementor → 設定 → 功能,把 Form Submissions 打開;沒開的話資料不會留底。
- 資料有進來但沒收到信:是寄信問題,照SMTP 那篇處理,並看 SMTP 外掛的郵件紀錄。
- 出現 nonce 錯誤(
nonce_failed、「安全驗證失敗」):是快取。先停用 LiteSpeed Cache 或 WP Rocket 測試,正常的話把表單所在頁面加入「不快取」清單再啟用。 - 有 reCAPTCHA:到 Elementor → 設定 → 整合,確認 site key 與 secret key 對應正確的網域和版本,v2 與 v3 不能混用。
- 表單有串 Google 試算表、CRM、WhatsApp 之類的第三方動作:先把動作拿掉只留 Email 測試,再一個一個加回去,找出是哪個串接掛了。
- 必填的下拉欄位(例如國家)確認每個選項都有值,空值也會讓送出失敗。
我們實際遇過的情況 #
一家電商的表單填完一律出現 server error,查下去是寄信設定有問題。調整 SMTP、再改用寄信服務之後,客戶回報「還是顯示錯誤,公司的信箱也沒有收到信件」,又再調了一輪,表單才順利寄得出去。這一案來回測了好幾趟,但線索從頭到尾都在同一條:表單報的是通用錯誤,真正壞掉的是寄信。
一個用 LiteSpeed Cache 的站,表單送出顯示 nonce_failed,把快取外掛關掉就正常了。另一個網站反映「表單收不到」,查後發現 Elementor 的 Form Submissions 根本沒開,資料沒留底只能靠信,信一漏名單就沒了;開啟後至少後台有紀錄可查。
什麼時候該找人 #
錯誤是在更新 Elementor Pro 或切換 PHP 版本之後才出現、表單有串金流或 CRM、或表單一直進大量亂碼資料(可能是被機器人打,先看垃圾表單那篇)。這幾種不是換個設定就好,需要看紀錄找根因。
WPTOOLBEAR網站工具熊