Top header con textos destacados o información de contacto.

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.

Post de LinkedIn sobre Honeypot

👉 Ver traducción del post de Anze Koprivec (La lógica detrás del Honeypot)

"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."

Paso 1: Instalación de Plugin de Snippets

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.

Paso 2: Crear Snippet HoneyPot

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.

Este es el código del snippet (cópialo y pégalo):

/**
* Agrega un checkbox secreto en el form de comentarios de blog para que los bots lo marquen. Lo esconde con css.
*/
add_action('comment_form_after_fields', 'agregar_honeypot');
function agregar_honeypot() {
echo '<p style="opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1; overflow: hidden;">
<input id="chekbox6" name="checkbox-blog" type="checkbox" aria-required="true" value="1" tabindex="-1" autocomplete="off">
</p>';
}/**
* Bloquea el comentario si el honeypot "checkbox-blog" ha sido marcado.
*/
add_filter('preprocess_comment', 'verificar_trampa_blog');function verificar_trampa_blog($commentdata) {
if (isset($_POST['checkbox-blog']) && $_POST['checkbox-blog'] == '1') {
// Shadow Blocking: Engañamos al bot diciéndole que todo salió bien.
wp_die(
'Muchas gracias por tu comentario!.',
'Gracias por tu comentario',
array('response' => 200)
);
}
return $commentdata;
}

Esta es la descripción que usamos para el snippet:

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.

Paso 3: Guarda y activa el Snippet 👍️

Activando el snippet en WordPress

Paso 4: Prueba si funciona

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.

Resultado del bloqueo de spam

Ayúdanos compartiendo este post 👍️

Entradas relacionadas

Z-SEO es una agencia de márketing digital SEO orientada a PYMES, emprendedores y negocios emergentes. Nos especializamos en mejorar tu posicionamiento orgánico con SEO. ¿Tienes dudas? Escríbenos y conversemos.
Contacto
Copyright © 2025 Z-SEO. Todos los derechos reservados.