Recebendo mensagens automáticas pelo formulário? Antes de instalar outra barreira, descubra se é spam em formulário WordPress, bloqueio de pessoas reais ou notificação de email que não chega. Aplique uma proteção por vez e confirme que visitantes ainda conseguem falar com você.
Este tutorial trata de formulários já em uso. Se você ainda vai escolher a ferramenta, consulte o comparativo de plugins de formulário para WordPress.
Antes de começar: prepare um teste seguro
Identifique o formulário afetado, sua página, plugin e versão, destinatários das notificações e integrações com CRM ou automações. Use uma homologação que reproduza o fluxo, mas direcione os envios para caixas de teste e não acione sistemas de produção. Registre apenas métricas e padrões necessários, sem copiar mensagens reais ou dados pessoais para o teste.
Antes de instalar extensões, mudar filtros ou ajustar WAF/CDN, faça um backup restaurável dos arquivos e do banco de dados e documente como desfazer a mudança. Restaurar o banco inteiro em produção pode sobrescrever contatos e alterações recentes: prefira reverter a configuração específica e coordene qualquer restauração com quem administra o site.
Passo 1: descubra onde o contato se perde
- Spam recebido: uma submissão suspeita passa pelo filtro e chega ao destino.
- Falso positivo: uma pessoa legítima tenta enviar e o formulário ou uma camada de segurança rejeita a submissão.
- Falha de entrega: o formulário informa que aceitou o envio, mas a notificação não chega à caixa esperada.
Envie uma mensagem inofensiva usando dados fictícios autorizados em homologação. Confira a resposta exibida ao visitante, o destino da notificação e, se disponíveis, os registros autorizados do plugin e do serviço de envio. Compare também outras páginas ou formulários afetados. Uma mensagem de sucesso na tela não comprova recebimento pela equipe.
Se o envio foi aceito, mas o email não chegou, revise o destinatário, a caixa de spam e os registros do provedor de email. Nosso guia para configurar email no WordPress via SMTP ajuda a investigar entrega; SMTP não bloqueia spam submetido ao formulário.
No Contact Form 7, a documentação oficial sobre respostas de erro associa a borda laranja a suspeita de spam e a vermelha a falha de envio. Cores podem mudar por tema ou personalização; verifique o diagnóstico, não apenas a aparência. Mesmo a resposta verde indica apenas que a função de envio concluiu sua etapa, não que o destinatário recebeu a mensagem (FAQ de entrega do CF7).
Passo 2: confira a proteção que seu plugin já oferece
WPForms: antispam nativo e honeypot
No construtor do formulário, procure Settings > Spam Protection and Security (a tradução pode variar). Confira Enable anti-spam protection. Segundo a documentação do WPForms, a proteção moderna, ativada por padrão em formulários novos, usa honeypot e outras verificações; requer JavaScript. Formulários antigos podem mostrar opções legadas: não presuma que todos têm a mesma interface.
Um honeypot detecta parte dos bots por meio de um campo ou sinal que visitantes comuns não deveriam acionar. Ele não é garantia contra todo spam e pode prejudicar usuários se a implementação estiver errada. Não crie um campo oculto manual sem conhecer o funcionamento do plugin. Ao ajustar a proteção, salve e teste o formulário com cache/otimização de scripts e navegadores diferentes. Confira também se a instalação salva entradas de spam: retenção e visualização dependem de edição e configuração, e guardar dados pessoais exige finalidade e prazo definidos.
Contact Form 7: escolha uma integração de cada vez
Confira em Contato > Integração (ou Contact > Integration, conforme idioma e versão) quais serviços já estão ativos. O Contact Form 7 documenta Akismet e Turnstile como opções antispam. Não ligue várias camadas ao mesmo tempo sem linha de base para comparar.
Se optar pelo Akismet, confirme o plugin ativo, uma chave de API válida e as condições de licença aplicáveis. No modelo documentado, marque campos do formulário, por exemplo [text* your-name akismet:author] e [email* your-email akismet:author_email]. O CF7 envia ao serviço todos os campos preenchidos, não só os marcados, além de variáveis do ambiente (instruções oficiais). Avalie privacidade, informação ao visitante e necessidade real dessa integração antes de usá-la; não acrescente campos pessoais só para melhorar o filtro.
Passo 3: se o spam persistir, acrescente uma camada proporcional
Uma opção é o Cloudflare Turnstile integrado ao plugin. No CF7, a integração oficial orienta criar um widget, obter chave do site e chave secreta e configurá-las em Contact > Integration > Turnstile. Na implementação documentada, o widget é inserido automaticamente em todos os formulários CF7 após a integração: teste todos eles, não só o alvo. Configure os domínios de homologação e produção conforme o widget e mantenha a chave secreta fora de capturas e conteúdo público. No WPForms, confira a configuração disponível para Turnstile/CAPTCHA e sua associação ao formulário específico; os controles podem variar.
O desafio pode falhar para visitantes reais. Teste com teclado, celular, conexão lenta e, quando possível, leitor de tela e navegador com proteção de privacidade; ofereça outro canal de contato se houver bloqueio. Verifique o tratamento de dados pelo provedor e ajuste a comunicação de privacidade para a sua realidade. Não prometa acessibilidade universal nem bloqueio completo de bots.
Rate limiting no servidor ou WAF/CDN é uma medida mais avançada para abuso de alta frequência, inclusive envios diretos ao endpoint. Turnstile e limitação de taxa têm papéis distintos. Antes de criar regra, identifique a rota e o método reais, analise eventos e volume legítimo e escolha um limite e uma ação observáveis e reversíveis conforme hospedagem/plano. Não há número de requisições que sirva a todos os sites. Não bloqueie globalmente /wp-json/ ou admin-ajax.php, nem países ou IPs compartilhados: outros formulários e visitantes podem depender deles. Se não conseguir distinguir o tráfego, peça ajuda ao suporte. Para o restante do site, veja o guia de segurança WordPress.
Passo 4: teste falsos positivos, notificações e integrações
Repita a sequência antes e depois de cada alteração, com dados fictícios e destinatários autorizados em homologação:
| Cenário | O que conferir |
|---|---|
| Desktop e celular | O formulário carrega, permite enviar, mostra confirmação compreensível e a notificação chega ao destino de teste. |
| Teclado e tecnologia assistiva disponível | Campos, erros e desafio são utilizáveis; há alternativa de contato quando necessária. |
| Conexão lenta ou scripts de terceiros bloqueados | Não ocorre rejeição silenciosa; dependências de JavaScript ficam claras ao administrador. |
| Submissão suspeita controlada | Verifique se o filtro age conforme esperado, sem usar dados reais nem encaminhar testes ao CRM ou email de produção. |
| Outros fluxos | Outros formulários, checkout, login e integrações não foram prejudicados por regra compartilhada. |
Depois de aplicar no site ativo, acompanhe mensagens suspeitas, contatos legítimos recebidos, reclamações e erros de envio durante um período compatível com o tráfego normal. Sem linha de base ou amostra suficiente, não anuncie uma taxa de redução. Se houver falsos positivos, reverta a última camada e investigue sem divulgar dados de visitantes.
O CF7 não armazena submissões por padrão; o Flamingo é uma extensão opcional que as salva. Não a instale apenas para investigar spam sem política de acesso e retenção. No WPForms, confira os recursos e limites de armazenamento na edição instalada antes de prometer recuperação de envios. Se pensar em acrescentar plugins, faça uma auditoria dos plugins WordPress para evitar funções duplicadas.
O que evitar
- Desativar o formulário ou bloquear regiões inteiras apenas para reduzir notificações.
- Publicar chaves, IPs, emails ou mensagens de visitantes em prints e ferramentas de teste.
- Confundir email ausente com spam sem verificar aceitação e entrega da submissão.
- Ativar várias defesas de uma vez sem testes e sem plano de reversão.
Em resumo: identifique o ponto da falha, teste a proteção do plugin, acrescente outra camada apenas se necessário e confirme o recebimento de contatos legítimos. Antispam eficaz não é só menos mensagens falsas: é manter o canal de contato funcionando.



