Este guia leva um site WordPress recém-instalado com Contact Form 7 de «sem proteção» a uma configuração em camadas. Tudo foi testado a 7 de outubro de 2026 com o SilentShield 2.15.14, o Contact Form 7 6.2 e o WordPress 7.1.2. As camadas aqui descritas correm no seu próprio servidor; a API opcional do SilentShield é abordada no guia do WordPress.
Uma instalação nova ainda não protege nada

Depois de ativar o plugin, ele está a funcionar, mas nenhum plugin de formulários está ativado. O Dashboard diz-o com clareza: «No form is protected yet» (Nenhum formulário está protegido), seguido dos plugins de formulários que encontrou no seu site. Enquanto não ativar um plugin de formulários, os respetivos formulários não mostram nenhum campo de captcha e nada é verificado.
Todas as definições abaixo encontram-se no menu SilentShield da administração do WordPress.
Passo 1: escolher um método de captcha

Abra SilentShield → Protection Settings (Definições de proteção). Estão disponíveis três métodos:
- Honeypot (predefinido, invisível). Um campo-isco fica fora do ecrã; os visitantes nunca o veem, mas os bots que preenchem todos os campos que encontram, sim. Um honeypot não é um desafio: um bot que lê a página e deixa o isco em paz passa.
- Operação matemática. O visitante resolve um pequeno cálculo (adição, subtração ou multiplicação). É apresentada como texto, por isso um bot que controla um navegador real consegue lê-la.
- Captcha de imagem. Carateres distorcidos que o visitante tem de escrever. Precisa da biblioteca PHP GD no servidor e é a opção que exige mais esforço aos seus visitantes.
Comece pelo honeypot se a taxa de conclusão for o que mais lhe importa e passe à operação matemática ou ao captcha de imagem quando continuar a chegar spam. Escolha um modelo, ajuste a etiqueta se quiser e clique em Save.
Passo 2: ativar os formulários

Abra SilentShield → Forms (Formulários). Cada plugin de formulários tem um interruptor; a etiqueta ao lado indica se o plugin foi detetado no seu site. Ative o Contact Form 7 e a etiqueta muda de «Disabled» para «Fields detected». Este interruptor guarda de imediato, não há nenhum botão de guardar para premir.
Clique num formulário individual dentro da integração se esse formulário precisar de definições próprias. As definições aplicam-se a três níveis (global, integração, formulário individual) e o nível inferior prevalece sobre o superior.
Guias passo a passo para plugins de formulários individuais: Avada Forms, Elementor Forms, WPForms e o checkout do WooCommerce.
Passo 3: adicionar as camadas de deteção

Mais abaixo em Protection Settings, cada camada tem o seu próprio interruptor. Este é o estado numa instalação nova:
- Deteção de JavaScript (ativa). Bloqueia envios de clientes que não executaram JavaScript, por exemplo um script que envia dados diretamente para o endereço do seu formulário.
- Deteção de navegador (ativa). Verifica se o pedido traz um user agent válido.
- Proteção por temporizador (desativada). Rejeita um envio que chegue mais depressa do que um tempo mínimo após o carregamento da página; o mínimo predefinido é de 500 milissegundos.
- Proteção contra envios múltiplos (desativada). Impede que a mesma sessão de captcha seja enviada mais de uma vez.
- Gibberish Detection (ativa, «Monitor only»). Assinala texto composto por carateres aleatórios, como «dQgJlwEhfxaLZSKYLy». No modo de monitorização regista o que teria rejeitado e não bloqueia nada. Observe os resultados durante algum tempo e depois mude o modo para «Block».
Um envio é rejeitado assim que qualquer camada ativa o assinala.
Passo 4: limite de frequência e regras de conteúdo contra spam persistente

Abra SilentShield → Advanced Settings (Definições avançadas). Tudo isto está desativado por predefinição:
- Limitação de frequência por IP (rate limiting). Após 3 tentativas falhadas em 5 minutos, um endereço é bloqueado durante 1 hora (os valores predefinidos, todos ajustáveis). Os endereços são guardados como hashes com salt.
- Regras de conteúdo. Um limite para o número de links numa mensagem, um bloqueio de links BBCode (
[url=…]) e uma lista negra de palavras. A lista negra é a lista do próprio WordPress em «Settings → Discussion» («Disallowed Comment Keys»), pelo que editá-la num sítio ou no outro tem o mesmo efeito. - Lista negra de IP. Endereços que quer sempre bloqueados, um por linha.
Passo 5: testar como visitante, não como administrador

Os administradores e os utilizadores com sessão iniciada ignoram por predefinição todas as verificações (a whitelist na mesma página). Um teste com a sessão iniciada não prova, por isso, nada. Abra antes o formulário numa janela privada do navegador:
- Envie com uma resposta de captcha errada. O envio tem de ser bloqueado; o Contact Form 7 mostra o motivo na sua caixa de resposta, aqui «Captcha check».
- Recarregue o formulário e envie com a resposta correta. Tem de passar.
Que definição trava que tipo de spam
- Scripts que enviam diretamente, sem navegador: Deteção de JavaScript e Deteção de navegador.
- Bots que preenchem todos os campos: o honeypot.
- Scripts que preenchem e enviam um formulário em milissegundos: Proteção por temporizador.
- Texto de enchimento com carateres aleatórios: Gibberish Detection.
- Spam de links: limite de URL, bloqueio de BBCode e lista negra de palavras.
- O mesmo endereço a tentar vezes sem conta: limitação de frequência por IP.
Limites
- Nenhuma definição trava o spam que uma pessoa escreve à mão.
- Os bots que controlam um navegador real podem passar as verificações do lado do cliente. As regras de conteúdo e a Gibberish Detection olham, em vez disso, para o que foi escrito; para este caso, a camada adequada é a análise de comportamento.
- Sem JavaScript no navegador, um envio para um formulário protegido é rejeitado.