BikeGremlin pretraga...

Sprečavanje WordPress SPEM komentara

Ako imate WordPress sajt, najverovatnije ste se već upoznali sa spem komentarima, ili spemom preko kontakt forme sajta. Još nisam pronašao način da se ovo u potpunosti eliminiše, ali sam uspeo to veoma drastično smanjiti, i ovaj članak objašnjava kako.

Ažuriranje, novembar 2023:
Unapredio sam zaštitu u odnosu na ovde napisano uputstvo. Koristim The SEO Framework Honeypot (plaćeno) i CloudFlare-ov JS challenge (besplatno – članak je na engleskom).


Sadržaj:

  1. Uvod – šta je to SPEM?
  2. WordPress anti-spem podešavanja
  3. Kreiranje i podešavanje Gugl reCAPTCHA
  4. WordPress reCAPTCHA anti-spam zaštita
    4.1. Instaliranje plagina za kontakt formu (opciono)
    4.2. Instaliranje i podešavanje reCAPTCHA plagina
    4.3. Podešavanje plagina za kontakt formu (opciono)
  5. Zaključak
  6. Rešavanje problema sa AMP stranicama
  7. The SEO Framework (TSF) Honeypot zaštita


1. Uvod – šta je to SPEM?

“Spem” je jeftin mesni narezak koji je bio jedna od retkih dostupnih (mesnih) namirnica u Velikoj Britaniji, nakon drugog svetskog rata. Ljudima je tada već izlazio na nos, što se kaže.

Legendarni Monti Pajtonovci, napravili su skeč o tome, 1970. godine (noviji snimak spem skeča).

Time inspirisani, ljudi su počeli tako nazivati dosadne reklamne mejlove, koje niko nije tražio, a ipak zatrpavaju sanduče. Tako je nastalo savremeno značenje izraza “spem” (eng. “spam”).

Danas je spem sveprisutan na Internetu. Bilo da ga ljudi ručno šalju i postavljaju (masovno), bilo da za to prave botove (masovno puta milion).

Moji WordPress sajtovi postoje od 2015. godine. Komentari ispod mojih članaka služe u edukativne svrhe: sadrže mahom konkretna pitanja i odgovore. Nisam želeo da budu zatrpani u moru spem reklama. Isto važi i za moje poštansko sanduče. Šta sam uradio da zaustavim spem?

– Sadržaj –


2. WordPress anti-spem podešavanja

Prva stvar koju treba uraditi je da zaštitite svoj sajt – kako ga ne bi hakovali, pa koristili za spamovanje vašeg, i drugih sajtova. Za to, vidite članak: Zaštita WordPress sajta.

Nakon toga, idemo na fazu dva: “Kako da ne nosimo pun novčanik na Štrand.” 🙂
Drugim rečima: isključimo komentare tamo gde nisu potrebni. U WordPress bek-endu biramo meni opciju: Settings -> Discussion. Sledeća podešavanja su dobra za početak (ako imate dobar razlog da ih menjate, samo napred):

Anti-spem podešavanja za WordPress Discussion meni
Anti-spem podešavanja za WordPress Discussion meni
Slika 1

Svaka opcija samu sebe objašnjava, pa neću trošiti reči. Ispod ovih opcija postoje dva velika (bela) polja, da vidimo šta s njima (potrebna objašnjenja su na samoj slici ispod):

Ključne reči, mejlovi, IP adrese itd. za komentare koji idu na moderaciju, ili se automatski blokiraju
Ključne reči, mejlovi, IP adrese itd. za komentare koji idu na moderaciju, ili se automatski blokiraju
Slika 2

Ostaje nam još sekcija sa avatarima. 100% sigurno rešenje je da ih “disejblujete.” Ako aktivno držite na oku sekciju sa komentarima, ovo će raditi posao:

Konfiguracije opcija za Avatare u WordPress Discussion meniju
Konfiguracije opcija za Avatare u WordPress Discussion meniju
Slika 3

– Sadržaj –


3. Kreiranje i podešavanje Gugl reCAPTCHA

Sada ćemo kreirati i podesiti Gugl reCAPTCHA zaštitu od spema za naš sajt.

Prvo se ulogujte na svoj Gmail nalog. Ako ga nemate, napravite ga (link ka Gmail sajtu) – postupak je lak i neću ga ovde objašnjavati.

Onda idemo na:
www.google.com/recaptcha/about/

Gugl reCAPTCHA početna stranica
Gugl reCAPTCHA početna stranica
Slika 4

Sada možemo uneti naše sajtove (može ih biti više) i izabrati željene opcije:

Konfigurisanje i kreiranje Gugl reCAPTCHA spem zaštite
Konfigurisanje i kreiranje Gugl reCAPTCHA spem zaštite
Slika 5

Naredni ekran pokazaće naš javni i tajni ključ (“site key” i “secret key”). Zapišite ih (copy/paste). Mada ih možete uvek ponovo videti odlaskom na Gugl reCAPTCHA admin konzolu:
www.google.com/recaptcha/admin/

Klikom na zupčanik (“Settings”), pa na “reCAPTCHA keys:”

Gugl reCAPTCHA v3 javni ("site"), i privatni ("secret") ključevi
Gugl reCAPTCHA v3 javni (“site”), i privatni (“secret”) ključevi
Slika 6

Sada ćemo se vratiti u WordPress i videti čemu je služila sva ova “gimnastika.” 🙂

– Sadržaj –


4. WordPress reCAPTCHA anti-spam zaštita

Pre bilo kakvog daljeg rada, podesite WordPress da koristi SMTP za slanje mejlova. Ovo je važno i nije vezano samo za spam zaštitu, već za normalan rad generalno.

Vreme je da se naš trud isplati, još samo nekoliko koraka:

  1. Instaliranje plagina za kontakt formu (opciono)
  2. Instaliranje i podešavanje reCAPTCHA plagina
  3. Podešavanje plagina za kontakt formu (opciono)


4.1. Instaliranje plagina za kontakt formu (opciono)

Ako želite da vam se ljudi mogu obratiti mejlom preko sajta, postoje dva načina.

Prvi način je manje praktičan za posetioce, ali sigurniji što se tiče spama.
Napišite svoj mejl na “čudan” način. Zvuči glupo, trebalo bi da je lako isprogramirati robota da ovo zaobiđe, ali meni se dobro pokazalo u praksi. Šta mislim pod “čudan?”

Moje ime (relja) @ ovaj domen (bikegremlin.com).
Znate gde da mi pišete, zar ne? A čak i činjenica da je mejl adresa boldovana ne donosi puno spamera.

Drugi način je praktičniji za posetioce, ali maličice manje otporan na spam (mada i dalje prilično dobar).

Počinje instaliranjem Contact Form by BestWebSoft plagina (kako instalirati WordPress plagin). Tu ćemo i stati za sada, idemo na spam zaštitu, pa se vraćamo na konfigurisanje ovog plagina.

– Sadržaj –


4.2. Instaliranje i podešavanje reCAPTCHA plagina

Za pokretanje naše Gugl spam zaštite na sajtu, instaliraćemo reCaptcha by BestWebSoft plagin (kako instalirati WordPress plagin).

Zatim idemo na reCaptcha -> Settings i podešavamo ga. Sada ćemo iskoristiti javni (“site”) i privatni (“secret”) ključ iz Gugl reCAPTCHA konzole koje smo “napravili” u 3. poglavlju.

reCaptcha by BestWebSoft osnovna podešavanja i reCAPTCHA verifikacija
reCaptcha by BestWebSoft osnovna podešavanja i reCAPTCHA verifikacija
Slika 7

Kada je uspešno prošla verifikacija (3 i 4 na slici iznad), možemo podesiti i ostale opcije, pa snimiti podešavanja:

Kompletiranje reCaptcha konfiguracije
Kompletiranje reCaptcha konfiguracije
Slika 8

Ne zaboravite da ispraznite (“purge/clean”) sav keš sajta nakon ovoga.

Napomena/Ažuriranje:
reCaptcha V2 je nešto manje efikasna varijanta i vidljiva je na ekranu. Ipak, manje je sklona bagovanju kada se nalazi iza strožije Cloudflare zaštite. Zato sam sad prešao na V2.

Ako koristite kontakt formu na sajtu, ostaje još taj plagin da podesimo, čitajte dalje.

– Sadržaj –


4.3. Podešavanje plagina za kontakt formu (opciono)

Ovde se neću baviti detaljnim podešavanja plagina (to možda u posebnom članku, do tad samo dokumentacija BestWebSoft-a). Ali objasniću sve opcije bitne za prevenciju spama.

Krećemo sa unošenjem mejl adrese na koju želimo da nam pristižu sva “pisma” poslata preko kontakt forme na sajtu:

Unošenje mejla na koji želimo da stižu sva "pisma" poslata preko kontakt forme
Unošenje mejla na koji želimo da stižu sva “pisma” poslata preko kontakt forme
Slika 9

Idemo sad na “Additional Settings.” Pod tačkom 3 na slici ispod unesite mejl adresu sa koje vaš sajt zaista šalje mejlove (podešavanje WordPress-a za SMTP slanje mejlova).

Konfigurisanje načina slanja mejlova i aktiviranje reCaptcha zaštite
Konfigurisanje načina slanja mejlova i aktiviranje reCaptcha zaštite
Slika 10

Na narednoj slici preskačem opcije za podešavanje jezika i detalja forme, to je van opsega ovog članka.

Završavamo podešavanje i klikćemo na dugme "Save Changes"
Završavamo podešavanje i klikćemo na dugme “Save Changes”
Slika 11

Sad možete dodati kontakt formu na bilo koju stranicu ubacivanjem “Shortcode” Gutenberg bloka sa sledećim kodom: “[ bestwebsoft_contact_form ]” (samo bez razmaka između teksta i zagrada).

– Sadržaj –


5. Zaključak

Lepo je što WordPress omogućava dvosmernu komunikaciju sa posetiocima sajta. Zbog onog jednog promila ljudi koji misle da je spamovanje dobra ideja, ovakva zaštita je neophodna.

WordPress-ova podešavanja objašnjena u 2. poglavlju dosta pomažu. Možete kreirati svoju anti-spam listu ručno, koristeći opcije prikazane na slici 2. Ipak, svaki spam komentar će biti upisan u bazu (pa posle obrisan kada kliknete na “Empty Spam”). Ovo usporava rad sajta u izvesnoj meri. Mislim da je bolje da reCAPTCHA spreči spam komentare da se uopšte ostave.

Spameri stalno smišljaju nove načine da automatski zatrpavaju sajtove, a zaštita to prati više, ili manje uspešno. Metodi opisani u ovom članku meni za sad rade posao. Ako se nešto promeni, ažuriraću članak.

– Sadržaj –


6. Rešavanje problema sa AMP stranicama

Ažuriranje, 2022, avgust:
Zbog različitih komplikacija i upitnih prednosti, odlučio sam bataliti AMP na svojim sajtovima, tako da možete skočiti odmah na poglavlje 7. Za više detalja možete videti moju Gugl AMP studiju slučaja.

U vreme pisanja prve verzije ovog članka, reCaptcha by BestWebSoft ne radi sa AMP verzijom sajta, ukoliko postavite verziju reCaptcha na “Invisible.” Ako iz bilo kog razloga insistirate na toj verziji, trebalo bi da isključite (“suzbijete,” eng. “Suppress”) ovaj plagin za AMP.

Testirao sam ovo par dana. Nije bilo spema sa AMP verzije sajta (na “regularnoj” verziji, bez reCAPTCHA bude desetine spem komentara po danu). Mada, kako se vidi na slici iznad, ovaj plagin omogućava da se sakrije reCAPTCHA ikonica čak i za verziju 3, koja nije nevidljiva sama po sebi (“Enable this to hide reCaptcha Badge for Version 3…”). Ja to koristim.
“Version 3” je manje problematično rešenje generalno, po mom iskustvu.

Za svaki slučaj, ako nekom zatreba, evo kako se reCaptcha deaktivira za AMP:

Isključivanje ("Suzbijanje") reCaptcha by BestWebSoft plagin za AMP verziju sajta
Isključivanje (“Suzbijanje”) reCaptcha by BestWebSoft plagin za AMP verziju sajta
Slika 12

Međutim, nakon jednog od apdejtova plagina u poslednjih mesec dana, počeo sam imati probleme sa komentarima na AMP stranicama. Svima koji pokušaju komentarisati, izbacivalo je ovu grešku:

“Error: User response is missing. Click the BACK button on your browser and try again.”

Čak ni “Suzbijanje” reCaptcha plagina (kako je prikazano na slici 12) i brisanje LiteSpeed keša nisu pomogli. Problem sa brzim rešavanjem ovog problema je u tome što je poseban “proizvođač” teme, poseban za reCaptcha plagin, poseban za LiteSpeed Cache – a nisam 100% siguran da problem nije u nekom konfliktu između teme i (jednog, ili više od) plaginova. To je “lepota” korštenja WordPress-a.

Solomonsko rešenje, dok ne utvrdim u čemu je problem, je isključivanje AMP-a za stranicu sa pitanjima i odgovorima, i ispisivanje poruke da se ona poseti u slučaju problema sa postavljanjem komentara, ali tako da se ta poruka ispisuje samo posetiocima AMP verzije sajta. To sam uradio pomoću ovog koda u child temi, koji ispisuje poruku odmah ispod dugmeta za postavljanje komentara:

// BEGIN comments for amp - goes after main content
$gremlin_amp_comments = function() {
  if ( function_exists( 'is_amp_endpoint' ) && is_amp_endpoint() ) {
    ?>
    <p>If you're having <strong>problems with posting a comment</strong> (from a smartphone),<br />
    <visit the <a title="Questions &amp; Answers Page" href="https://io.bikegremlin.com/18172/questions/" target="_blank"><strong>Questions &amp; Answers Page</strong></a>.</p>
    <?php
  }
};
// For Paired/Native mode.
add_action( 'generate_after_main_content', $gremlin_amp_comments );
// END comments for amp - goes after main content

Ovako poruka izgleda:

If you’re having problems with posting a comment (from a smartphone),
visit the Questions & Answers Page.

– Sadržaj –


7. The SEO Framework (TSF) Honeypot zaštita

Ovog leta (2022.) je količina spama drastično povećana. Kao da su botovi postali dovoljno pametni da zaobiđu reCAPTCHA zaštitu. Zato sam odlučio tražiti dodatne anti-spam metode.

Veliki sam ljubitelj The SEO Framework-a (ili, skraćeno “TSF”). To je WordPress SEO plagin, ali u svojoj plaćenoj verziji nudi i odličnu spem zaštitu u vidu svog “Honeypot” dodatka.
Za detalje možete videti moju kompletnu The SEO Framework (TSF) Pro recenziju.

TSF-ov Honeypot radi fenomenalno, bez i jednog propuštenog spam komentara za sada. Koristim ga u kombinaciji sa reCAPTCHA. Slojevita zaštita (kao i slojevita odeća 🙂 ) je generalno uvek dobra ideja.

TSF Pro (sa sve Honeypot i drugim lepim dodacima) košta $7 mesečno (plaća se $84 na godišnjem nivou). To je jedini WordPress plagin koji koristim u plaćenoj verziji. Mislim da vredi – ne samo zbog spam zaštite (mada je spam zaštita koju nudi izvanredna, neprevaziđena rekao bih).

– Sadržaj –


Molim Vas da koristite BikeGremlin.net forum za sva pitanja i komentare.

Ako ste primetili neku grešku u članku, ili informacije koje nedostaju - molim Vas da mi na to skrenete pažnju komentarom na BikeGremlin forumu.
Na forumu možete pisati anonimno (stavite bilo koje ime/nadimak pri registraciji), ali mislim da je dobro da sve dopune i ispravke članaka budu javno dokumentovane (čak i ako njihov autor izabere da ostane anoniman).

Skip to content