11 set

6 maneiras fáceis e eficientes de se combater spams em comentários

Categoria: - Comentários (3)

Olá pessoal!

Esta semana, o site WP Tuts Plus publicou um artigo falando sobre como combater spams em comentários do WordPress. Eu resolvi traduzi-lo porque achei este artigo bem interessante e pode ajudar muita gente.

Uma das desvantagens de se ter um blog WordPress de sucesso, é que algumas pessoas querem tirar proveito desse sucesso postando vários comentários “spam” em seu blog na tentativa de conseguir mais visitantes. Às vezes eles fazem isso com os robôs, outras vezes com as extensões de navegadores feitas em casa, ou manualmente – exatamente como um ser humano normal. Isso não é legal.

Mas, graças à arquitetura flexível do WordPress, existem inúmeras maneiras de prevenir e até evitar essas coisas. Neste artigo, nós vamos falar de seis métodos fáceis e eficientes para ter um blog WordPress livre de spam.

1. Akismet – O chefão dos plugins Antispam.

O que previne: Spam automatizado e spam manual.

Se vamos falar sobre métodos de combate a spams de comentários, seria uma vergonha se não começássemos com o mais popular de todos. Bem, ele é o mais popular porque vem junto com o pacote do WordPress, mas também ganha o privilégio com a sua grande qualidade.

De acordo com o seu site, ele executa centenas de testes (com seus próprios servidores), quando um comentário é postado em seu blog. Se os testes dizem “Sim”, o comentário passa livre, mas se dizem “Não”, o comentário vai para a pasta de Spam.

Só precisa que você se inscreva, através de um formulário simples (você pode escolher a versão grátis ou pagar por ele) e iniciar o uso do plugin assim que você informar a chave de API na página de configurações do plugin.

2. Desativando o acesso direto ao arquivo wp-comments-post.php com o .htaccess

O que previne: Spam automático.

Você sempre poderá desativar o acesso direto ao arquivo wp-comments-post.php adicionando o código abaixo ao arquivo .htaccess:

(Créditos: Cats Who Code)

A lógica é simples: Se o “referrer” não for do seu blog (não se esqueça de alterar a parte que diz “yourdomainname” para o domínio do seu site!), ele não permite que o arquivo seja acessado. Outra coisa boa sobre este código é que robôs de spam não irão aumentar o uso dos recursos do seu servidor, uma vez que eles não podem acessar o arquivo.

3. O Plugin “Cookies for Comments”

O que previne: Spam automático e spam manual.

Eu sei que eu devo ser imparcial com relação a estes plugins anti-spam mas, o plugin Cookies for Comments, é de longe, o melhor que já usei!

De acordo com o autor do plugin, Donncha O Caoimh:

“O plugin adiciona um stylesheet ou imagem ao código-fonte HTML do seu blog. Quando um navegador carrega o stylesheet ou a imagem, um cookie é disparado. Se aquele usuário deixar um comentário, o cookie é checado. Se não existir comentário, é marcado como spam.”

Simples assim. Melhor ainda, o plugin também checa a velocidade que o comentário é enviado. Então, por exemplo, se o comentário é enviado dentro de 3 segundos de quando a página do post foi carregada, provavelmente é um spam. Você pode definir o intervalo na página de opções, juntamente com a escolha de como lidar com os “comentários capturados” – você pode defini-los como “spam” ou excluí-los diretamente.

4. Usando um sistema de comentários diferente (como disqus ou jetpack)

O que previne: Spam automático.

Há uma coisa boa sobre sistemas de comentários: Robôs de Spam geralmente não conseguem lidar com eles de qualquer maneira! Bem, eles provavelmente “não conseguem” fazer nada porque os sistemas de comentários são carregados dentro de um iframe — ou outro. Eu não sei.

De qualquer forma, você pode e deve usar outros sistemas de comentários, se você está recebendo muitos comentários de spam. Eles têm mais funcionalidade, uma boa aparência, eles fazem os visitantes mais felizes e, se voltarmos ao ponto inicial, eles são, em sua maioria, imunes a spam.

Eu posso recomendar JetpackDisqus and Facebook Comments.

5. Utilizando um checkbox para habilitar o botão de enviar comentário

O que previne: Spam automático.

Novamente, ista não é uma medida muito forte para evitar spam, mas pode ajudar com os seus problemas e ele realmente não atrapalha os comentadores legítimos.

Primeiro, você precisa adicionar um checkbox no formulário de comentários do seu tema (provavelmente no arquivo comments.php), como abaixo:

É uma boa idéia adicioná-lo logo acima do botão de enviar. A propósito, observe o valor do atributo “name” do botão de envio e o elemento <form>. Se você não tem um atributo “name” para o elemento <form>, adicione-o com o valor “commentform”.

Em seguida, adicione o código abaixo ao seu arquivo header.php, dentro do elemento <head>:

Altere “commentform” e “submit” se você tiver um valor diferente em name="..." para o elemento <form> e/ou para o botão de envio de comentário.

É só isso! Se você precisar estilizar o checkbox, ele tem uma classe chamada “enable_checkbox“.

6. Plugins de CAPTCHA

O que previne: Spam automático.

Eu tenho que dizer que esta é a minha opção menos favorita (já que é meio chato para os comentadores legítimos), mas, no entanto, eles são uma das maneiras mais eficazes para prevenir o spam de comentários.

CAPTCHA significa “Completely Automated Public Turing test to tell Computers and Humans Apart” de acordo com a  Wikipedia. Há um monte de plugins por aí, mas eu vou falar sobre dois plugins específicos:

reCAPTCHA

O reCAPTCHA tem uma abordagem muito diferente do sistema CAPTCHA, usando-o fazer algo bom. É basicamente isso: o Google digitaliza livros antigos, revistas, documentos, etc. mas, claro, o software de OCR não pode sempre ler as palavras e é aí que vem a calhar – ele faz as pessoas lerem as palavras que o software de OCR não pode! (Para maiores informações, você pode visitar Google’s reCAPTCHA website.)

E o reCAPTCHA for WordPress pode fazer ista técnica curiosamente útil para o seu website.

CAPTCHA

Este é um outro bom método para evitar o spam, exigindo retorno humano: Ele utiliza operações matemáticas e deixa um pouco da equação em branco para que o usuário possa (deve) completa-la para poder enviar o comentário.

Conclusão

Nós não podemos impedir 100% do spam – há pessoas pela internet, que enviam spam como um ser humano normal, escrevendo comentários legítimos e inserindo nos formulários de comentários, algumas URLs. Portanto, não podemos lidar com todos eles, mas eu tenho certeza de que podemos evitar 9 entre 10 comentários de spam com as técnicas acima! :)

É claro, esta pode não ser uma lista completa para evitar spams de comentários. Se você tiver alguma coisa para acrescentar a este artigo, a sua opinião é sempre bem-vinda! Aguardo seus comentários “legítimos” :)

Comentários ( 3 )

  • Matéria realmente muito interessante! Parabéns

  • Excelente post, não conhecia algumas dassas dicas e vou implantar daqui a pouco.

    Eu só acrescentaria a retirada do campo URL dos comentários, isso diminuiu bastante o numero de spams no meu caso, aonde os usuários reais geralmente preenchiam com sites “cjhdjvhd” ou “google.com.br” então o campo só servia mesmo para spam.

    Abraço.

    • wpmidia

      Olá Marcelo!

      Muito boa a sua sugestão!
      Eu achei o seguinte código para remover o campo Website do formulário de comentário, bastando adicioná-lo ao arquivo functions.php do tema:

      function disable_comment_url($fields)
      {
      //print_r($fields); //uncomment this to see the default value of $fields

      unset($fields['url']);

      return $fields;
      }
      add_filter('comment_form_default_fields','disable_comment_url');

      Obrigada pelo comentário!
      Abraços

      Miriam de Paula :-)

Envie seu comentário

Resize-me!