
Acá encontrarás cómo implementamos una solución ligera y eficaz para evitar comentarios spam en los forms de Blog de WordPress. La idea fue inspirada en la publicación de Anze Koprivec, a quien nuestro amigo personal (no) John Mueller le puso like, indicador definitivo de calidad SEO 👍️
⚠️Solo habría un escenario donde este sistema no debería funcionaría: si usas un sistema de comentarios externo (como Disqus o los comentarios de Facebook), ya que esos sistemas no pasan por el proceso de wp-comments-post.php de tu servidor. Pero si usas el módulo de comentarios nativo de tu builder, estás cubierto.
De acuerdo a la publicación original, este método permite reducir el spam drásticamente (de 200 envíos mensuales a casi 0) sin sacrificar la conversión de usuarios reales.

"Tenía muchas ganas de compartir este pequeño fragmento de código HTML que hizo que nuestros envíos de spam en formularios bajaran de 200 al mes a quizás 1, como mucho, sin afectar la conversión ni la experiencia de usuario (UX). (Y sin usar reCAPTCHA). Es una solución tan simple y a la vez tan elegante que la mayoría de las empresas podrían beneficiarse significativamente de ella y dejar de perder el tiempo con reCAPTCHA. Así es como funciona: Se llama 'honeypot checkbox' y añade un checkbox oculto al formulario que los usuarios no verán. El 99% de los bots seleccionarán automáticamente cualquier checkbox que vean, asumiendo que es una verificación de consentimiento. Los usuarios reales no pueden marcarlo porque no lo ven. Todo lo que hacemos es verificar si el checkbox fue marcado; si es así, eres claramente un bot y el envío es bloqueado."
Para implementar esto de forma segura y no perder los cambios al actualizar tu tema, te recomendamos usar un plugin como Code Snippets o WPCode. Esto te permite gestionar tus funciones personalizadas de manera independiente al archivo functions.php.
Crea un nuevo snippet de PHP y pega el siguiente código. La lógica utiliza el atributo aria-required="true" como cebo para el bot.
Descripción: Implementación de Honeypot Anti-Spam para comentarios.
Lógica: Inserta un checkbox oculto mediante CSS (checkbox-blog) con atributos de accesibilidad (aria-required) para atraer bots de spam. Si el campo es enviado con valor (marcado), el filtro preprocess_comment intercepta la petición y aborta la inserción en la base de datos. Para mayor efectividad, devolvemos un mensaje de éxito falso (Shadow Blocking) para que el bot no intente otros métodos de ataque.

Para comprobar que la trampa está lista, puedes cambiar temporalmente la opacidad del campo en el código a opacity: 1 directamente en la consola, entrando como incógnito. Intenta comentar marcando la casilla: si recibes el mensaje de "Gracias por tu comentario" pero el comentario no aparece en tu panel de WordPress, el sistema está funcionando.
