
🚫 Como parar o spam do Contact Form 7 no WordPress
Formulário de feedback a afogar-se em spam? Dezenas de submissões vazias por dia a entupir a sua caixa de entrada enquanto as perguntas reais de clientes se perdem no lixo.
O Contact Form 7, o plugin de formulário de contacto gratuito mais popular para WordPress, tem mais de 5 milhões de instalações ativas. Esta popularidade tornou-o no alvo número um dos bots de spam: eles encontram sites WordPress, identificam o URL padrão do formulário e inundam-no com milhares de submissões automáticas.

Não precisa de desativar o formulário nem de adicionar um CAPTCHA desajeitado. Abaixo estão cinco métodos funcionais, desde funcionalidades nativas do CF7 a plugins especializados. Nenhum requer código: tudo é configurado através do painel de administração em 10 a 15 minutos.
💡 Resumo rápido:
- Ative o questionário nativo do CF7 (os bots não conseguem responder a perguntas)
- Defina um comprimento mínimo de mensagem para bloquear spam de uma palavra
- Ligue o Akismet para filtragem inteligente baseada numa base de dados global de spammers
- Instale o CF7 Apps com uma armadilha honeypot (um campo oculto que só os bots veem)
- Último recurso: Really Simple CAPTCHA (proteção simples, mas datada)
1. Questionário nativo do Contact Form 7
O método mais subestimado e eficaz. O CF7 permite adicionar um tag [quiz] ao seu formulário: uma pergunta simples a que qualquer pessoa consegue responder, mas um bot não.
Funciona assim: faz uma pergunta como «Quanto é três mais quatro?» ou «Em que ano estamos?» e especifica a resposta correta após uma barra vertical. Se o visitante responder incorretamente, o formulário não é enviado.
1 [quiz math-test "Сколько будет три плюс четыре?|7"]
Os bots não interpretam o contexto de uma pergunta; limitam-se a preencher campos e a clicar em «Enviar». O questionário quebra completamente esta lógica.
Prós: gratuito, funciona de raiz, não torna o site mais lento, não adiciona plugins. Há apenas uma desvantagem: teoricamente, um bot direcionado, criado para um site específico, poderia ser treinado para responder. Mas para a grande maioria dos sites, este cenário é um exagero: os spammers não perdem tempo a contornar manualmente um blogue individual.
2. Comprimento mínimo e máximo da mensagem

Uma parte significativa do spam automático consiste em mensagens curtas de duas ou três palavras, ou até um único número. A lógica dos spammers é simples: inundar o maior número possível de formulários no menor tempo possível. Ninguém vai gastar recursos a gerar texto coerente.
O CF7 suporta os parâmetros minlength e maxlength diretamente no shortcode do campo:
1 [textarea your-message minlength:20 maxlength:500]
Vinte caracteres é um mínimo seguro: um cliente real escreve «Olá, estou interessado nos custos de envio», enquanto um bot envia «12345» ou «Compre agora barato». Qualquer coisa com menos de 20 caracteres é rejeitada antes da submissão.
O parâmetro maxlength também protege contra outro vetor: mensagens extremamente longas onde os bots inserem milhares de palavras-chave para spam de SEO. Quinhentos caracteres cobrem qualquer pedido normal, mas cortam as paredes de texto.
Não há desvantagens aqui; este método deve estar sempre ativo, independentemente de outras medidas.
3. Akismet: filtragem inteligente de spam

Akismet é um serviço anti-spam na cloud da Automattic (a equipa do WordPress). Analisa o conteúdo dos envios, cruza-o com uma base de dados global de spammers conhecidos e toma uma decisão em milissegundos. Segundo o próprio serviço, o Akismet bloqueia 99,8% do spam em sites WordPress.
Nem toda a gente sabe que o Akismet funciona com mais do que apenas comentários; também funciona com o Contact Form 7. Depois de instalar o plugin e ativar a chave de API (gratuita para sites não comerciais), adiciona-se uma pequena integração e o Akismet verifica automaticamente os campos do CF7 em busca de padrões de spam.
Em testes reais num site de alto tráfego, o Akismet, por si só, reduziu o volume de spam em cerca de dois terços. O terço restante é tratado combinando-o com o questionário e o comprimento mínimo, resultando em praticamente zero submissões de lixo sem um único CAPTCHA.
4. CF7 Apps: honeypot e hCaptcha num só plugin

O clássico Contact Form 7 Honeypot evoluiu para o CF7 Apps, um plugin modular que adiciona várias funcionalidades ao CF7 de uma só vez. Duas delas são relevantes aqui.
Honeypot é um campo-armadilha oculto. Um campo invisível é adicionado ao formulário, estilizado via CSS para que os visitantes reais não o vejam nem preencham. Um bot, no entanto, analisa o código HTML, encontra o campo e preenche-o, sendo assim apanhado. O plugin deteta o honeypot preenchido e bloqueia o envio.
É adicionado com um único shortcode:
1 [honeypot honeypot-837]
Pode alterar os números no nome; isto dificulta a vida aos bots que aprendem a contornar nomes de campo padrão.
hCaptcha é uma alternativa moderna ao reCAPTCHA que não recolhe dados do utilizador. Após obter as chaves no site do hCaptcha, é ativado com uma única caixa de verificação nas definições do CF7 Apps, e aparece um widget no formulário que a maioria dos visitantes reais nem sequer nota.
Ambas as funcionalidades funcionam de forma independente: pode ativar apenas o honeypot, apenas o hCaptcha ou ambos. O plugin é mantido ativamente (versão mais recente: 2026), ao contrário de muitos concorrentes.
5. Really Simple CAPTCHA: uma opção de recurso

O Really Simple CAPTCHA foi criado pelo mesmo programador do Contact Form 7, pelo que os dois plugins funcionam em conjunto sem conflitos. Gera uma imagem simples com um código que tem de ser introduzido para enviar o formulário.
A configuração é simples: instale o plugin, adicione a etiqueta [captchac] ao seu formulário CF7 e fica a funcionar.
No entanto, este método tem algumas limitações. Em primeiro lugar, o plugin não recebe atualizações significativas há muito tempo e não foi oficialmente testado com as versões mais recentes do WordPress, embora os utilizadores confirmem que funciona até à versão WP 6.9. Em segundo lugar, requer a biblioteca GD + FreeType no servidor, que pode estar em falta em alojamentos económicos. Em terceiro lugar, um CAPTCHA baseado em texto incomoda visivelmente os utilizadores, e alguns visitantes reais simplesmente abandonam a página sem preencher o formulário.
Recomendamos que experimente o Really Simple CAPTCHA apenas se os primeiros quatro métodos não derem resultados. Na maioria dos casos, uma combinação do questionário, do comprimento mínimo e do Akismet é suficiente.
🔗 Really Simple CAPTCHA no WordPress.org
O que resultou no nosso caso
Um cliente veio ter connosco com um problema: o Contact Form 7 num site com cerca de 10 000 visitantes únicos por mês estava a receber dezenas de submissões de spam diariamente. Procedemos passo a passo:
- Instalámos o Akismet e o spam diminuiu de várias dezenas para 5 a 10 mensagens por dia.
- Adicionámos um
[quiz]com a pergunta «Quanto é dois mais dois?» e apenas passava spam ocasional. - Ativámos
minlength:20para o campo de mensagem e o spam desapareceu completamente.
A combinação de três métodos, sem um único CAPTCHA, resolveu o problema em meia hora de trabalho. Nenhum cliente real se queixou de incómodo: nem sequer notaram as alterações, porque o questionário parece natural e um limite de 20 carateres é invisível durante uma comunicação normal.
Se está a começar a combater o spam, instale o Akismet como a sua primeira linha de defesa. É a solução autónoma mais poderosa que não precisa de um honeypot nem de CAPTCHA para uma proteção básica. Depois, adicione camadas conforme necessário, por tentativa e erro, monitorizando as estatísticas de spam após cada alteração.
⁉️🤔 Perguntas frequentes
Porquê não usar o Google reCAPTCHA?
O reCAPTCHA v2, com os seus semáforos e pontes, bloqueia bots, mas à custa da experiência do utilizador. De acordo com estudos de laboratórios de usabilidade, um em cada cinco visitantes abandona um formulário ao ver um CAPTCHA. O reCAPTCHA v3 funciona de forma invisível, mas requer integração através de um plugin adicional para o CF7 e tem problemas de falsos positivos. O questionário integrado do CF7 resolve o mesmo problema sem serviços externos. Não usamos o reCAPTCHA onde um questionário do CF7 e um honeypot são suficientes: o questionário não sobrecarrega o site com pedidos externos ao Google e não recolhe dados dos visitantes. Para projetos onde o anti-spam do Google é essencial, existem plugins de ponte separados no diretório do WordPress.
Posso safar-me apenas com um método?
Depende do volume de spam. Um site com pouco tráfego safa-se muitas vezes apenas com o Akismet ou só com o questionário. Um site com milhares de visitantes diários irá quase certamente exigir uma combinação de 2 a 3 métodos: os spammers usam quintas de bots na cloud, e o que trava um será contornado por outro.
Na prática, começamos com o Akismet. Se o spam baixar para um nível aceitável, ficamos por aí. Se não, adicionamos o questionário. Se ainda não for suficiente, adicionamos um honeypot através do CF7 Apps. A sobreposição gradual é melhor do que instalar cinco plugins de uma vez; cada nova camada só faz sentido quando a anterior não é suficiente.
Em que é que o CF7 Apps é melhor do que o antigo Contact Form 7 Honeypot?
O antigo plugin Contact Form 7 Honeypot fazia exatamente uma coisa: adicionava um campo oculto. O CF7 Apps é o seu sucessor moderno, do programador ativo Saad Iqbal. Além do honeypot, trata do hCaptcha, guarda submissões na base de dados, redirecionamentos pós-submissão, webhooks e integração com ACF, tudo num só plugin.
Todos os módulos são independentes: se ativar apenas o honeypot, é só isso que corre, sem código extra. O plugin é atualizado em 2026 e compatível com as versões atuais do WordPress, ao contrário do antigo Honeypot de função única, que já não é mantido.
Devo instalar os cinco métodos de uma vez?
Não, e não o recomendamos. Cada plugin extra abranda o site e adiciona um potencial ponto de falha. Comece com um ou dois métodos, acompanhe os resultados durante uma semana e depois decida se adiciona outra camada.
A pilha mínima para a maioria dos sites: Akismet + comprimento mínimo da mensagem. Isto é suficiente na grande maioria dos casos. Adicione o questionário quando o spam continuar a chegar apesar do Akismet. Adicione o honeypot se os bots aprenderem a contornar o questionário (um cenário raro). Adicione um CAPTCHA apenas quando mais nada resultou.
E se o spam continuar apesar de tudo?
Verifique se o spam está a contornar o CF7: alguns temas e plugins adicionam os seus próprios formulários de contacto que o CF7 não controla. Exclua também o spam manual: se as mensagens forem coerentes e dentro do tópico, mas promocionais, são pessoas reais, contra as quais os métodos técnicos são impotentes.
Em último recurso, considere mudar de plugin de formulários. O Gravity Forms e o WPForms têm mecanismos anti-spam integrados mais agressivos e suporte oficial pronto a usar para o Google reCAPTCHA, sem plugins adicionais.
Qual o método de proteção anti-spam a escolher
A escolha depende de um parâmetro: o volume de tráfego de lixo num site específico. Não existe uma «bala de prata» universal: um site institucional de três páginas e um fórum com mil utilizadores exigem níveis de proteção diferentes.
Se está a começar, ative o Akismet e defina um comprimento mínimo para a mensagem (minlength:20). Estes dois passos demoram dez minutos e bloqueiam a maior parte do spam automatizado sem um único CAPTCHA e sem queixas dos utilizadores.
Se o spam continuar após o Akismet, adicione um [quiz]. Os bots não respondem a perguntas; as pessoas respondem sem pensar. A terceira linha de defesa é o CF7 Apps com uma armadilha honeypot: um campo oculto sobre o qual o visitante real nada sabe.
E lembre-se: cada novo plugin é um compromisso entre segurança e velocidade do site. Construa a proteção gradualmente, cortando o spam camada a camada. A configuração ideal é aquela em que o spam é zero e o visitante nem sequer se apercebe de que o formulário tem qualquer proteção.



