Troubleshooting Contact Form 7: Solving Slow Submission and Endless Loading
Content
Contact Form 7 is a cornerstone for many WordPress websites, but few things are more frustrating than a form that spins endlessly or takes forever to submit. Based on extensive community reports, this guide will walk you through the most common causes and their solutions.
Why Is My Contact Form 7 So Slow or Not Submitting?
The symptoms are usually clear: you click the submit button, and the loading animation spins indefinitely, or the submission process takes an abnormally long time (3-7 seconds or more). In many cases, the form may work perfectly on a desktop but fail on a mobile device, or vice versa. The root cause is rarely the Contact Form 7 plugin itself, but rather an interaction with another part of your WordPress ecosystem.
Common Causes and Their Solutions
1. Caching and Content Delivery Networks (CDNs)
Caching plugins and services like Cloudflare, LiteSpeed Cache, and WP Rocket are designed to speed up your site. However, they can accidentally cache the dynamic JavaScript files and AJAX calls that Contact Form 7 uses to function, breaking the form submission process.
How to Fix It:
- Exclude CF7 Files: Configure your caching plugin or CDN to exclude the following paths from being cached:
Consult your specific caching plugin's documentation for instructions on how to set these exclusions./wp-content/plugins/contact-form-7/* /wp-json/contact-form-7/* - Test: After adding exclusions, clear all your site's cache (server, plugin, CDN, and browser) and test the form again.
2. Plugin and Theme Conflicts
This is the most frequent cause of form issues. Another plugin or your theme might be enqueuing a script incorrectly, causing a JavaScript error that halts the form's submission process.
How to Fix It:
- Conflict Test: Temporarily switch your theme to a default WordPress theme like Twenty Twenty-Four. Then, deactivate all plugins except for Contact Form 7. If the form works, reactivate your plugins one by one, testing the form after each, to identify the culprit.
- Check Common Culprits: Based on reports, pay special attention to page builders (Elementor), security plugins (Wordfence, CleanTalk), and other form-related plugins during your testing.
3. Bot Attacks and Server Load
Bots can repeatedly hit the refill and schema REST API endpoints (/wp-json/contact-form-7/v1/contact-forms/[ID]/refill), causing high server load and slowing down your entire site. This often manifests as very slow (7s+) GET requests to these endpoints.
How to Fix It:
- Security Plugin: Use a security plugin like Wordfence or CleanTalk to help block malicious bot traffic.
- reCAPTCHA: Implement reCAPTCHA (v2 or v3) within your Contact Form 7 forms to challenge bots.
4. Mobile-Specific Issues
If your form only fails on mobile devices, the cause is often different than a general submission failure.
How to Fix It:
- Check File Uploads: A common issue is that a mobile user is attempting to upload a file that is too large, causing the form to hang. Consider adding clearer file size limits to your form.
- Browser Autofill: Some users have reported conflicts with browser autofill features on mobile. While harder to test, ensuring your form fields have appropriate
autocompleteattributes can help.
5. Email Server Configuration
The form submission process includes sending an email. If your WordPress site has trouble communicating with your mail server (e.g., incorrect SMTP settings), it can cause a significant delay before the success message appears.
How to Fix It:
- Use an SMTP Plugin: Configure an SMTP plugin like WP Mail SMTP to ensure your emails are sent reliably through a proper mail service (like your hosting provider's SMTP, Gmail, or SendGrid), instead of relying on the default PHP
mail()function.
Advanced Debugging
If the above steps don't resolve the issue, you may need to dig deeper.
- Browser Console: Open your browser's developer tools (F12) and go to the "Console" tab. Submit the form and see if any red JavaScript error messages appear. These errors can directly point to the conflicting script.
- Check Your Hosting: Contact your hosting provider. They can often check server error logs for PHP errors or confirm if there are any server-level restrictions (like mod_security rules) blocking the AJAX requests.
By methodically working through these common issues, you can almost always identify and resolve the problem causing your Contact Form 7 delays and get your forms back to submitting quickly and reliably.
Related Support Threads Support
-
Form won’t send – infinite circle of death. Related to checkbox optionshttps://wordpress.org/support/topic/form-wont-send-infinite-circle-of-death-related-to-checkbox-options/
-
Contact Form Won’t Submithttps://wordpress.org/support/topic/contact-form-wont-submit-3/
-
After Cloudflare: Contact Form 7 does not submithttps://wordpress.org/support/topic/cloudflare-contact-form-7-stopped-sending-messages/
-
Contact form 7 long delay after submittinghttps://wordpress.org/support/topic/contact-form-7-long-delay-after-submitting-2/
-
Form Autofill not working when i enable cache in any speed pluginhttps://wordpress.org/support/topic/form-autofill-not-working-when-i-enable-cache-in-any-speed-plugin/
-
How do I debug form submission?https://wordpress.org/support/topic/how-do-i-debug-form-submission/
-
Contact form 7 will not submit on mobile deviceshttps://wordpress.org/support/topic/contact-form-7-will-not-submit-on-mobile-devices/
-
Contact Form 7 – Intermittent hanging on submithttps://wordpress.org/support/topic/contact-form-7-intermittent-hanging-on-submit/
-
CF7 does not send form on IOS mobilehttps://wordpress.org/support/topic/cf7-does-not-send-form-on-ios-mobile/
-
Why Contact Form 7 takes too long to submit?https://wordpress.org/support/topic/why-contact-form-7-takes-too-long/
-
The form submission failed on the mobile phone, but worked fine on the computer.https://wordpress.org/support/topic/the-form-submission-failed-on-the-mobile-phone-but-worked-fine-on-the-computer/
-
Refill issuehttps://wordpress.org/support/topic/refill-issue/
-
Sending too many requestshttps://wordpress.org/support/topic/sending-too-many-requests/
-
Download form keeps on spinninghttps://wordpress.org/support/topic/download-form-keeps-on-spinning/
-
“schema” and “refill” Contact Form 7 slow down the sitehttps://wordpress.org/support/topic/schema-and-refill-contact-form-7-slow-down-the-site/
-
My form autofill not working when i enable litespeed cachehttps://wordpress.org/support/topic/my-form-autofill-not-working-when-i-enable-litespeed-cache-2/
-
Contact page reloading after form submissionhttps://wordpress.org/support/topic/contact-page-reloading-after-form-submission/
-
contact form doesn’t load / no confirmationhttps://wordpress.org/support/topic/contakt-form-is-sent-but-doesnt-load/
-
Contact Form 7 not submitting when on mobilehttps://wordpress.org/support/topic/contact-form-7-not-submitting-when-on-mobile/
-
ddos contact form 7https://wordpress.org/support/topic/ddos-contact-form-7/
-
Contact form 7 is not workinghttps://wordpress.org/support/topic/contact-form-7-is-not-working-8/
-
not working maxlength in new updatehttps://wordpress.org/support/topic/not-working-maxlength-in-new-update/
-
Error Contact Form 7https://wordpress.org/support/topic/error-contact-form-7-6/
-
Delay in website for contact form 7 pluginhttps://wordpress.org/support/topic/delay-in-website-for-contact-form-7-plugin/
-
Form won’t submithttps://wordpress.org/support/topic/form-not-being-submitted-2/
-
Slow feedback with contact-formshttps://wordpress.org/support/topic/slow-feedback-with-contact-forms-2/