Cómo medir cuánto spam te quita Turnstile en PrestaShop 8

Si tu PrestaShop 8 acumula registros de cuenta falsos, spam en el formulario de contacto o reseñas con URLs de phishing, el problema no es solo pararlo — es saber si lo que has puesto para pararlo funciona de verdad. Esta guía cubre las dos cosas: cómo desplegar Cloudflare Turnstile bien configurado y cómo medir, con los datos de tu propia tienda, cuánto spam te está quitando.

Por qué reCAPTCHA y el honeypot se quedan cortos

Las defensas clásicas se han degradado por tres vías. La primera: existen servicios de resolución de CAPTCHAs que operan con granjas de trabajo humano y cobran fracciones de céntimo por imagen — a ese precio, resolver CAPTCHAs a escala es trivial para cualquier actor que quiera hacer spam masivo. La segunda: el honeypot sigue filtrando a los bots más simples, pero los sofisticados detectan los campos ocultos por CSS y rellenan solo los visibles. La tercera: reCAPTCHA v3 con un umbral de puntuación exigente tiende a generar falsos positivos en clientes reales que navegan desde IPs compartidas de operadoras móviles — varios clientes legítimos salen a internet por la misma IP y la puntuación de todos se resiente.

Hay además un ángulo legal que en muchas tiendas pesa más que el técnico: con Schrems II y las directrices de las autoridades europeas de protección de datos, seguir usando reCAPTCHA obliga a documentar una base legal sólida para la transferencia de datos a EEUU. Turnstile declara no hacer tracking cruzado y procesa en edge europeo, lo que simplifica ese frente. Y el free tier de 1M de challenges mensuales cubre de sobra la escala de una tienda normal.

El despliegue correcto: 15 minutos de configuración

Crea el sitio en el dashboard de Cloudflare, obtén las dos claves (Site Key y Secret Key) e instala el módulo en el Back Office. La configuración que recomendamos como punto de partida:

  • Widget mode: Managed — Cloudflare decide si presentar challenge o no según sus señales. El badge visible actúa además como disuasión para bots simples.
  • Action on fail: Block — rechazar la petición si el token no es válido. Salvo en tiendas con audiencia muy técnica (bloqueadores agresivos, JS restringido), donde puede interesar un criterio más laxo.
  • API timeout con fail open: si la API de Cloudflare no responde en unos segundos, dejar pasar la petición — un problema de infraestructura de terceros no debe bloquear a tus clientes legítimos.
  • Logging activado: registrar todos los intentos con IP, user-agent y resultado. Sin esto, la parte de medición de esta guía es imposible.
  • Restricción de hostname: activada en el dashboard de Cloudflare — el token solo es válido si viene de tu dominio. Bloquea automáticamente los tokens reutilizados desde otros sitios.

Un beneficio colateral de retirar reCAPTCHA: su widget carga varios scripts de dominios de Google; el de Turnstile es un único script servido desde el CDN de Cloudflare, sensiblemente más ligero. No es el motivo para cambiar, pero se nota en las páginas con formulario.

Tu baseline: mide antes de cambiar (o usa el histórico)

Para saber cuánto spam te quita Turnstile necesitas saber cuánto tenías. Lo ideal es medir un periodo cerrado antes del cambio; si ya lo has instalado, reconstruye el baseline con el histórico. Qué contar, por canal:

  • Registros de cuenta nuevos por mes — y de ellos, cuántos son bots: emails de dominios desechables, patrones de nombre generados, cuentas sin ningún pedido ni actividad posterior.
  • Mensajes del formulario de contacto — cuántos son spam evidente (enlaces, texto generado, idiomas que no atiendes).
  • Reseñas de producto — cuántas llegan con URLs o texto automatizado.
  • Falsos positivos — quejas de clientes reales que no pudieron completar un formulario. Este contador casi siempre está a cero porque nadie lo mide: actívalo (un canal de soporte etiquetado basta).

Con el baseline hecho, la medición es directa: mismo recuento, mismo periodo de duración, después de activar el módulo. Compara canal a canal, no en agregado — el efecto puede ser muy distinto en registro que en reseñas.

Leer los logs: qué te dicen los error-codes

El módulo registra los error-codes de Cloudflare por cada verificación fallida, y esa distribución es el perfil de los bots que atacan tu tienda concreta:

  • invalid-input-response sin token: bots que ni siquiera intentan obtener un token válido — el spam de fuerza bruta de toda la vida.
  • hostname-mismatch: tokens obtenidos en otros sitios que también usan Turnstile e intentados contra el tuyo. La restricción de hostname los corta sin coste.
  • timeout-or-duplicate: bots que resuelven el challenge pero tardan demasiado en enviar, o que intentan reutilizar el mismo token varias veces.
  • invalid-input-response con challenge fallido: bots que lo intentan y no pasan las pruebas de Cloudflare.

La proporción entre estos cuatro varía de tienda a tienda — no hay una distribución «normal» que copiar. Lo útil es la tuya: si domina el hostname-mismatch, te están llegando campañas recicladas de otros sitios; si domina el challenge fallido, tienes atacantes insistiendo específicamente contra ti.

El límite honesto: lo que ningún CAPTCHA bloquea

Una parte del spam va a seguir pasando, y conviene saber cuál: bots que operan en navegadores reales con IPs residenciales son indistinguibles de usuarios humanos para cualquier sistema de verificación — Turnstile incluido. Si tras el despliegue sigues viendo un goteo de registros falsos, no es que el módulo esté mal configurado: es esa categoría.

Para ese resto, la herramienta es la detección de comportamiento posterior al registro: verificación de email activa, patrones de uso anómalos, análisis de actividad de las primeras horas. Turnstile no es la última línea de defensa — su función es eliminar el volumen de ruido que hace imposible trabajar en ese nivel de detalle.

Preguntas frecuentes

¿Cuánto spam bloquea Turnstile en una tienda PrestaShop?

Depende del perfil de bots que ataque tu tienda — por eso esta guía se centra en medirlo con tus propios datos: baseline por canal (registros, contacto, reseñas) antes del cambio y el mismo recuento después, más los error-codes del log del módulo.

¿Turnstile es gratis?

Sí para el uso de una tienda normal: el free tier de Cloudflare cubre 1M de challenges al mes. El módulo Zeyvro Turnstile es también gratuito y open source bajo licencia MIT.

¿Puede Turnstile bloquear a clientes reales?

Los falsos positivos son raros y suelen concentrarse en entornos de navegación muy restrictivos (JavaScript parcialmente bloqueado por extensiones de privacidad). Configura el timeout de la API en fail open y mide los falsos positivos con un canal de soporte etiquetado para detectarlos.

¿Turnstile encaja mejor con el RGPD que reCAPTCHA?

Turnstile declara no hacer tracking cruzado y procesa en edge europeo, lo que simplifica la base legal frente a reCAPTCHA, cuyo uso obliga a documentar la transferencia de datos a EEUU tras Schrems II. Para la evaluación formal, consulta con tu asesoría legal.

Descarga el módulo

Zeyvro Turnstile es gratis y open source bajo licencia MIT. Descarga directa, instalación de 30 segundos, configuración de 2 minutos, con el logging de error-codes que necesitas para la parte de medición de esta guía.

Qué incluye, qué esperar y cuándo no te hace falta: la ficha completa del módulo.

Ver Zeyvro Turnstile →

Zeyvro desarrolla módulos para PrestaShop 8 desde una tienda real en producción. Código sin ofuscar.

Captura ampliada
📖 Serie Parte 3 de 3
Cloudflare Turnstile en PrestaShop 8

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio