Como proteger formulários de contato do WordPress contra spam usando honeypot
Olá, querido(a) cliente da GeHost! 👋 Se você tem um site no WordPress e já se deparou com mensagens de spam aparecendo nos formulários de contato, saiba que você não está sozinho. Mas temos uma boa notícia: existe uma técnica simples, eficaz e super prática para proteger seus formulários — e ela se chama honeypot.
Imagine um armadilha invisível no formulário. Ela é feita para atrair bots maliciosos, mas passa despercebida para pessoas reais. Quando um robô preenche esse campo "escondido", o sistema sabe que não é um humano — e bloqueia a mensagem automaticamente.
É como se você tivesse um "ponto de entrada secreto" que só os robôs caem. E o melhor? Você pode fazer isso sem instalar plugins ou alterar o código de forma complexa. Vamos lá, com passos simples, como se fosse um guia de um amigo que te ajuda com o coração.
Passo 1: Acesse o painel do WordPress
Entre no seu painel do WordPress (geralmente em seudominio.com/wp-admin). Use suas credenciais de acesso — aquelas que você criou ao montar o site.
Passo 2: Acesse o tema (tema ativo)
No painel do WordPress, vá em Temas → Editar (ao lado do tema que está ativo).
Na lista de arquivos, procure por functions.php — ele está dentro da pasta do seu tema. Clique para editá-lo.
Dica do Sensei: Sempre faça um backup do seu site antes de editar arquivos. Se algo der errado, o backup te salva!
Passo 3: Adicione o código do honeypot
Na parte final do arquivo functions.php, antes do fechamento do PHP (que é ?>), cole o código abaixo:
// Honeypot para formulários de contato
add_action('wp_footer', 'gehost_add_honeypot_field');
function gehost_add_honeypot_field() {
echo '';
}
Esse código cria um campo invisível no formulário. Ele está escondido com CSS, mas ainda está lá. Robôs que não sabem ler HTML ou ignoram campos ocultos acabam preenchendo esse campo — e isso é um sinal claro de que é um spam.
Passo 4: Verifique o formulário de contato
Se você usa um plugin como WPForms, Contact Form 7 ou Forminator, o campo invisível será ignorado por padrão. Mas é importante que o formulário não valide o campo "honeypot" como obrigatório.
Se o formulário for feito manualmente, certifique-se de que ele não está verificando esse campo. O ideal é que ele seja apenas um "teste de bot" — se o campo for preenchido, o formulário é bloqueado.
Passo 5: Proteja o formulário com validação (opcional, mas recomendado)
Para maior segurança, você pode adicionar uma validação simples no functions.php para verificar se o campo foi preenchido. Basta adicionar este código antes do fechamento do PHP:
// Verifica se o honeypot foi preenchido
add_action('init', 'gehost_check_honeypot');
function gehost_check_honeypot() {
if (isset($_POST['honeypot']) && !empty($_POST['honeypot'])) {
wp_die('Spam detectado. Acesso negado.');
}
}
Esse código vai bloquear qualquer tentativa de envio que preencha o campo invisível. Basta salvar o arquivo.
Passo 6: Teste com segurança
Para testar, abra o formulário em um navegador e tente preencher o campo invisível (você pode ver o campo se inspecionar o código, mas não precisa preencher). Se o formulário não for enviado, o honeypot está funcionando!
Depois, tente enviar sem preencher o campo — se o formulário for enviado normalmente, está tudo certo. O spam não passa, e os visitantes reais não sentem nada.
Por que funciona?
Robôs de spam geralmente preenchem todos os campos do formulário, sem pensar. Eles não sabem que um campo é "escondido". Quando preenchem o honeypot, o sistema sabe que não é humano — e evita o envio.
Humanos, por outro lado, não veem esse campo. Eles só preenchem o que está visível. É como um truque de mágica: o segredo está na invisibilidade.
Dica extra: Use plugins com segurança
Se preferir não mexer no código, existem plugins como Antispam Bee ou WP Anti Spam que já têm honeypot integrado. Mas o código que mostramos aqui é leve, seguro e funciona com qualquer tema.
Conclusão: proteção simples, resultado poderoso
Proteger seu formulário de contato contra spam não precisa ser complicado. Com o honeypot, você ganha uma camada de segurança invisível, eficaz e fácil de implementar — tudo isso sem gastar um real extra ou precisar de suporte técnico.
Se precisar de ajuda com o código ou tiver dúvidas sobre o funcionamento, seu suporte da GeHost está sempre disponível por 30 dias após a entrega. Acesse o painel do cliente e abra um chamado — nós te ajudamos com carinho.
Seu site merece ser protegido. E você, com certeza, merece ter mais tempo para atender pessoas reais — e não robôs maliciosos. 🌟
Com carinho,
Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)*