Una de las maneras de combatir el spam en los formularios de contacto es insertar un desafío captcha que los usuarios deben resolver antes de presionar el botón enviar.

¿Qué es un CAPTCHA? 

Son las siglas de Completely Automated Public Turing test to tell Computers and Humans Apart (prueba de Turing completamente automática y pública para diferenciar ordenadores de humanos). Se trata de una prueba desafío-respuesta utilizada en computación para determinar cuándo el usuario es o no humano. Wikipedia

La prueba consiste en que al usuario se le mostrara un conjunto de caracteres ya sea una imagen distorsionada, la pieza que encaja o una operación matemática sencilla que debe resolver.

Se «supone» que una máquina no es capaz de comprender e introducir este tipo de secuencias correctamente, por lo que solamente el humano podría hacerlo (salvo error en algunos casos).

¿Por qué insertar un captcha matemático en los formularios web?

La respuesta es sencilla, para evitar que los robots o spambots como también se les conoce usen los formularios para enviar información comercial no deseable lo que se conoce como SPAM, correos basura de publicidad que recibimos en nuestra bandeja de entrada de correo electrónico.

Típicamente muchas personas usan o recurren a el famoso reCAPTCHA de Google, pero seamos honestos no a todos les gusta el reCAPTCHA de Google, porque a veces da errores.

Como por ejemplo hay casos donde te indica que selecciones las imágenes donde aparezcan automóviles y luego de hacerlo la imagen se desvanece y vuelve aparecer y así sucesivamente.

error captcha
Típico captcha, error: figura se desvanece.

Es molesto y puedes pasar hasta 5 minutos intentando resolver el captcha, usar este captcha es arriesgarse a perder un futuro cliente.

Es un error que se presenta sobre todo en computadores de escritorios y tiene que ver al parecer porque tienes tu cuenta de Google abierta en el navegador que estés usando, por lo que si quieres lograr solucionar el captcha debes cerrar la sesión de tu cuenta de Google, borrar las cookies del navegador y volver a intentarlo.

Lee también: Que deben ofrecerte al registrar un dominio web

Pues bien, hacer todo eso para un usuario común que solo necesita comunicarse contigo, es molesto también, en este pequeño tutorial enfocado solamente a Contact Form 7 (CF7) el plugin más popular en este campo, aprenderás como insertar un captcha matemático en su formulario de contacto de su sitio web.

Actualización

Quiero informarte que a finales del mes de octubre, específicamente el 29 de octubre de 2018 Google actualizo la API de reCAPTCHA a v3 esta nueva versión es una increíble mejora si la comparamos con la v2.

Las características principales de reCAPTCHA v3:

  • Funciona en segundo plano. Por lo que los usuarios no necesitan ver una imagen o leer un texto borroso o incluso tener que marcar la casilla de verificación «No soy un robot» para enviar el formulario.
  • Puedes ejecutar reCAPTCHA tantas veces como desees con diferentes acciones en la misma página.

Google ha entendido que la v2 a pesar de estar disponible aún, interrumpía a los usuarios por lo que esta API v3 ya no afecta la conversión.

Las claves API para reCAPTCHA v3 son diferentes de las de v2; Las claves para v2 no funcionan con la API v3. Si planeas utilizar reCAPTCHA v3 debes volver a registrar sus sitios web para obtener nuevas claves para v3.

Mi conclusión de esta actualización, creo que reCAPTCHA V3 no es perfecto, pero solo el tiempo lo dirá.


Insertar un captcha matemático en CF7

Bien ahora pasando a lo importante, insertar un captcha matemático es muy sencillo de lo que parece, solo siga lo siguientes pasos a continuación:

Primero ubíquese en su Panel de administración WordPress, clic en Contacto > Formularios de Contacto si tiene varios formularios haga clic en el que desea donde aparezca el captcha para editarlo.

Con el cursor ubique y haga clic donde quiere que aparezca la pregunta de desafío, lo ideal es que aparezca antes del botón «Enviar» pero usted puede colocarla donde crea que es mejor.

Luego haga clic en el botón cuestionario como se muestra en la imagen siguiente:

editar formulario cf7 captcha matematico
Para este ejemplo he usado el formulario por defecto de CF7.

En la  ventana emergente que se abre tienes varios campos:

pop-up-cf7-captcha
CF7 usa el sistema de etiquetas para generar lo formularios.

En el campo Nombre puede dejar el predeterminado o simplemente cambiarlo por otro. Esto es para fines de identificación no se mostrara en el frontend.

Preguntas y Respuestas. Puedes realizar tanto preguntas como operaciones matemáticas.
En este ejemplo he usado solo las operaciones matemáticas siguiendo el formato adecuado del plugin.

Operación | Respuesta

uno + 2 =|3
5 + dos =|7
2 x cinco =|10

Como te muestro en el siguiente gif:

captcha-etiquetas-cf7
Opcional si desea agregar un Atributo ID o clase, el plugin te lo permite.

Insertado el desafío Guardas el formulario y actualizas la página donde lo estés implementando, pruébelo y verá que funciona bien.

Si deseas agregar otra etiqueta algo como un mensaje antes del desafío también puedes hacerlo.

Por ejemplo algo como; «Antes de presionar el botón enviar resuelve la siguiente operación matemática«.

Siempre hay uno que otro plugin en el repertorio de WordPress que puede hacer eso agregar un desafío captcha matemático en los formularios del sitio web.

El plugin de seguridad All In One WP Security te permite insertar un campo captcha en los formularios de comentarios lo cual es bueno.

Math Captcha es otro plugin que se encuentra también el repertorio de WP.

math-captcha-matematico

Te permite escoger entre varias opciones en que sección quieres que se muestre el captcha matemático; formularios de registro, formularios de comentarios, formularios de login y en los formularios que hayas creados con el plugin Contact Form 7.

Conclusión

Y eso es todo, muy fácil de implementar un captcha matemático en CF7 te ahorras la carga del script de reCAPTCHA de Google, y el porcentaje de efectividad contra el spam esta entre un 90 y 95% aproximadamente.

No coloques operaciones de solamente números 1+1 porque hay bots muy inteligentes que las resuelven fácilmente y te llegara mucho correo spam.

Coloca operaciones que contengan números y letras como en el ejemplo mostrado y tendrás buenos resultados.

Y como siempre, si tienes alguna duda no dudes en dejarla en los comentarios.

Similar Post