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

Cómo evitar el spam en formularios de contacto de WordPress y PrestaShop

Actualizado el 21 de septiembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si tienes una tienda online o un sitio web, seguro que has notado cómo el spam en formularios puede convertirse en una pesadilla. No solo llena tu bandeja de entrada de correos basura, sino que también puede ser un riesgo de seguridad y ralentizar tu web. En esta guía completa y fácil de entender, te explicaré paso a paso cómo proteger tus formularios de contacto en WordPress y PrestaShop del spam, usando herramientas como captchas, plugins y configuraciones de servidor. ¡Empecemos!


¿Por qué es importante proteger tus formularios del spam?

El spam en formularios no es solo una molestia. Puede:

  • Sobrecargar tu servidor con peticiones falsas, ralentizando tu web.
  • Comprometer tu seguridad, ya que algunos bots intentan inyectar código malicioso.
  • Dañar tu reputación, si los mensajes spam llegan a tus clientes.
  • Hacer perder tiempo a tu equipo filtrando correos basura.

Por eso, es clave aplicar medidas antispam desde el principio. A continuación, te explico las soluciones más efectivas para WordPress y PrestaShop.


Cómo evitar el spam en formularios de WordPress

WordPress es uno de los CMS más populares, pero también uno de los más atacados por bots. Aquí tienes las mejores estrategias.

1. Usa un plugin antispam específico

La forma más sencilla es instalar un plugin diseñado para bloquear spam formularios. Los más recomendados son:

  • Akismet: Viene preinstalado en WordPress. Solo necesitas activarlo y registrarte con una clave API gratuita (para sitios personales) o de pago (para comerciales). Filtra automáticamente los comentarios y mensajes de contacto.
  • Antispam Bee: Gratuito, sin publicidad, y muy efectivo. No requiere registro y funciona con formularios de contacto, comentarios y registros.
  • WP Armour: Bloquea spam sin captchas, usando técnicas de honeypot (campos ocultos que los bots rellenan).

¿Cómo instalar un plugin?

  1. Ve a Plugins > Añadir nuevo en tu panel de WordPress.
  2. Busca el nombre del plugin (por ejemplo, "Akismet").
  3. Haz clic en "Instalar ahora" y luego "Activar".
  4. Sigue las instrucciones de configuración (generalmente solo necesitas una clave API).

[TIP] Si usas Akismet, recuerda que la versión gratuita es para sitios personales. Para sitios comerciales, considera la suscripción de pago (unos 10 €/año) para evitar que tu web sea marcada como spam.

2. Implementa un captcha en tus formularios

Los captcha formulario son una barrera clásica pero efectiva. Los bots tienen dificultades para leer textos distorsionados o resolver puzzles. Las opciones más populares son:

  • Google reCAPTCHA v3: No molesta al usuario (no hay que hacer clic en imágenes). Evalúa el comportamiento del visitante y asigna una puntuación. Si es baja, bloquea el envío.
  • hCaptcha: Alternativa a reCAPTCHA, respeta más la privacidad. También es fácil de integrar.
  • Simple Captcha: Para sitios pequeños, puedes usar un captcha básico de suma o resta.

¿Cómo añadir reCAPTCHA a WordPress?

  1. Ve a Google reCAPTCHA y regístrate con tu cuenta de Google.
  2. Obtén las claves "Site Key" y "Secret Key".
  3. Instala un plugin como "Advanced noCaptcha & invisible Captcha" o "reCaptcha by BestWebSoft".
  4. En la configuración del plugin, pega las claves y selecciona los formularios donde quieres que aparezca (contacto, comentarios, login, etc.).

[WARNING] No uses reCAPTCHA v2 (el de "elige las imágenes") si tu web tiene mucho tráfico móvil, ya que puede ser molesto. La v3 es invisible y más amigable.

3. Añade campos honeypot (ocultos para bots)

Un honeypot es un campo invisible para humanos, pero que los bots rellenan automáticamente. Si se completa, el formulario se rechaza. Es una técnica sencilla y sin fricción.

¿Cómo implementarlo?

  • Con el plugin WP Armour o Honeypot for Contact Form 7, se añade automáticamente.
  • Si usas Contact Form 7, puedes instalar el addon "Honeypot for CF7".
  • En formularios personalizados, añade un campo oculto con CSS (display:none) y un nombre atractivo para bots (por ejemplo, "website").

4. Limita envíos por IP o tiempo

Otra forma de frenar bots es restringir la frecuencia de envíos. Puedes usar plugins como Limit Login Attempts Reloaded (para login) o WP Limit Posts (para formularios). También puedes configurarlo desde el servidor (ver sección de Syspanel).

5. Usa un formulario de contacto seguro por defecto

No todos los formularios son iguales. Algunos plugins como WPForms o Gravity Forms incluyen protección antispam nativa (honeypot, captcha, filtros de palabras). Si estás empezando, elige uno de estos.

[INFO] Si tu web tiene poco tráfico, con un plugin como Antispam Bee y un honeypot suele ser suficiente. Para sitios grandes, añade reCAPTCHA v3.


Cómo evitar el spam en formularios de PrestaShop

PrestaShop es un ecommerce potente, pero sus formularios de contacto (y los de registro) son un blanco común. Aquí tienes las soluciones más efectivas.

1. Activa el captcha nativo de PrestaShop

Desde la versión 1.7.8, PrestaShop incluye Google reCAPTCHA integrado. Solo tienes que configurarlo.

Pasos para activarlo:

  1. Ve a Módulos > Gestor de módulos y busca "Google reCAPTCHA".
  2. Instálalo y configúralo con tus claves de API (obtenidas en Google reCAPTCHA).
  3. Elige en qué formularios quieres que aparezca: contacto, registro, newsletter, etc.
  4. Guarda los cambios.

Si tu versión es anterior, puedes instalar módulos gratuitos como Captcha for PrestaShop o reCAPTCHA V3.

2. Usa módulos antispam específicos

Existen módulos diseñados para PrestaShop que bloquean el spam PrestaShop sin complicaciones. Algunos recomendados:

  • Anti-Spam by Honeypot: Gratuito, añade un campo oculto y bloquea bots automáticamente.
  • Advanced Contact Form: Permite personalizar el formulario de contacto y añadir filtros de palabras prohibidas.
  • Google reCAPTCHA for PrestaShop: Versión de pago que integra reCAPTCHA v3.

¿Cómo instalar un módulo?

  1. Descarga el módulo desde el marketplace de PrestaShop o de un desarrollador.
  2. Ve a Módulos > Gestor de módulos y haz clic en "Subir un módulo".
  3. Selecciona el archivo .zip y actívalo.
  4. Configúralo según las instrucciones.

3. Filtra palabras y direcciones IP

Puedes bloquear mensajes que contengan palabras comunes de spam (como "viagra", "casino", etc.) o direcciones IP sospechosas.

En PrestaShop:

  • Ve a Clientes > Direcciones IP prohibidas y añade las IPs que quieras bloquear.
  • Para palabras, algunos módulos como Advanced Contact Form permiten añadir una lista de palabras prohibidas.

4. Limita envíos desde el servidor

Si el spam es muy agresivo, puedes limitar la frecuencia de envíos desde el servidor. Si tu hosting usa Syspanel (antes conocido como HestiaCP), puedes hacerlo fácilmente.

Configuración en Syspanel:

  1. Accede a tu panel en https://tudominio.com:2106 (el puerto 2106 es el de acceso a Syspanel).
  2. Ve a Web > Editar de tu dominio.
  3. En la sección "Proxy" (Nginx), puedes añadir reglas para limitar peticiones por IP. Por ejemplo, para permitir solo 5 envíos por minuto desde una misma IP:
    limit_req_zone $binary_remote_addr zone=contact:10m rate=5r/m;
    
  4. Guarda y reinicia el servicio.

[TIP] Si no sabes cómo hacer esto, pide ayuda a tu proveedor de hosting. Es una medida avanzada pero muy efectiva.

5. Usa un CDN con protección anti-spam

Servicios como Cloudflare ofrecen protección gratuita contra bots. Puedes activar el "Challenge Passage" o "Bot Fight Mode" para bloquear tráfico malicioso antes de que llegue a tu web.

¿Cómo configurarlo?

  1. Regístrate en Cloudflare y apunta tus DNS.
  2. Ve a Security > Bots y activa "Bot Fight Mode".
  3. En Security > WAF, crea reglas para bloquear IPs sospechosas.

Medidas generales para ambos CMS (y cualquier web)

Independientemente de si usas WordPress o PrestaShop, estas prácticas te ayudarán a reducir el spam:

1. Mantén todo actualizado

Tanto el CMS como los plugins y módulos deben estar en su última versión. Las actualizaciones suelen incluir parches de seguridad que cierran vulnerabilidades usadas por los bots.

2. Usa un servicio de email transaccional

En lugar de usar el servidor de correo de tu hosting (que puede ser marcado como spam), usa servicios como SendGrid, Mailgun o SMTP2GO. Así, los mensajes de tus formularios llegarán correctamente a tu bandeja de entrada.

3. Crea un formulario con campos personalizados

Los bots suelen atacar formularios estándar. Si añades campos únicos (como "¿Cuál es tu color favorito?"), los bots no sabrán cómo rellenarlos. Puedes hacerlo con plugins como Contact Form 7 (WordPress) o módulos personalizados en PrestaShop.

4. Revisa los logs del servidor

Si el spam persiste, revisa los logs de acceso de tu servidor (en Syspanel, ve a Logs > Access Log). Identifica IPs que hagan muchas peticiones y bloquéalas temporalmente.


Preguntas frecuentes (FAQ)

¿Qué es un captcha y cómo funciona?
Un captcha es un test que distingue humanos de bots. Puede ser una imagen con texto, un puzzle o una verificación invisible (como reCAPTCHA v3). Los bots no pueden resolverlo fácilmente.

¿Es mejor reCAPTCHA v2 o v3?
La v3 es mejor porque no molesta al usuario (es invisible). La v2 (con imágenes) puede ser frustrante en móviles. Recomiendo v3 para la mayoría de sitios.

¿Puedo usar varios métodos antispam a la vez?
Sí, es recomendable combinar un honeypot con un captcha y filtros de palabras. Sin embargo, no abuses de los captchas visibles, ya que pueden ahuyentar a usuarios legítimos.

¿Qué hago si el spam sigue llegando?
Prueba a:

  • Aumentar la dificultad del captcha.
  • Bloquear IPs específicas desde el servidor.
  • Usar un servicio de terceros como Cloudflare.
  • Contactar a tu hosting para que revise la configuración del servidor.

¿Puedo evitar el spam sin instalar plugins?
Sí, puedes usar técnicas de honeypot con código personalizado, pero requiere conocimientos técnicos. Para la mayoría, los plugins son más prácticos.

¿Syspanel tiene protección antispam integrada?
Syspanel (antes HestiaCP) no tiene una función específica antispam, pero puedes configurar reglas en Nginx (como limitar peticiones) o usar módulos como ModSecurity para bloquear ataques.


Conclusión

Proteger tus formularios de contacto del spam es esencial para mantener tu web segura y tu bandeja de entrada limpia. Tanto en WordPress como en PrestaShop, tienes múltiples opciones: desde plugins gratuitos hasta configuraciones avanzadas en el servidor. Empieza con lo básico (un honeypot y un captcha) y, si el spam persiste, añade capas adicionales como filtros de IP o servicios CDN.

Recuerda que la clave está en la combinación de métodos y en mantener todo actualizado. Si tienes dudas, no dudes en consultar a tu soporte técnico. ¡Tu web y tu tranquilidad te lo agradecerán!

[INFO] Si tu hosting usa Syspanel, recuerda que el acceso es a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Allí puedes gestionar reglas de seguridad avanzadas.

¡Espero que esta guía te haya sido útil! Si necesitas ayuda con algún paso concreto, escríbeme. Estoy aquí para ayudarte. 😊

¿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