Most felejtsd el a Spam Comment a WordPress-be 😎

Letöltés: Forget Spam Comment Plugin

Ez egy ingyenes spamellenes plugin kizárólag a WordPress alapértelmezett hozzászólási rendszeréhez.

Hogyan működik

Alternatívaként, haladó felhasználók számára az alábbiakban a kézi módszer látható

A WordPress alapértelmezett hozzászólási rendszerének két fő problémája van.

  1. Spam hozzászólások vonzása.
  2. Nem küldött nyomon követési e-mailt a megjegyzés szerzőjének (Egy idő múlva megbeszéljük).

Beszéljünk a megoldásokról.

Spam hozzászólások megelőzése

Ahelyett, hogy közvetlenül lehetővé tennénk bárki számára, hogy POST kérést tegyen a /wp-comments-post.php címen, hozzáadhatunk néhány logikát, hogy 100%-ban megakadályozzuk a spam kommenteket.

1. lépés. A Comment POST-kérelem útvonalának korlátozása a lekérdezési paraméterek segítségével

Három módszert fogok megosztani, használj egy módszert.

Apache

  • Yoast > Go to Tools > File Editor
  • RankMath > Menjen az Általános beállításokhoz > Edit .htaccess
  • FTP/SSH > Ellenőrizze a /var/www/html
# Ha a lekérdezési karakterlánc nem felel meg, 404 visszatérés
<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>

Ha LiteSpeedet használsz, az is támogatja a .htaccess fájlt. A végrehajtás után újra kell indítania.

NGINX

location = /wp-comments-post.php {

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

Cloudflare

prevent spam comments
  • Bejelentkezés a Cloudflare Dashboardra
  • Válassza a Tűzfal > Tűzfalszabályok menüpontot
  • Hozzon létre egy új tűzfalszabályt az alábbi kifejezéssel
FieldOperatorValue
URIcontainswp-comments-post.phpAnd
URL Query Stringdoes not equal45jpfAY9RcNeFP
  • Choose Action: Block

A végén látni fogja a kifejezést

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

lépés. A Comment POST URL javítása a Scroll eseményen

  • Adja hozzá az alábbi funkciót a Code Snippets plugin vagy a téma functions.php használatával
  • Győződjön meg róla, hogy a megfelelő domain és űrlap azonosítót használja.
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);

Alternatívaként, ha a GeneratePress Premium téma felhasználója vagy, akkor a fenti JS részt közvetlenül az Elements modul segítségével adhatod hozzá.

<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>
  • Add a new hook
  • New Hook Title: Komment URL megváltoztatása menet közben
  • Hook: WP Footer
  • Priority: 99
  • Location: Posts – All posts
  • Publish

Hogyan ellenőrizhető, hogy működik-e?

  • Általában a WordPress 405-ös választ ad vissza a GET kérésre a /wp-comments-post.php oldalon.
  • A fenti beállítások után azonban Access Denied (Hozzáférés megtagadva) jelenik meg.
  • És az URL csak akkor töltődik be, ha jelen van a 45jpfAY9RcNeFP speciális lekérdezési karakterlánc, amelyet a spam-kommentek megelőzése érdekében adtunk hozzá. Ezt a lekérdezési karakterláncot megváltoztathatja valami másra a fenti konfigurációban.
  • A forráskód általában mutatja wp-comments-post.php útvonal, de ha megvizsgálja elem után görgetés akkor észre fogja venni egy lekérdezési karakterlánc hozzáadva.

Eredmény #1: Nincs spam

no spam

Eredmény #2: Spammerek blokkolása

log

Bónusz tipp, hogy az alapértelmezett Comment System még jobb legyen

  • Alapértelmezés szerint a WordPress hozzászólási rendszere nem küld utólagos e-mailt a hozzászólás szerzőjének. Ennek a problémának a megoldásához használhatja az Arno Welzel által készített Comment Reply Email Notification plugint.

Ha tetszik ez az információ, kérjük, adja tovább barátainak. 🙏

WordPress List - Subscription Form
Akarsz még?
Képzeld el, hogy minden nap kapsz Tutorials! Ez KIBORULÓAN FANTASZTIKUS. Iratkozz fel most.

Szólj hozzá!

“Most felejtsd el a Spam Comment a WordPress-be 😎” bejegyzéshez 20 hozzászólás

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

      Válasz
  1. 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.

    Válasz
  2. 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)?

    Válasz
  3. 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?

    Válasz
  4. 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.

    Válasz