Sekarang Lupakan Komentar Spam di WordPress 😎

Unduh: Lupakan Plugin Komentar Spam

Ini adalah plugin anti-spam gratis khusus untuk sistem komentar default WordPress.

Bagaimana cara kerjanya

Atau, untuk pengguna tingkat lanjut di bawah ini adalah metode manual

Sistem komentar default WordPress memiliki dua masalah utama.

  1. Menarik komentar spam.
  2. Tidak mengirimkan email tindak lanjut kepada penulis komentar (Akan dibahas sebentar lagi).

Mari kita bicarakan tentang solusinya.

Mencegah Komentar Spam

Alih-alih secara langsung mengizinkan siapa pun untuk membuat permintaan POST di / wp-comments-post.php, kita dapat menambahkan beberapa logika untuk mencegah komentar spam sebesar 100%.

Langkah 1. Batasi Jalur Permintaan POST Komentar atas Parameter Kueri

Saya akan berbagi tiga cara, gunakan satu metode.

Apache

  • Yoast > Pergi ke Alat > Editor File
  • RankMath > Pergi ke Pengaturan Umum > Edit .htaccess
  • FTP/SSH > Periksa /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>

Jika Anda menggunakan LiteSpeed, ini juga mendukung file .htaccess. Anda harus memulai ulang setelah implementasi.

NGINX

location = /wp-comments-post.php {

 if ($query_string !~ "45jpfAY9RcNeFP") {
     return 404;
  }
}

Cloudflare

prevent spam comments
  • Masuk ke Cloudflare Dashboard
  • Pergi ke Firewall > Aturan Firewall
  • Buat aturan firewall baru dengan ekspresi di bawah ini
LapanganOperatorNilai
URIcontainswp-comments-post.phpDan
URL Query Stringdoes not equal45jpfAY9RcNeFP
  • Pilih Tindakan: Blok

Pada akhirnya, Anda akan melihat ekspresi

(http.request.uri contains "wp-comments-post.php" and http.request.uri.query ne "45jpfAY9RcNeFP")

Langkah 2. Perbaiki URL POST Komentar pada acara Gulir

  • Tambahkan fungsi di bawah ini menggunakan plugin Code Snippets atau tema functions.php
  • Pastikan untuk menggunakan domain dan ID formulir yang benar.
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);

Atau, jika Anda adalah pengguna tema GeneratePress Premium, Anda dapat menambahkan bagian JS di atas secara langsung menggunakan modul 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>
  • Tambahkan hook baru
  • Judul Kait Baru: Ubah URL Komentar dengan Cepat
  • Hook: WP Footer
  • Prioritas: 99
  • Lokasi: Kiriman – Semua kiriman
  • Terbitkan

Bagaimana cara memeriksa apakah ini berfungsi?

  • Umumnya WordPress mengembalikan respons 405 untuk permintaan GET di / wp-comments-post.php
  • Tetapi setelah penyiapan di atas, Anda akan melihat Access Denied.
  • Dan, URL hanya boleh dimuat jika ada String Kueri khusus 45jpffAY9RcNeFP yang kami tambahkan untuk mencegah komentar spam. Anda dapat mengubah string kueri ini menjadi sesuatu yang lain dalam semua konfigurasi di atas.
  • Kode sumber biasanya akan menampilkan jalur wp-comments-post.php tetapi jika Anda memeriksa elemen setelah scroll, Anda akan melihat string kueri ditambahkan.

Hasil #1: Tidak ada Spam

no spam

Hasil #2: Spammer diblokir

log

Kiat bonus untuk membuat Sistem Komentar default menjadi lebih baik

  • Secara default, sistem komentar WordPress tidak mengirimkan email tindak lanjut ke Penulis Komentar. Untuk memperbaiki masalah ini, Anda dapat menggunakan plugin Comment Reply Email Notification oleh Arno Welzel.

Jika Anda menyukai informasi ini, silakan sampaikan kepada teman-teman Anda. 🙏

Tinggalkan komentar

20 pemikiran pada “Sekarang Lupakan Komentar Spam di WordPress 😎”

  1. 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.

    Balas
  2. 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?

    Balas
  3. 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)?

    Balas
  4. 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.

    Balas
    • 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!

      Balas