A very common Contact Form 7 issue is when the form:
-
Shows a spinning loader
-
Takes too long to submit
-
Never completes submission
-
Appears “stuck” after clicking Send
This is almost always caused by AJAX, JavaScript, or caching conflicts — not the form itself.
Let’s fix it properly.
🚨 Common Symptoms
-
Loader spins endlessly
-
No success or error message
-
Form submits only after page refresh
-
Works for some users but not others
-
Works in admin but not frontend
🔍 Why Contact Form 7 Gets Stuck
Main causes include:
-
JavaScript conflicts
-
Deferred or delayed JS loading
-
AJAX blocked by security plugins
-
reCAPTCHA scripts loading slowly
-
Cloudflare Rocket Loader issues
-
Heavy page builders
-
Hosting performance limitations
🔧 FIX 1 — Disable JavaScript Delay & Defer
Contact Form 7 relies on immediate JS execution.
Disable these settings in caching plugins:
-
Delay JavaScript execution
-
Defer JavaScript
-
Combine JavaScript files
-
Load JS asynchronously
Clear cache and test again.
🔧 FIX 2 — Disable Cloudflare Rocket Loader
Rocket Loader often breaks CF7 AJAX.
If you use Cloudflare:
-
Turn off Rocket Loader
-
Or exclude CF7 scripts from optimization
Test form submission after disabling.
🔧 FIX 3 — Check Browser Console for Errors
Open Developer Tools → Console tab.
Look for:
-
AJAX 403 or 500 errors
-
Blocked requests
-
JavaScript undefined errors
Any error here can break form submission.
🔧 FIX 4 — Exclude CF7 Scripts From Optimization
Exclude these scripts from minification/delay:
-
contact-form-7.js -
wpcf7 -
recaptcha -
google.com/recaptcha
Most cache plugins allow script exclusion.
🔧 FIX 5 — Disable Security Plugins Temporarily
Security plugins may block admin-ajax.php.
Test by disabling:
-
Wordfence
-
iThemes Security
-
All-in-One Security
-
Cloudflare WAF
If fixed, whitelist AJAX endpoints.
🔧 FIX 6 — Reduce Page Builder Complexity
Forms placed inside:
-
Tabs
-
Accordions
-
Popups
-
Hidden sections
…may load incorrectly.
Solution:
-
Place form in visible section
-
Avoid display:none on page load
🔧 FIX 7 — Test Without reCAPTCHA
reCAPTCHA scripts may delay submission.
Test by:
-
Temporarily disabling reCAPTCHA
-
Submitting the form
-
If faster, reconfigure or optimize reCAPTCHA
🔧 FIX 8 — Improve Hosting Performance
Slow hosting increases form delay.
Check:
-
PHP memory limit (256MB recommended)
-
PHP version (8.0 or higher)
-
Server response time
Shared hosting often causes delays.
🔧 FIX 9 — Update Everything
Outdated software causes conflicts.
Update:
-
WordPress core
-
Contact Form 7
-
Theme
-
Plugins
Always test after updating.
⭐ Final Thoughts
If Contact Form 7 is slow or stuck loading, it’s usually caused by JavaScript optimization, caching, or security conflicts — not the plugin itself.
Once you disable JS delays, whitelist CF7 scripts, and fix AJAX blocking, your forms will submit instantly again.
How to Get Started
Installing VPSUForm is easy:
From your WordPress dashboard, go to Plugins → Add New
Search for VPSUForm or Vform
Click Install and then Activate
Go to VPSUForm → Forms, click Add New, and start building!
