Cum protejezi formularul de contact WordPress de spam

Dacă ai un formular de contact pe site-ul tău WordPress, primești probabil spam. Uneori câteva mesaje pe zi, uneori sute. Mesaje cu linkuri dubioase, oferte de SEO miraculoase, solicitări de „colaborare” de la adrese necunoscute sau, în cazuri mai grave, tentative de injecție de cod prin câmpurile formularului.

Spamul prin formulare nu e doar enervant. Înfundă inbox-ul, poate afecta reputația domeniului de email dacă serverul tău e folosit pentru a trimite răspunsuri automate, și în unele cazuri reprezintă un risc de securitate. Articolul ăsta explică de ce se întâmplă și ce poți face concret să îl reduci sau să îl elimini.

De ce primești spam pe formular

Roboții de spam scanează internetul în căutare de formulare de contact și le completează automat cu mesaje prestabilite. Nu e nimeni care tastează manual — e un script care găsește formularul, completează câmpurile și apasă Submit, de sute de ori pe zi, pe mii de site-uri simultan.

Scopurile variază: promovarea unor site-uri prin linkuri inserate în mesaje, testarea vulnerabilităților formularului, colectarea adreselor de email care răspund automat, sau pur și simplu trimiterea de mesaje comerciale nesolicitate la scară mare. Indiferent de scop, rezultatul pentru tine e același: inbox plin cu mesaje inutile și, uneori, riscuri de securitate.

Metode de protecție, de la simplu la avansat

1. reCAPTCHA Google

reCAPTCHA e cel mai răspândit sistem de protecție împotriva roboților și funcționează în mai multe variante. reCAPTCHA v2 afișează caseta clasică „Nu sunt robot” pe care utilizatorul trebuie să o bifeze. reCAPTCHA v3 funcționează invizibil în fundal, analizând comportamentul vizitatorului pe pagină și returnând un scor de probabilitate că e om sau robot — fără nicio interacțiune din partea utilizatorului.

Avantajul reCAPTCHA e că e gratuit și cunoscut. Dezavantajul versiunii v2 e că adaugă un pas în plus pentru utilizatorii reali și poate fi frustrant pe mobil. Versiunea v3 e mai prietenoasă, dar necesită configurare suplimentară pentru a decide ce faci cu scorurile mici.

Majoritatea plugin-urilor de formulare pentru WordPress (Contact Form 7, WPForms, Gravity Forms) au integrare nativă cu reCAPTCHA și o poți activa în câteva minute.

2. Honeypot

Tehnica honeypot adaugă un câmp ascuns în formular — invizibil pentru utilizatorul uman, dar vizibil pentru roboți. Roboții, care completează automat toate câmpurile găsite, completează și câmpul ascuns. Dacă câmpul ascuns e completat la trimiterea formularului, sistemul știe că e un robot și respinge mesajul.

Avantajul honeypot e că e complet invizibil pentru utilizatorii reali — nu adaugă niciun pas sau fricțiune în procesul de completare. Dezavantajul e că roboții mai sofisticați au învățat să detecteze și să ignore câmpurile honeypot. Folosit singur, nu e suficient pentru site-urile cu trafic mare; combinat cu alte metode, adaugă un strat util de protecție.

3. Akismet

Akismet e un serviciu de filtrare spam dezvoltat de Automattic (compania din spatele WordPress.com). Analizează conținutul mesajelor trimise prin formular și le compară cu o bază de date masivă de spam cunoscut. Mesajele identificate ca spam sunt fie blocate automat, fie marcate pentru revizuire manuală.

Akismet e gratuit pentru uz personal și are planuri plătite pentru site-uri comerciale. Funcționează bine pentru spam de conținut (mesaje cu linkuri dubioase, text caracteristic spam), dar e mai puțin eficient împotriva roboților care trimit mesaje cu conținut variat sau aparent legitim.

4. Limitarea ratei de trimitere

Rate limiting înseamnă să limitezi câte mesaje poate trimite aceeași adresă IP într-un interval de timp. Dacă un robot trimite 50 de mesaje pe minut de pe același IP, limitarea la 3-5 mesaje pe oră de pe același IP elimină problema fără să afecteze utilizatorii reali, care în mod normal trimit un singur mesaj.

Această protecție poate fi implementată la nivel de plugin de formular, la nivel de plugin de securitate (Wordfence, de exemplu, are opțiuni de rate limiting) sau direct la nivel de server dacă ai acces și cunoștințele necesare.

5. Validarea și filtrarea câmpurilor

Un formular bine configurat validează ce poate fi introdus în fiecare câmp. Câmpul de email acceptă doar adrese de email valide. Câmpul de telefon acceptă doar cifre și caractere specifice. Câmpul de mesaj poate fi limitat la un număr maxim de caractere și poate fi filtrat pentru a bloca mesajele care conțin un număr mare de linkuri — un indicator comun de spam.

Filtrarea cuvintelor cheie specifice spam-ului (anumite fraze, domenii sau tipare de text) poate reduce semnificativ volumul de spam care trece de verificările automate, mai ales când e combinată cu celelalte metode.

6. Întrebări de verificare personalizate

O alternativă la reCAPTCHA care funcționează bine pentru site-urile cu trafic mai mic: adaugi o întrebare simplă la care doar un om ar putea răspunde corect. „Câte culori are un semafor?” sau „Care e rezultatul lui 2+3?” Roboții generici nu știu să răspundă la întrebări personalizate și resping sau ignoră formularul.

Dezavantajul e că roboții mai avansați pot fi programați să răspundă la întrebări simple, și că întrebarea trebuie schimbată periodic ca să rămână eficientă. Dar pentru site-urile mici și medii, această metodă simplă poate reduce drastic spamul fără nicio dependență de servicii externe.

Ce NU funcționează (sau funcționează prost)

Ascunderea adresei de email în loc de formular nu rezolvă problema — roboții de spam scanează și adresele de email vizibile în codul sursă. Un formular bine protejat e mai sigur decât o adresă de email afișată direct.

Blocarea IP-urilor individuale e un joc pierdut — roboții de spam folosesc mii de IP-uri diferite și schimbă adresele constant. Poți bloca câteva, dar nu vei ține pasul cu volumul.

Dezactivarea completă a formularului nu e o soluție — e o capitulare care afectează și utilizatorii reali care vor să te contacteze.

Combinația optimă pentru majoritatea site-urilor WordPress

Nu există o soluție unică perfectă. Ce funcționează cel mai bine e o combinație de metode: reCAPTCHA v3 (sau v2 dacă preferi vizibilitate) plus honeypot plus validarea câmpurilor. Această combinație acoperă marea majoritate a roboților de spam fără să adauge fricțiune semnificativă pentru utilizatorii reali.

Dacă după implementarea acestor măsuri mai primești spam, adaugă Akismet sau o întrebare de verificare personalizată. Dacă volumul de spam e foarte mare și afectează performanța serverului, rate limiting-ul la nivel de server e pasul următor.

Formularul de contact e o ușă — asigur-o corespunzător

Un formular de contact neprotejat nu e doar o sursă de enervare. E o suprafață de atac potențială și o sursă de probleme pentru reputația domeniului de email. Configurarea corectă a protecției anti-spam e parte din igienă de bază a oricărui site WordPress serios.

Toate pachetele noastre de administrare WordPress includ verificarea și configurarea protecției formularelor, alături de celelalte măsuri de securitate și mentenanță. De la 49 €/lună.

Vrei să știi dacă formularul tău e protejat corespunzător? Cere auditul gratuit — verificăm configurarea și îți spunem exact ce trebuie ajustat, fără obligații.