¿Te preocupa que el formulario de contacto, el registro o el checkout estén bloqueando clientes legítimos o permitiendo spam? Esta guía práctica y técnica aborda exactamente los Errores con reCAPTCHA y antispam en WordPress: diagnóstico rápido, correcciones concretas por plugin, configuración correcta de claves Google reCAPTCHA v3, mitigación de falsos positivos y alternativas fiables cuando reCAPTCHA falla.
Puntos clave: lo que debes saber en 1 minuto
- Comprueba las claves y dominios: errores por claves API mal configuradas son la causa más común. Verificar dominio y tipo de clave evita fallos inmediatos.
- Depura consola y red: buscar errores JS y respuestas 403/401 en la pestaña Network permite localizar carga de scripts o errores CSP.
- Ajusta umbral v3: valores de score demasiado altos causan falsos positivos; bajar umbral reduce bloqueos sin perder protección.
- Fallback antispam: implementar honeypot, limitación de tasas y Akismet como plan B evita pérdida de conversiones cuando reCAPTCHA falla.
- Prueba en staging: siempre replicar en entorno de pruebas con la misma configuración de dominio y plugins antes de desplegar.
Claves API incorrectas o dominio no registrado
Claves de sitio y secret equivocadas o asociadas a otro dominio provocan respuestas de verificación inválidas. Al registrar la clave en Google reCAPTCHA, es obligatorio incluir todos los dominios y subdominios (incluido el staging si se usa). Revisar la consola del servidor y las respuestas de la API (200 vs 400/401) confirma este error.
Script de reCAPTCHA que no carga por CSP o bloqueo de terceros
Políticas Content-Security-Policy estrictas o plugins de optimización que combinan/minifican scripts pueden impedir la carga de https://www.google.com/recaptcha/api.js o https://www.google.com/recaptcha/api.js?render=. Error típico: "Failed to load resource" en la consola y campos de formulario que no muestran el widget.
Conflictos JavaScript con otros plugins o temas
Funciones globales sobrescritas, jQuery en conflicto o scripts que alteran el DOM del formulario son frecuentes. Resultado: el token no se genera o no se añade al envío del formulario.
Falsos positivos con reCAPTCHA v3 (score-based)
reCAPTCHA v3 devuelve un score (0.0 a 1.0). Umbrales agresivos (p. ej. 0.9) pueden bloquear usuarios legítimos. Además, tráfico corporativo o navegadores con extensiones pueden bajar el score.
Accesibilidad y usabilidad (usuarios bloqueados)
reCAPTCHA v2 invisible o v3 pueden no ofrecer alternativas accesibles. Usuarios con navegadores antiguos, conexiones corporativas o restricciones regionales (bloqueo de Google) quedan bloqueados.
Cómo solucionar incompatibilidades entre plugins y reCAPTCHA
Detectar el plugin en conflicto con pruebas A/B
- Desactivar todos los plugins excepto el formulario y reCAPTCHA. Si funciona, reactivar por lotes hasta reproducir el fallo.
- Registrar los pasos y versiones.
Depurar consola, red y respuestas de la API
- Revisar la consola del navegador para errores JS (TypeError, ReferenceError) y la pestaña Network para ver llamadas a google.com/recaptcha.
- Verificar respuestas JSON: si la verificación remota devuelve success: false, revisar la razón en "error-codes".
Ajustes de optimización y carga asíncrona
- Evitar combinadores que muevan scripts de reCAPTCHA al footer sin render; usar carga asíncrona oficial cuando esté disponible.
- Para v3 usar render=site_key y grecaptcha.execute en el momento correcto (antes del submit).
- Contact Form 7: comprobar que la extensión de reCAPTCHA esté actualizada y que no haya shortcode duplicado. Si existe conflicto, usar integración manual agregando grecaptcha.execute en el envío. Más información: Contact Form 7.
- WPForms: utilizar la opción nativa de reCAPTCHA v2/v3 desde los ajustes y evitar plugins de minificación que modifiquen el hook wp_footer.
- Gravity Forms: usar add-ons oficiales o gform_pre_submission para inyectar token si hay conflicto con AJAX.
Snippet para verificar token en el servidor (PHP)
$token = $_POST['g-recaptcha-response'] ?? '';
$secret = 'SECRET_KEY';
$response = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', array(
'body' => array('secret' => $secret, 'response' => $token)
));
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
if (empty($data['success']) || $data['success'] !== true) {
// Log y respuesta de error controlada
}

Configurar correctamente claves Google reCAPTCHA v3
Registrar sitio y elegir tipo (v2 vs v3 vs Enterprise)
- v2: widget visible (checkbox) o invisible; útil si se necesita interacción clara del usuario.
- v3: score-based, mejor para UX sin interrupciones pero requiere lógica de umbral y monitoreo.
- Enterprise: recomendado para sitios con alto volumen y requisitos de cumplimiento.
Registrar dominio exacto (sin http/https) y subdominios en la consola de Google. Para entornos staging incluir el dominio de pruebas o usar claves separadas.
Referencias: Documentación oficial de reCAPTCHA.
- Empezar con umbral conservador (0.3-0.5). Monitorear y ajustar en 1-2 semanas.
- Registrar eventos: rechazos, false positives, tasas de conversión antes/después.
Asegurar intercambio de claves y secretos en el servidor
- Guardar secret en variables de entorno o settings del WP configurados como private. No exponer secret en el front-end.
Incluir dominios alternativos y mobile
- Incluir tanto dominio www como sin www y servicios de CDN o subdominios usados para formularios embebidos.
Pruebas en staging y rollback seguro
- Mantener claves de staging diferentes e idénticas políticas CSP. Desplegar cambios con feature flag para revertir rápido si se detectan bloqueos.
ReCAPTCHA bloquea usuarios legítimos: diagnóstico y solución
Analizar logs y métricas antes de ajustar
- Revisar logs de verificación (server-side) y analytics para identificar patrones: IPs, países, user agents.
- Monitorizar la tasa de rechazados por endpoint y hora del día.
Ajustar umbral y añadir reglas de excepción
- Reducir umbral v3 gradualmente y permitir transacciones con score bajo si provienen de sesiones autenticadas o con historial previo.
- Implementar lista blanca basada en IPs o en cabeceras verificadas solo tras análisis de riesgo.
- Si reCAPTCHA falla o no responde, mostrar reintento con checkbox v2 o enviar un email de verificación post-submission.
- Forzar paso CAPTCHA para usuarios con comportamiento sospechoso pero ofrecer alternativa accesible (p. ej. challenge de audio).
Solución técnica rápida cuando el checkout se bloquea
- Temporarily desactivar la verificación en endpoints críticos (checkout) mientras se investiga, y aplicar otras medidas (rate limit, honeypot) para mitigar riesgo.
ReCAPTCHA y WooCommerce: problemas en proceso de pago
Checkout bloqueado: causas y detección
- Error común: token no incluido en envío AJAX del checkout. En consola, el request al endpoint de pago muestra falta de g-recaptcha-response.
- Plugins de cache que sirven páginas sin token dinámico pueden causar revocación.
Integración correcta con checkout y sesiones
- Ejecutar grecaptcha.execute justo antes de crear la orden y pasar el token a la petición create_order.
- Para pagos por tarjeta, validar token server-side antes de procesar el cargo.
Inicio de sesión / registro bloqueado
- Usuarios que intentan registrarse desde redes corporativas o con bloqueo de servicios de Google pueden fallar. Ofrecer registro alternativo (email verification) como respaldo.
Compatibilidad con pasarelas de pago y plugins de suscripción
- Revisar hooks y prioridad de ejecución: si un plugin intercepta el submit y cancela envío, integrar la verificación token dentro del flujo del plugin.
Alternativas antispam y fallback cuando reCAPTCHA falla
Matriz comparativa reCAPTCHA v2 vs v3 vs alternativas
| Tecnología |
UX |
Robustez contra bots avanzados |
Privacidad / GDPR |
Coste |
Uso recomendado |
| reCAPTCHA v2 (checkbox) |
Interactivo, claro |
Alto |
Datos a Google, necesita aviso |
Gratis |
Formularios sensibles con accesibilidad |
| reCAPTCHA v3 (score) |
Transparente |
Medio-Alto (depende de configuración) |
Datos a Google, requiere evaluación GDPR |
Gratis |
Sitios con volumen y buenas reglas de score |
| Cloudflare Turnstile |
Muy buena UX |
Medio |
Menos datos a terceros, mejor privacidad |
Gratis |
Alternativa para privacidad-consciente |
| Honeypot + Akismet |
Invisible para usuario |
Medio |
Local, cumple mejor GDPR |
Akismet de pago para negocios |
Pequeños sitios y fallback |
| WAF / rate limit |
N/A |
Alto |
Depende proveedor |
Variable |
Protege capa de aplicación y DDoS |
Técnicas complementarias (fallbacks)
- Honeypot: campo oculto que bots llenan; bajo impacto UX.
- Rate limiting: bloqueo temporal por IP o por endpoint para evitar abusos.
- Heurísticas server-side: checks de tiempo de llenado, coincidencia de headers, fingerprinting.
- Akismet: buena para comentarios y formularios, revisar cuota para uso comercial.
Implementación recomendada (matriz de decisión)
- Sitio B2B con datos sensibles: reCAPTCHA Enterprise + WAF + lista blanca IPs.
- Tienda WooCommerce con conversiones críticas: reCAPTCHA v3 (bajo umbral) + honeypot + fallback visible (v2) en checkout si falla.
- Blog o lead gen pequeño: Honeypot + Akismet y monitorización.
Checklist de depuración reCAPTCHA
- 🔎 Paso 1 → Verificar claves y dominios en Google.
- 🖥️ Paso 2 → Revisar consola JS y pestaña Network.
- ⚙️ Paso 3 → Desactivar plugins en conflicto y probar por lotes.
- 🧪 Paso 4 → Probar umbral v3 y ajustar logs.
- ✅ Paso 5 → Implementar fallback (honeypot / v2) y monitorizar.
Ventajas, riesgos y errores comunes
Beneficios / cuándo aplicar ✅
- reCAPTCHA v3 mejora UX al no interrumpir al usuario y es adecuado para sitios con volumen y capacidad de analizar scores.
- Soluciones combinadas (WAF + honeypot + rate limit) reducen la dependencia de un único sistema anti-bot.
Errores que debes evitar / riesgos ⚠️
- No testar cambios en staging: despliegues directos causan bloqueos en producción.
- Umbral v3 demasiado alto sin monitorización: pérdida de conversiones.
- Depender únicamente de Google reCAPTCHA sin alternativas de fallback y salvaguardas de accesibilidad.
Preguntas frecuentes
¿Por qué reCAPTCHA deja de funcionar de repente?
Generalmente por cambios en claves, dominio no incluido, bloqueo de scripts por CSP o conflictos JavaScript tras actualización de plugins o tema.
¿Cómo se reduce el número de falsos positivos con reCAPTCHA v3?
Bajando gradualmente el umbral de score, registrando eventos y aplicando reglas basadas en contexto (ej. sesiones autenticadas o historial del usuario).
¿Se puede usar reCAPTCHA sin violar GDPR?
Sí, pero es necesario documentar el uso, incluir la política de privacidad y, según caso, evaluar bases legales y ocultar datos sensibles. Revisión recomendada con asesoría legal.
¿Qué alternativa es mejor a reCAPTCHA si se quiere privacidad?
Cloudflare Turnstile es una alternativa con menor dependencia de Google; también se pueden combinar honeypot y WAF.
¿Cómo verificar el token reCAPTCHA en PHP en WordPress?
Usar wp_remote_post a https://www.google.com/recaptcha/api/siteverify con secret y token, luego validar success y score (para v3).
¿Qué hacer si WooCommerce bloquea pagos por reCAPTCHA?
Desactivar temporalmente la verificación en checkout, aplicar honeypot y revisar la implementación del token en el flujo de pago. Después, corregir el hook donde se ejecuta grecaptcha.execute.
Sí, es más robusto contra bots básicos y más claro para usuarios con problemas de compatibilidad o extensiones.
Conclusión
La gestión de los Errores con reCAPTCHA y antispam en WordPress requiere un enfoque técnico y práctico: diagnosticar con consola y logs, probar cambios en staging, ajustar umbrales y preparar fallbacks. La combinación correcta de reCAPTCHA (o alternativa), honeypot, limitación de tasa y WAF ofrece la mejor protección sin sacrificar conversiones.
Siguientes acciones
- Verificar hoy las claves en la consola de Google y los dominios registrados.
- Ejecutar una prueba de conflicto de plugins en staging y revisar consola Network/JS.
- Implementar un fallback (honeypot o v2 visible) en endpoints críticos y monitorizar resultados.