Error en Contact Form 7 con reCAPTCHA v3: cómo solucionarlo paso a paso
Si tu formulario de Contact Form 7 (CF7) muestra el mensaje “Uno o más campos tienen un error. Por favor, revísalos e inténtalo de nuevo.” y no aparece ningún campo en rojo, es muy probable que el problema esté en la integración de Google reCAPTCHA, especialmente cuando usas la versión v3.
La buena noticia es que, en la mayoría de los casos, se soluciona ajustando la configuración o regenerando las claves. A continuación verás una guía práctica, probada en sitios WordPress reales, para diagnosticar y corregir el problema.
¿Quieres que revisemos tu formulario y lo dejemos funcionando al 100%?
Solicitar ayuda técnica para CF7Por qué reCAPTCHA v3 dispara el error aunque todo parezca correcto
reCAPTCHA v3 no usa el clásico “No soy un robot”, sino una puntuación de riesgo invisible. Cuando Google considera sospechosa una interacción, puede bloquear el envío sin mostrar un mensaje específico de reCAPTCHA. En Contact Form 7 esto se traduce en el error genérico de validación.
Señales típicas del problema
- El formulario parece enviar, pero no llega el correo ni aparece mensaje de éxito.
- En el panel de CF7 no se muestran errores claros.
- Al desactivar reCAPTCHA o cambiar a v2 checkbox, el formulario vuelve a funcionar.
- El fallo se presenta solo con ciertos usuarios o navegadores, por la puntuación de riesgo.
Solución rápida: lo que suele funcionar primero
1. Regenerar las claves de reCAPTCHA
- Entra al panel de reCAPTCHA de Google.
- Crea un nuevo site key y secret key para el dominio correcto.
- Usa v3 si quieres mantener la protección invisible; si hay muchos falsos positivos, valora v2 checkbox.
2. Reintegrar las claves en WordPress
- Entra a Contact → Integrations → reCAPTCHA.
- Elimina la integración actual y vuelve a configurarla.
- Pega la nueva Site Key y Secret Key y guarda cambios.
3. Limpiar cachés y probar de nuevo
- Vacía la caché de tu plugin (WP Rocket, LiteSpeed o similar).
- Limpia caché de hosting y CDN/Cloudflare.
- Prueba el formulario en modo incógnito o en otro navegador.
Si después de esto el formulario sigue fallando, pasa al diagnóstico completo.
Diagnóstico completo del error en Contact Form 7
A. Verifica dominio y versión de reCAPTCHA
- Comprueba que el dominio configurado en reCAPTCHA coincide (con o sin www, subdominios).
- Asegúrate de que la versión de reCAPTCHA en Google coincide con la configurada en CF7.
B. Revisa caché y optimización de scripts
La minificación, combinación o retraso de scripts puede romper la validación.
- Excluye de minificado y delay las URLs de reCAPTCHA:
- https://www.google.com/recaptcha/
- https://www.gstatic.com/recaptcha/
- y los scripts de Contact Form 7 (wpcf7.js).
- En Cloudflare, desactiva Rocket Loader durante las pruebas.
C. Usa la consola del navegador y el inspector de red
- Abre las herramientas de desarrollador y revisa errores de JavaScript.
- En la pestaña Network, localiza la petición a wp-json/contact-form-7/v1/contact-forms/{ID}/feedback.
- Si devuelve 200 OK con mail_sent: true, el problema está en la entrega del correo.
- Si devuelve 403 o 401, puede ser bloqueo del firewall, seguridad del servidor o reCAPTCHA.
- Si devuelve 500, revisa los logs del servidor.
D. Comprueba la REST API de WordPress
- Guarda de nuevo los enlaces permanentes en Ajustes → Enlaces permanentes.
- Asegúrate de que el hosting no bloquea /wp-json/.
- Si usas firewall (Wordfence, Sucuri u otro), crea reglas para permitir los endpoints de CF7.
E. Detecta plugins en conflicto
- Desactiva temporalmente plugins antispam extra o captchas adicionales.
- Prueba el formulario con solo Contact Form 7 y reCAPTCHA activos.
F. Cambia temporalmente a reCAPTCHA v2
Si tu audiencia tiene muchos falsos positivos con v3, prueba v2 checkbox para reducir bloqueos y dar un indicador visual claro a los usuarios.
Buenas prácticas de configuración en CF7
- Usa una única capa antispam principal (reCAPTCHA o honeypot, no todo a la vez).
- Mantén CF7 y sus extensiones siempre actualizadas.
- Después de cambios importantes, limpia cachés antes de probar.
- En tu firewall, permite la IP del servidor y los endpoints de la REST API.
¿Cuándo conviene cambiar de reCAPTCHA v3 a v2?
- Cuando usuarios legítimos reportan que el formulario “no envía” sin motivo aparente.
- Cuando tu audiencia usa redes corporativas, proxys o bloqueadores agresivos.
- Cuando necesitas un feedback visual (“No soy un robot”) para aumentar la confianza.
Ventajas de v3: invisible y experiencia de usuario más fluida. Ventajas de v2: control más explícito y menos falsos positivos en entornos complejos.
Alternativas y refuerzos antispam
- Akismet para reducir spam basado en contenido e IP.
- Honeypot ligero como segunda capa discreta.
- Turnstile de Cloudflare o hCaptcha con add-ons compatibles.
Checklist rápida para solucionar el error en CF7
- Regeneré site key y secret key en Google reCAPTCHA.
- Reintegré las claves en Contact Form 7.
- Limpié caché de plugin, hosting y CDN.
- Verifiqué que /wp-json/ no esté bloqueado.
- Excluí scripts de reCAPTCHA y CF7 de minificación y retraso.
- Probé el formulario sin plugins sospechosos.
- Si el problema continúa, probé con reCAPTCHA v2.
- Personalicé el mensaje de error para ofrecer un canal alternativo de contacto.
Mensajes recomendados en Contact Form 7
- Mensaje de éxito: “Gracias, tu mensaje fue enviado correctamente. Te responderemos en breve.”
- Error de validación: “No pudimos validar tu envío. Intenta de nuevo o contáctanos por otro canal.”
- Mensaje de spam: “Detuvimos el envío por seguridad. Intenta desde otro navegador o revisa bloqueadores.”
Errores frecuentes y cómo se corrigen
1. “Uno o más campos tienen un error” sin campos en rojo
Causa probable: reCAPTCHA v3 o REST API bloqueada. Solución: regenerar claves, revisar integración, limpiar caché y comprobar el endpoint /wp-json/.
2. “No se pudo enviar el mensaje. Inténtelo más tarde.”
Suele indicar un problema de servidor de correo o límites de envío. Configura SMTP, revisa SPF/DKIM y consulta los logs del servidor.
3. Funciona en local pero no en producción
Normalmente está relacionado con CDN, Cloudflare o reglas de seguridad del hosting. Excluye scripts de reCAPTCHA/CF7 de optimización y revisa el firewall.
4. Usuarios móviles no pueden enviar
Puede ser un score bajo de v3 o bloqueadores en el navegador móvil. Prueba con v2 y verifica extensiones y configuraciones de privacidad.
Conclusión
El mensaje genérico de Contact Form 7 “Uno o más campos tienen un error” sin campos marcados suele estar relacionado con reCAPTCHA v3 o con bloqueos en la REST API. En la mayoría de los casos se resuelve regenerando claves, revisando la integración, limpiando cachés y ajustando la configuración de seguridad.
Si tu audiencia sufre falsos positivos, cambiar a un sistema visible como reCAPTCHA v2 o Turnstile, combinado con una buena configuración SMTP y antispam, suele ofrecer el equilibrio ideal entre seguridad y usabilidad.
¿Formularios con errores en tu sitio WordPress?
Solicitar soporte para Contact Form 7