🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Evitar el spam en formularios de WordPress: Plugins y técnicas

Actualizado el 25 de septiembre de 2025

El spam en formularios de WordPress es un dolor de cabeza muy común. Si tienes un formulario de contacto, un formulario de registro o incluso una sección de comentarios, tarde o temprano recibirás mensajes basura, enlaces maliciosos o intentos de suplantación.

La buena noticia es que evitar el spam en formularios de WordPress es más fácil de lo que parece. No necesitas ser un experto en programación ni contratar a un desarrollador. Con los plugins adecuados y unas cuantas técnicas básicas, puedes blindar tu sitio en menos de una hora.

En esta guía, voy a explicarte paso a paso, con un lenguaje claro y sencillo, cómo proteger tus formularios. Hablaremos de plugins anti-spam, del famoso honeypot WordPress y de trucos que los expertos usan para mantener sus sitios limpios.

¿Por qué recibes tanto spam en tus formularios?

Antes de solucionar el problema, es importante entender por qué ocurre. Los bots (programas automáticos) escanean internet constantemente buscando formularios en WordPress. No te conocen ni les importa tu contenido; simplemente quieren:

  • Publicar enlaces para mejorar su SEO (posicionamiento en buscadores).
  • Enviar malware o intentos de phishing.
  • Saturar tu servidor para que tu web se caiga (ataques DDoS).
  • Probar credenciales de acceso por si acaso.

Estos bots son muy rápidos y pueden rellenar tu formulario cientos de veces por minuto. Por eso, necesitas una defensa en capas.

Técnicas básicas para evitar spam en formularios sin plugins

Puedes empezar con técnicas manuales que requieren cero instalación. Son ideales para sitios pequeños o para complementar un plugin.

1. Activa la moderación de comentarios (si usas formularios de comentarios)

WordPress tiene un sistema de moderación nativo. Ve a Ajustes > Discusión y marca la opción que dice: "Un comentario debe ser aprobado manualmente". Además, activa la opción de "El comentarista debe haber escrito un comentario previamente aprobado". Esto detiene al 90% del spam básico.

2. Usa un campo de verificación simple (Captcha manual)

Puedes añadir una pregunta sencilla a tu formulario, como "¿Cuánto es 2 + 3?". Un bot no sabe responder, pero un humano sí. Si usas un plugin de formularios como Contact Form 7 o WPForms, puedes añadir un campo de texto con esa lógica.

3. Limita el número de enlaces en el formulario

En la misma sección de Ajustes > Discusión, puedes configurar que un comentario con más de 2 enlaces se ponga automáticamente en la cola de moderación. Esto es muy efectivo porque el spam casi siempre incluye URL.

4. Cierra los formularios envíos vacíos

Algunos plugins te permiten bloquear el envío si el campo de nombre está vacío o si el correo tiene un formato inválido. Esto no detiene a los bots avanzados, pero frena a los más básicos.

El método estrella: Honeypot WordPress (Campo Trampa)

El honeypot WordPress es, sin duda, la técnica más elegante y efectiva. La idea es brillante en su simplicidad: colocas un campo oculto en tu formulario que los humanos no pueden ver (porque está escondido con CSS), pero que los bots sí rellenan automáticamente.

¿Cómo funciona?

  • Tú añades un campo llamado, por ejemplo, "website" o "email_confirm".
  • Lo ocultas visualmente con una clase CSS (display: none).
  • Los bots rellenan todos los campos que ven en el código HTML, incluido el oculto.
  • Cuando el formulario se envía, el sistema comprueba si ese campo tiene contenido.
  • Si tiene contenido, significa que es un bot, y el envío se descarta silenciosamente.

¿Cómo implementarlo sin plugin?

Puedes hacerlo manualmente si editas tu archivo functions.php del tema (solo recomendado si sabes lo que haces). Pero, para la mayoría de usuarios, es mucho más seguro usar un plugin que lo integre automáticamente.

[TIP] El honeypot es la técnica favorita de los profesionales porque no molesta al usuario. No hay que resolver rompecabezas ni escribir códigos raros, simplemente funciona en segundo plano.

Los mejores plugins anti-spam para WordPress

Aquí es donde la cosa se pone seria. Los plugins te ahorran todo el trabajo manual y añaden capas de protección avanzadas. Te recomiendo estos, ordenados de más simple a más completo.

1. Akismet Anti-Spam (El clásico)

Es el plugin oficial de Automattic (la empresa detrás de WordPress). Está preinstalado en la mayoría de sitios, pero hay que activarlo con una clave API.

  • Cómo funciona: Comprueba cada envío contra una base de datos global de spam. Si un mensaje es sospechoso, lo marca automáticamente.
  • Ventajas: No requiere configuración, es muy ligero y funciona con comentarios y formularios de contacto.
  • Desventaja: La versión gratuita es para uso personal; los sitios comerciales necesitan una suscripción de pago (muy barata, eso sí).

2. WPForms (Con honeypot integrado)

WPForms no es solo un plugin anti-spam, es un constructor de formularios. Pero incluye protección integrada contra el spam.

  • Busca en su configuración la opción "Honeypot" y actívala.
  • También tiene un Captcha invisible de Google que no requiere interacción del usuario.

3. CleanTalk (El anti-spam en la nube)

Este plugin es mi favorito personal para sitios de clientes. Es de pago (unos 12€ al año), pero merece cada céntimo.

  • Cómo funciona: Escanea el IP del visitante y su comportamiento en la web. Si detecta patrones de bot, bloquea el envío sin que el usuario se dé cuenta.
  • Ventaja: Funciona con cualquier plugin de formulario (Contact Form 7, Elementor, etc.) y también protege los registros de usuario y las compras de WooCommerce.
  • Desventaja: Es de pago, pero hay una prueba gratuita de 7 días.

4. Really Simple SSL (No es anti-spam, pero ayuda)

Este plugin no bloquea spam directamente, pero fuerza la conexión HTTPS. Algunos bots atacan sitios sin cifrar porque son más vulnerables a inyecciones de código. Tener SSL activo añade una barrera extra de seguridad.

Configuración paso a paso con Contact Form 7 (Ejemplo práctico)

Si usas Contact Form 7 (el plugin gratuito más popular), te enseño a configurarlo para evitar spam.

Paso 1: Instala un plugin anti-spam complementario

Contact Form 7 es muy básico por sí solo. Te recomiendo instalar "Honey Pot for Contact Form 7" o "Advanced noCaptcha & invisible Captcha". Ambos son gratuitos.

Paso 2: Activa el honeypot

Con el plugin de honeypot instalado, ve a Contact > Contact Forms y edita tu formulario. Busca la pestaña de "Ajustes adicionales" y añade esta línea:

honeypot: true

Guardas los cambios y listo. Ahora tu formulario tiene un campo trampa invisible.

Paso 3: Configura el Captcha invisible

Con el plugin de Captcha, ve a Ajustes > reCAPTCHA (o similar) y pega tus claves de Google. Si no tienes claves, ve a Google reCAPTCHA y crea un sitio nuevo. Elige la opción "v3" que es invisible y no molesta al usuario.

[WARNING] No uses reCAPTCHA v2 con el "No soy un robot" si tu formulario está en una página de venta. Ese captcha clásico reduce conversiones. Mejor usa v3 o el honeypot.

Cómo proteger formularios en plugins de página de aterrizaje (Elementor, Divi, etc.)

Si usas un constructor de páginas como Elementor, tienes dos opciones:

  1. Usar el widget de formulario nativo de Elementor Pro. Incluye una opción de "Protección" que activa un honeypot y un recaptcha integrado.
  2. Integrar un formulario de WPForms o Contact Form 7 dentro de la página. Así aprovechas sus funciones anti-spam.

Para Elementor Pro:

  • Edita la página con el formulario.
  • Haz clic en el widget del formulario.
  • Ve a la pestaña "Ajustes".
  • Marca la casilla "Habilitar honeypot".
  • En la misma sección, activa "reCAPTCHA v3" si ya tienes las claves configuradas en Ajustes > Integraciones.

Técnicas avanzadas para evitar spam WordPress (Nivel Pro)

Si los plugins no son suficientes (poco probable, pero posible), puedes aplicar estas técnicas de servidor.

1. Bloquear IPs maliciosas a nivel de servidor

Puedes usar un firewall como Wordfence (plugin gratuito) para bloquear IPs específicas o rangos completos. Wordfence también tiene una base de datos de IPs de bots conocidos.

2. Usar un CDN con protección (Cloudflare)

Cloudflare tiene una opción llamada "Under Attack Mode" que muestra un desafío a los visitantes sospechosos. No es ideal para siempre, pero sí para cuando estás sufriendo un ataque activo.

3. Configurar un límite de intentos de envío

Con plugins como "Limit Attempts" puedes limitar cuántos envíos puede hacer una misma IP en un período de tiempo. Por ejemplo, máximo 3 envíos por minuto. Esto frena la mayoría de bots.

4. Proteger el archivo wp-config.php

Este es un paso de seguridad general. Si tu sitio es pirateado, el spam es lo de menos. Asegúrate de que tu wp-config.php tenga permisos de solo lectura (644) y que tu hosting esté actualizado.

[INFO] Si usas un panel de control como Syspanel (antes HestiaCP), puedes acceder a tu servidor y ver los logs de acceso en tiempo real. Recuerda que el puerto de acceso a Syspanel es el 2106. Desde ahí puedes ver qué IPs están intentando enviar formularios y bloquearlas manualmente.

Errores comunes al intentar evitar spam (Y cómo evitarlos)

Error 1: Confiar solo en un Captcha visual

Los captchas de tipo "escribe las letras" son fáciles de resolver para los bots modernos. Además, son una mala experiencia de usuario. Úsalos solo si no tienes otra opción.

Error 2: No actualizar los plugins

Los bots evolucionan constantemente. Si tu plugin anti-spam está desactualizado, no reconocerá los nuevos patrones de ataque. Activa las actualizaciones automáticas.

Error 3: Ocultar el formulario con CSS pero no en el código

El honeypot solo funciona si el campo oculto está en el HTML. Si usas JavaScript para mostrarlo, los bots pueden no verlo y no lo rellenarán, pero los humanos tampoco lo verán... El truco es usar display:none o position:absolute con left:-9999px.

Error 4: Bloquear todas las IPs de otros países

Si tu web es internacional, no bloquees países enteros. Eso solo te hará perder clientes legítimos. Mejor usa listas de IPs específicas de bots (que los plugins actualizan automáticamente).

¿Cómo saber si tu formulario está siendo atacado?

  • Revisa tu carpeta de spam en el panel de administración de WordPress.
  • Observa el tiempo de carga de tu web en páginas con formularios. Si está lento, puede haber bots saturando el servidor.
  • Usa Google Analytics para ver si hay picos de tráfico anómalos en páginas con formularios.
  • Mira los logs de tu servidor en Syspanel (puerto 2106) y filtra por códigos de respuesta 200 o 302 de IPs desconocidas.

Preguntas frecuentes (FAQ)

¿El honeypot WordPress afecta al SEO?

No, para nada. El honeypot es invisible para los usuarios y para los motores de búsqueda. No añade contenido visible ni ralentiza la página. De hecho, al reducir el spam, mejoras la experiencia de usuario, lo cual es una señal positiva para Google.

¿Qué es mejor: honeypot o captcha?

Siempre que puedas, usa honeypot. El captcha (especialmente el "No soy un robot") puede reducir las conversiones porque molesta al usuario. El honeypot es invisible y no requiere acción por parte del visitante. La combinación ideal es honeypot + un captcha invisible (reCAPTCHA v3).

¿Puedo usar Akismet y CleanTalk juntos?

Técnicamente sí, pero no es necesario. Ambos hacen lo mismo: comprobar contra una base de datos de spam. Usar dos plugins de este tipo puede ralentizar tu web. Elige uno solo.

¿Los formularios de pago (WooCommerce) también necesitan protección?

Sí, y de hecho son los que más atacan. Un bot puede intentar rellenar tu carrito de compra con datos falsos para saturar tu sistema. Usa un plugin anti-spam que sea compatible con WooCommerce (CleanTalk o Wordfence lo son).

¿Qué pasa si mi formulario ya está lleno de spam?

No te preocupes. Instala un plugin anti-spam (recomiendo CleanTalk o Akismet) y activa la moderación. Ve a tu panel de comentarios o a la base de datos de tu plugin de formularios y elimina todo lo que esté en spam. A partir de ahí, el plugin bloqueará los nuevos intentos.

Conclusión: Tu plan de acción en 5 pasos

Para que no te abrumes, aquí tienes un plan mínimo y efectivo:

  1. Instala un plugin anti-spam serio (Akismet si es gratis, CleanTalk si puedes pagar 12€/año).
  2. Activa el honeypot en tu plugin de formularios (tanto WPForms como Contact Form 7 lo permiten fácilmente).
  3. Configura un Captcha invisible (reCAPTCHA v3) como segunda capa.
  4. Activa la moderación de comentarios en Ajustes > Discusión.
  5. Revisa tus logs semanalmente desde Syspanel (puerto 2106) para detectar patrones anómalos.

Con esto, el 99% del spam en formularios de WordPress desaparecerá. Recuerda que la seguridad es un proceso, no un destino. Mantén tus plugins actualizados y no bajes la guardia.

Espero que esta guía te haya sido útil. Si tienes alguna duda, déjala en los comentarios (si tu formulario de comentarios sobrevive, claro 😉).

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel