Why is my form in Webflow not submitting on my live environment but is submitting on my staging environment? I am receiving an internal server error (http code 500) and a CORS policy error message. How can I resolve this issue?

TL;DR
  • Add your live domain to the Form Submission Domain Whitelist in Project Settings > Forms and save changes.  
  • Ensure you're using Webflow’s default form handling without custom JS that overrides submission behavior.  
  • Verify your custom domain is correctly connected and published, and republish the site to all domains.  
  • Check form notification email settings for validity and remove any faulty redirect URLs temporarily to test.

You're encountering a 500 Internal Server Error and a CORS policy error when submitting a form in the live Webflow environment, but not in the staging site. This typically points to misconfigured form handling settings or domain-level mismatches.

​

1. Confirm Domain Hosting and Publish Settings

​

  • Check that your live domain is connected and published properly in Project Settings > Hosting.
  • Make sure both the root domain (yourdomain.com) and www version (www.yourdomain.com) are added and one is set as the Default Domain.
  • Republish your site to both staging and custom domains using the Publish menu.

​

2. Verify CORS-Safe Form Submission

​

  • Webflow’s native form submission is routed through Webflow servers and should be CORS-safe only if your domain is listed in your project settings.
  • Go to Project Settings > Forms and scroll down to the Form Submission Domain Whitelist.
    • Make sure your live domain (e.g., yourdomain.com and/or www.yourdomain.com) is listed here.
    • If not, add it manually and click Save Changes.

​

3. Avoid Custom Form Action or JS That Overrides Default Behavior

​

  • If you’ve introduced custom JavaScript that manually submits the form via fetch() or XMLHttpRequest, it could trigger CORS issues if:
    • You're pointing to an external API without proper CORS headers.
    • The backend endpoint doesn’t support your live domain.
  • Inspect your site's custom code in Project Settings > Custom Code and on the page itself to ensure it's using Webflow’s default form handling, or update your server to support CORS requests from your live domain.

​

4. Check Form Notification Settings

​

  • Go to Project Settings > Forms and ensure the form notification email is valid.
    • Invalid or empty email information here can result in a 500 error.
    • Re-enter a valid email and save.

​

5. Test on the Correct Domain

​

  • Webflow considers staging (e.g., yoursite.webflow.io) and live sites (e.g., yourdomain.com) as different environments.
  • If your form is working only on webflow.io, Webflow’s backend may not recognize your custom domain due to missing configuration.

​

6. Avoid Multiple Custom Redirects After Submit

​

  • Having multiple or malformed redirect rules or custom code in Form Settings > Redirect URL can also cause submission errors.
  • Remove the redirect temporarily and test the submission again.

​

Summary

​

Your live form submission issue is likely due to your custom domain not being listed in your Form Submission Domain Whitelist, or a CORS issue from overriding Webflow's default form behavior. Add your live domain to the form whitelist, ensure no 3rd-party overrides are causing CORS conflicts, and republish the site.

Rate this answer

Other Webflow Questions