En este breve tutorial veremos una alternativa mucho más ligera y simple que Akismet, el plugin antispam que WordPress lleva por defecto.
¿Qué es Akismet?
Akismet es un plugin antispam para WordPress, especialmente pensado para evitar que te llenen los comentarios con publicidad de casinos, cartuchos de tinta y medicamentos varios.
A pesar que Akismet es un plugin súper recomendado, que vale mucho la pena, y que es de los propios desarrolladores de WordPress, tiene algún punto flaco.
Para empezar, necesitas tener una cuenta en WordPress.com. Ya sé que es relativamente fácil abrir una, pero muchos usuarios no quieren tener que abrir una cuenta sólo para usar un plugin. Además cuando vas a usarlo parece que se tenga que pagar (aunque es gratuito), pero lo prueban por si cuela. Y por otro lado, es un plugin que ocupa bastantes recursos por hacer una función tan simple.
¿Cómo se evita el SPAM?
Básicamente, hay tres caminos principales: Algoritmo, captcha y honeypot:
El primero es a través de un algoritmo que "valore" ese comentario. ¿Demasiado corto? ¿Demasiado largo? ¿Demasiados enlaces? ¿Una IP russa? ¿Palabras como "viagra, cialis, casino o cartucho"? Todo es sospechoso.
La segunda forma es a través de un Captcha o reCaptcha de turno. Esto consiste en que el usuario debe pasar un examen de selectividad que cada vez es más difícil de superar. Y para el colmo los spammers se lo saltan cada vez más fácilmente.

Los captchas son otra forma de evitar el SPAM
El problema de los captchas es que cuanto más efectivos son contra el SPAM, más disminuyen la tasa de conversión, especialmente en comentarios y formularios de contacto. A los usuarios no les apetece rellenarlos porque implica esfuerzo, y ya sabemos que el nivel de esfuerzo de un usuario medio es... Bueno, digamos que muy bajo.
Y luego tenemos la última opción, que es la que yo prefiero. Es honeypot. La palabra viene de "tarro de miel", algo que se usa como señuelo, para que los spammers caigan en él, sin siquiera saberlo.
Antispam por Honeypot
En la gran mayoría de casos, un honeypot consiste en un campo oculto en los formularios. ¿A qué me refiero? Un formulario, ya sea de contacto o de comentarios de un post, puede tener varios campos (nombre, mail, URL, mensaje, etc.). Bien, pues el honeypot lo que hace es añadir otro campo oculto, que el usuario no puede ver.
¿Para qué nos sirve tener ese campo oculto? Bien, pues el funcionamiento es simple: Si alguien rellena ese campo invisible, es que no es humano.
Efectivamente: Los spammers no son humanos. No es que los insulte, es que no son personas que vayan a dejar los comentarios manualmente, uno a uno, sino que lo hacen robots. Y esos robots no "miran" la web, sino el código. Y en el código no se ve si un campo es visible o invisible. Se ven todos.
O sea, que podemos de deducir que si alguien rellena el campo, es que es un robot. Con lo que comentario directo a la basura.
Para hacer tal cosa, podemos usar varios plugins gratuitos. Pero ojo, si sois usuarios de Gravity Forms, o de ciertos plugins de seguridad, ya lo llevan incorporado. Lo cuento en el Curso de Gravity Forms y el Curso de seguridad en WordPress, echadles un vistazo.
Pero si queréis un plugin ligero y fácil de usar, que deja el trabajo hecho en un plis, nada como Anti-spam. Se instala, se activa, y.... y ya está.
Este plugin no usa captchas, ni listas de moderación, ni siquiera tiene página de opciones. Sólo se carga el spam y listos. Yo llevo mucho tiempo usándolo en muchas páginas, y estoy encantado. No en vano tiene más de 100 valoraciones de 5 estrellas.
¿Cómo lo hace? Básicamente a través de dos curiosos métodos, veámoslos:
JS Captcha
Esto añade un campo oculto en los formularios a través de JavaScript. En el campo se pregunta el año actual. Pero atención, que el usuario NO tiene que ponerlo, porque por JS, el propio plugin se autorrellena por JavaScript.
¿Qué sentido tiene hacer tal cosa? Pues resulta que los bots, al contrario de los navegadores, no ejecutan JavaScript. O sea que si es una persona que nos visita a través de navegador, se acepta. Y sino, es que es un bot, y no se acepta.
Honeypot
Y por otra parte, tenemos el honeypot del que os he hablado. Incluye un campo extra, que los humanos no pueden ver. Si el bot lo rellena, es que es SPAM, y lo liquida rápidamente.
Ambas cosas combinadas, hacen que este plugin sea muy bueno: Por un lado muestra algo que sólo los navegadores pueden interpretar, y por otro lado algo que sólo los bots pueden interpretar. De esta forma se descubre rápidamente si es SPAM :)
Resumen y conclusión
Akismet es una gozada, está recomendable y muy bien, pero requiere cuenta en WordPress.org. Si queremos prescindir de eso, tenemos una alternativa muy ligera llamada Anti-spam, que funciona mediante honeypot.
Si queréis saber más sobre honeypot, echad un vistazo al Curso de Gravity Forms y el Curso de seguridad en WordPress. Ya sabéis que si os suscribís, tendréis acceso al resto de 6488 vídeos. :)