SilentShield
← Volver al blog
WordPressConfiguraciónSpamContact Form 7

Configurar un captcha en WordPress y frenar el spam de formularios, paso a paso

Marc Wagner·7 de octubre de 2026·5 min de lectura

Esta guía lleva un WordPress recién instalado con Contact Form 7 de «sin protección» a una configuración por capas. Todo se probó el 7 de octubre de 2026 con SilentShield 2.15.14, Contact Form 7 6.2 y WordPress 7.1.2. Las capas que se describen aquí se ejecutan en su propio servidor; la API opcional de SilentShield se explica en la guía de WordPress.

Una instalación nueva todavía no protege nada

Dashboard de SilentShield justo después de la instalación: un aviso rojo «No form is protected yet» (Ningún formulario está protegido) indica que hay que activar cada plugin de formularios por separado, enumera Contact Forms 7, WordPress Comments, Password Reset, WordPress Login y WordPress Registration, y ofrece el botón «Choose what to protect»
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Tras activar el plugin, este funciona, pero ningún plugin de formularios está activado. El Dashboard lo dice claramente: «No form is protected yet» (Ningún formulario está protegido), seguido de los plugins de formularios que ha encontrado en su sitio. Mientras no active un plugin de formularios, sus formularios no muestran ningún campo de captcha y no se comprueba nada.

Todos los ajustes que siguen están en el menú SilentShield del administrador de WordPress.

Paso 1: Elegir un método de captcha

Página Protection Settings: el módulo de captcha está activado, con los métodos Honeypot (invisible, recomendado), Math Problem e Image Captcha, campos para la etiqueta y el marcador de posición, y una selección de plantillas de visualización
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Abra SilentShield → Protection Settings (Ajustes de protección). Hay tres métodos disponibles:

  • Honeypot (predeterminado, invisible). Un campo trampa queda fuera de la pantalla; los visitantes nunca lo ven, pero los bots que rellenan todos los campos que encuentran, sí. Un honeypot no es un desafío: un bot que lee la página y deja en paz la trampa pasa sin problema.
  • Operación matemática. El visitante resuelve un pequeño cálculo (suma, resta o multiplicación). Se muestra como texto, así que un bot que maneja un navegador real puede leerlo.
  • Captcha de imagen. Caracteres distorsionados que el visitante debe escribir. Requiere la biblioteca PHP GD en el servidor y es lo que más esfuerzo exige a sus visitantes.

Empiece con el honeypot si lo que más le importa es la conversión, y pase a la operación matemática o al captcha de imagen cuando siga llegando spam. Elija una plantilla, ajuste la etiqueta si lo desea y haga clic en Save.

Paso 2: Activar sus formularios

Página Forms: la integración Contact Forms 7 está activada y muestra las etiquetas «Detected» y «Fields detected»; debajo aparece el formulario «Contact form 1», los demás plugins de formularios no están instalados
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Abra SilentShield → Forms (Formularios). Cada plugin de formularios tiene un interruptor; la etiqueta que hay junto a él indica si el plugin se ha detectado en su sitio. Active Contact Form 7 y la etiqueta cambia de «Disabled» a «Fields detected». Este interruptor guarda al instante, no hay ningún botón de guardar que pulsar.

Haga clic en un formulario concreto dentro de la integración si necesita ajustes propios. Los ajustes se aplican en tres niveles (global, integración, formulario individual) y el nivel inferior prevalece sobre el superior.

Guías paso a paso para cada plugin de formularios: Avada Forms, Elementor Forms, WPForms y el checkout de WooCommerce.

Paso 3: Añadir las capas de detección

Página Protection Settings, parte inferior: Timer Protection desactivado, JavaScript Detection activada, Browser Detection activada, Multiple Submission Protection desactivada, Gibberish Detection activada en el modo «Monitor only (record, do not block)» con «Flagged fields required: 3»
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Más abajo, en Protection Settings, cada capa tiene su propio interruptor. Este es el estado en una instalación nueva:

  • JavaScript Detection (activada). Bloquea los envíos de clientes que no han ejecutado JavaScript, por ejemplo un script que envía datos directamente a la dirección de su formulario.
  • Browser Detection (activada). Comprueba que la solicitud lleve un user agent válido.
  • Timer Protection (desactivada). Rechaza un envío que llega más rápido que un tiempo mínimo tras cargarse la página; el mínimo predeterminado es de 500 milisegundos.
  • Multiple Submission Protection (desactivada). Impide que la misma sesión de captcha se envíe más de una vez.
  • Gibberish Detection (activada, «Monitor only»). Marca los textos formados por caracteres aleatorios, como «dQgJlwEhfxaLZSKYLy». En modo monitor registra lo que habría rechazado y no bloquea nada. Observe los resultados durante un tiempo y cambie después el modo a «Block».

Un envío se rechaza en cuanto cualquier capa activa lo marca.

Paso 4: Limitación de frecuencia y reglas de contenido contra el spam persistente

Página Advanced Settings: IP-based Rate Limiting y Content Rules (límite de URL, BBCode, lista negra de palabras), ambos desactivados, y una lista negra de IP con las entradas de ejemplo 192.168.1.1 y 10.0.0.0/24
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Abra SilentShield → Advanced Settings (Ajustes avanzados). Todo esto viene desactivado de forma predeterminada:

  • Limitación de frecuencia por IP (rate limiting). Tras 3 intentos fallidos en 5 minutos, una dirección se bloquea durante 1 hora (los valores predeterminados, todos ajustables). Las direcciones se almacenan como hashes con sal.
  • Reglas de contenido. Un límite para el número de enlaces en un mensaje, un bloqueo de enlaces BBCode ([url=…]) y una lista negra de palabras. La lista negra es la propia lista de WordPress en «Settings → Discussion» («Disallowed Comment Keys»), así que editarla en un sitio o en otro tiene el mismo efecto.
  • Lista negra de IP. Direcciones que siempre quiere bloquear, una por línea.

Paso 5: Probar como visitante, no como administrador

Contact Form 7 tras una respuesta de captcha incorrecta: el formulario muestra los valores introducidos y un cuadro de respuesta resaltado con el texto «Captcha check»
Captura de pantalla de la interfaz de administración en inglés (SilentShield 2.15.14, WordPress 7.1.2, probado el 7 de octubre de 2026).

Los administradores y los usuarios con sesión iniciada omiten todas las comprobaciones de forma predeterminada (la lista blanca de la misma página). Por eso, una prueba con la sesión iniciada no demuestra nada. Abra en su lugar el formulario en una ventana privada del navegador:

  1. Envíelo con una respuesta de captcha incorrecta. El envío debe bloquearse; Contact Form 7 muestra el motivo en su cuadro de respuesta, aquí «Captcha check».
  2. Recargue el formulario y envíelo con la respuesta correcta. Debe pasar.

Qué ajuste frena qué tipo de spam

  • Scripts que envían directamente, sin navegador: JavaScript Detection y Browser Detection.
  • Bots que rellenan todos los campos: el honeypot.
  • Scripts que rellenan y envían un formulario en milisegundos: Timer Protection.
  • Texto de relleno con caracteres aleatorios: Gibberish Detection.
  • Spam de enlaces: límite de URL, bloqueo de BBCode y lista negra de palabras.
  • La misma dirección que lo intenta una y otra vez: limitación de frecuencia por IP.

Límites

  • Ningún ajuste frena el spam que una persona escribe a mano.
  • Los bots que manejan un navegador real pueden superar las comprobaciones del lado del cliente. Las reglas de contenido y Gibberish Detection se fijan en lo que se ha escrito; para este caso, la capa adecuada es el análisis de comportamiento.
  • Sin JavaScript en el navegador, se rechaza un envío a un formulario protegido.

Guía de protección de formularios

¿Listo para deshacerse del CAPTCHA?

Proteja sus formularios — de forma invisible. Sin tarjeta de crédito.