Descarregar: Forget Spam Comment Plugin
Este é um plugin anti-spam gratuito exclusivamente para o sistema de comentários padrão do WordPress.
Como funciona
Alternativamente, para o utilizador avançado abaixo está o método manual
O sistema de comentários padrão do WordPress tem dois grandes problemas.
- Atrair comentários de spam.
- Não envio de e-mail de seguimento ao autor dos comentários (Discutiremos dentro de algum tempo).
Falemos das suas soluções.
Prevenção de comentários de spam
Em vez de permitir directamente a qualquer pessoa fazer um pedido POST em /wp-comments-post.php
podemos adicionar alguma lógica para evitar comentários de spam em 100%.
Passo 1. Comentário Restringir pedido POST Caminho sobre o Parâmetro de Consulta
Vou partilhar de três maneiras, usar um método.
Apache
- Yoast > Go to Tools > File Editor
- RankMath > Go to General Settings > Edit .htaccess
- FTP/SSH > Check
/var/www/html
# If Query string doesn't matches return 404
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} .wp-comments-post\.php
# You may change 45jpfAY9RcNeFP to something else
RewriteCond %{QUERY_STRING} !^45jpfAY9RcNeFP
RewriteRule (.*) - [R=404,L]
</IfModule>
Se estiver no LiteSpeed, também suporta ficheiro .htaccess. Deve reiniciar após a implementação.
NGINX
location = /wp-comments-post.php {
if ($query_string !~ "45jpfAY9RcNeFP") {
return 404;
}
}
Cloudflare
- Entrar para Cloudflare Dashboard
- Ir para Firewall > Firewall Rules
- Criar uma nova regra de firewall com expressão abaixo
Campo | Operador | Valor | |
URI | contains | wp-comments-post.php | And |
URL Query String | does not equal | 45jpfAY9RcNeFP |
- Escolher Acção: Bloco
No final, verá expressão
(http.request.uri contains "wp-comments-post.php" and http.request.uri.query ne "45jpfAY9RcNeFP")
Passo 2. Corrigir o URL de Comentário POST no evento Scroll
- Adicionar abaixo função utilizando o plugin ou tema do Código Snippets functions.php
- Certifique-se de que utiliza o domínio e a identificação correcta do formulário.
function correct_comment_url_on_scroll() {
// Check if Comment is enabled
if(comments_open()) echo '<script>
let commentForm = document.querySelector("#commentform, #ast-commentform, #ht-commentform");
// Load new comment path on the scroll event
document.onscroll = function () {
commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>';
}
add_action('wp_footer', 'correct_comment_url_on_scroll', 99);
Em alternativa, se for um utilizador do tema GeneratePress Premium, pode adicionar directamente a parte acima do JS usando o módulo Elements.
<script>
let commentForm = document.querySelector("#commentform");
commentForm.action = "https://www.example.com/wp-comments-post.php";
// Load new comment path on the scroll event
document.onscroll = function () {
commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>
- Acrescentar um novo gancho
- Novo Título do Gancho: Mudar URL de Comentário sobre a Mosca
- Gancho: WP Footer
- Prioridade: 99
- Localização: Posts – All posts
- Publicar
Como verificar se está a funcionar?
- Geralmente WordPress return 405 resposta para pedido GET em /wp-comments-post.php
- Mas após a configuração acima, deverá ver o Access Denied.
- E, o URL só deve ser carregado na presença do Query String
45jpfAY9RcNeFP
especial que acrescentámos para evitar comentários de spam. Pode alterar esta cadeia de consulta para outra coisa em toda a configuração acima. - O código fonte mostrará tipicamente o caminho
wp-comments-post.php
mas se inspeccionar um elemento depois de rolar, notará uma cadeia de consulta adicionada.
Resultado #1: Sem Spam
Resultado #2: Spammers a serem bloqueados
Dica de bónus para tornar ainda melhor o Sistema de Comentários por defeito
- Por defeito, o sistema de comentários do WordPress não envia e-mail de seguimento para o Autor dos Comentários. Para corrigir este problema, pode usar o plugin Comment Reply Email Notification de Arno Welzel.
Se gostar desta informação, por favor passe-a aos seus amigos. 🙏
Thank you so much Sir Gulshan Kumar! I really appreciate your guide, and this has saved me tons of headache. Implemented via Cloudflare WAF plus Generatepress Elements Module.
Glad to hear. Thank you!
By the way, how do you know if legit users won’t get blocked? Before this, I’ve been using a CF firewall rules that will blocks or challenge anyone who visit wp-comments-post.php but actually by doing so, legit users also got blocked. How this one different? Is it because of the string “45jpfAY9RcNeFP” that will differentiate which request is from bot and which request is from legit users? If legit users, they should’ve the string, if it’s spam, they don’t have that string. Am I understand it correctly?
You need to implement exactly as per instructions to prevent users from blocking.
Does this plugin / method will stop website from having spam comments once and for all or do we still receive it but it’s automatically filtered from the real comments (like Akismet)?
There is no filter. It just stops spam.
That is so cool! Will try it. Thank youuuuuuuuuuuuuu
You’re welcome!
The best plugin to filter the spam.
Hi Gulshan.
I just wanted to let you know that I’ve been using your plugin for a few weeks now and it is brilliant. Genuine comments still get through but all of the spam, and I mean ALL of it, is filtered out. Excellent job!
Well done and thank you so much for sharing it for free so that hobby bloggers like me can make use of it.
thank you very useful
Hy! I just installed your plugin but Google Console show me tons of errors:
https://prnt.sc/wnhkbd
How can I solve this? Thanks!!
Hi,
I am also using plugin at this blog. It works perfectly fine here.
If you want to me look into this issue, please provide your actual site URL where I can see live.
Thanks!
Brilliant! Thank you so much!
I have question
Where can I get value code like 45jpfAY9RcNeFP
You can use MD5 generator or write any random text. I’d recommend using plugin for set and forget experience.
Good plugins for stopping spam.
I have use this plugin earlier. It is working perfectly.
Wow! This is great. Thanks a lot. Gonna give a try to this trick.
Glad, this is not a spam comment. Just kidding!
Thanks Huzaifa!😊