herramienta gratuita

Generador de honeypot gratuito para tu formulario de contacto

Un honeypot es un campo de texto que los visitantes reales nunca ven ni rellenan, oculto fuera de la pantalla y fuera del orden de tabulación. Un bot que rellena todos los campos que encuentra rellena también este, y tu servidor usa ese valor para descartar el envío mientras responde como si hubiera funcionado. El código de abajo sirve para cualquier formulario HTML y cualquier backend.

Un honeypot no detiene a los bots que leen el CSS y saltan los campos ocultos, ni a las personas a las que se paga por pegar spam a mano. Tómalo como el primer filtro, no el único: valida en el servidor, limita la frecuencia de envío por dirección y mantén una carpeta de revisión para lo que pase. Así la mayoría de los sitios elimina el grueso del spam de formularios sin CAPTCHA.

constructor de honeypot

Elige un nombre, una técnica de ocultación y copia el código.

Pega el HTML dentro de tu formulario actual, junto a los campos de correo y mensaje. El valor por defecto coincide con lo que ya incluyen los formularios de mailcontact, así que un formulario creado con nuestro generador no necesita nada más.

Elige un nombre que un bot espere rellenar. Evita palabras como “honeypot” o “trap”. Los formularios de mailcontact deben mantener company_website.

Los visitantes nunca la ven. Hace que el campo parezca normal a un bot que lee etiquetas.

Añade un campo oculto _t con la hora de carga de la página y un pequeño script que rechaza un envío en menos de 3 segundos. Una persona tarda más en escribir un mensaje; la mayoría de los bots no esperan.

El campo oculto no hace nada por sí solo: tu backend debe leerlo y descartar los envíos rellenos. Ejemplos en Node (Express), PHP y Python (Flask).

honeypot.html
<div aria-hidden="true" style="position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;">
  <label>Sitio web
    <input name="company_website" type="text" tabindex="-1" autocomplete="off" />
  </label>
</div>

usar el campo

Qué hace el código generado

Invisible para los visitantes

El contenedor se desplaza lejos de la página y se oculta a las tecnologías de asistencia. El campo queda fuera del orden de tabulación y del autocompletado del navegador, así que una persona real no puede rellenarlo por accidente.

Tu servidor decide

El campo solo funciona si el backend lo lee. Activa el ejemplo del servidor para ver la comprobación en Node, PHP o Python: una trampa rellena recibe la respuesta de éxito normal y no se guarda ni se envía nada.

Integrado en los formularios de mailcontact

mailcontact endpoints already check the company_website field, discard filled submissions and add rate limits and a Spam folder. Build the whole form with the generador de formulario de contacto gratuito and the honeypot is included.

preguntas frecuentes

El campo honeypot, en preguntas

¿Un campo honeypot da problemas a los lectores de pantalla?

Not when the wrapper carries aria-hidden="true" and the input has tabindex="-1", as the generated code does. Screen readers skip the field entirely and keyboard users never land on it. Keep both attributes if you edit the markup: a visitor who reaches the field and types in it would be discarded like a bot.

¿Puede el autocompletado del navegador o un gestor de contraseñas rellenar el honeypot?

It can happen when the field name looks like something the browser has saved, which is why the generator sets autocomplete="off" and places the input off screen. Test it: let your browser autofill the visible fields, then inspect the hidden one. If it has a value, choose another name. A legitimate submission with a filled trap is the worst outcome, because the visitor sees a success message and you never get the message.

¿Por qué mover el campo fuera de la pantalla en lugar de usar display: none?

Spam bots that read CSS or the DOM look for display:none, visibility:hidden and type="hidden" because those are the classic honeypot markers, and they leave such fields empty. A field positioned far outside the viewport still looks like a normal text input to them. The off-screen technique keeps the trap effective against more bots; display:none is offered for sites that cannot use positioning, with that trade-off made clear.

¿Por qué no añadir simplemente un CAPTCHA?

A CAPTCHA puts work on every real visitor, hurts accessibility and still gets solved by farms and by current image models. A honeypot costs visitors nothing. It will not stop every bot, so combine it with server-side validation, rate limits per address and per form, and a review folder for the rest. That combination handles most contact form spam without a puzzle.

ir más allá

Protección antispam más allá del honeypot

Deja que mailcontact se ocupe del resto del spam.

Conecta tu formulario a una bandeja gratuita de mailcontact: comprobación del honeypot, límites de frecuencia y carpeta de Spam incluidos. Recibe un aviso por correo cuando escriba alguien real.

Crear formulario gratis

Sin tarjeta de crédito. Free incluye un proyecto y 50 mensajes de formulario al mes.