A 406 Not Acceptable error after form submission in Webflow typically points to issues with server responses not matching the accepted content types of the request or restrictive security filtering by the server or firewall.
1. Check Webflow’s Built-in Form Handling
- Webflow’s native form system handles submissions and email notifications directly.
- If you customized the form action (e.g., pointing to an external endpoint), Webflow no longer manages the form, and your external server is responsible for handling the request.
- If using Webflow’s native forms, a 406 error is unusual and may indicate server-side filtering on Webflow's infrastructure or third-party script conflicts.
2. Verify External Form Action Endpoints
- If your Webflow form submits to an external service (e.g., via custom
form action attributes), a 406 response usually means the server can’t generate a response in a format the client can accept. - Ensure:
- The server supports the content type expected (usually
application/json or text/html). - No strict Accept headers are being sent by custom scripts or browser plugins that the server can't satisfy.
3. Examine Firewall or Security Filters
- Some external servers or services (AWS WAF, Cloudflare, LiteSpeed ModSecurity, etc.) may return a 406 if:
- The request contains certain characters (like encoded HTML or JavaScript).
- The request appears suspicious due to spammy content or user-agent headers.
- Try removing or simplifying form input content (like test messages with no special characters) to identify if specific wording triggers the error.
4. Browser or Extension Interference
- Occasionally, browser extensions (like privacy filters or script blockers) interfere with form behavior.
- Test the form submission in an incognito window or disable extensions to rule out client-side issues.
5. Server-Side Code Misconfiguration
- If your form submits to a custom backend (e.g., a PHP, Node.js, or Python script), make sure:
- The response includes at least one valid
Content-Type header that matches what the browser accepts. - The server doesn’t reject requests from unexpected sources (check CORS settings if using JavaScript).
Summary
A 406 error after a Webflow form submission usually happens when the form sends data to an external server that refuses the request due to unsupported content types or security rules. Double-check any third-party endpoints, simplify message content, and ensure your server returns a compatible response format.