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

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

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

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

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

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

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:
- 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».
- 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.