← Назад към блога
WordPressContact Form 7СпамЗащита от ботове

Целенасочено намаляване на спама в Contact Form 7

Marc Wagner·5 октомври 2026 г.·6 мин четене

Какъв проблем имате?

Три случая изглеждат еднакво, но имат различни причини:

  • Пристига спам. Входящата ви поща се пълни с реклами, връзки или безсмислен текст. Формата пропуска ботове.
  • Формата съобщава за грешка. Посетителите виждат „There was an error trying to send your message. Please try again later.“ (на сайтове на други езици – в превод). Причината може да е защитата от спам или проблем с изпращането на имейли.
  • Липсват истински запитвания. Никой не се оплаква, но и нищо не пристига. Тогава защитата може би отхвърля хора или имейлите не достигат до пощата ви.

Първо установете кой е случаят и едва след това добавяйте защита. Как става това, е описано в раздела „Доставка на имейли или защита от ботове?“.

Какво предлага самият Contact Form 7

Contact Form 7 има вградени няколко мерки срещу спам (проверено на версия 6.1.7):

  • Списък със забранени думи. CF7 сравнява всяко изпращане със списъка в „Settings → Discussion“ („Disallowed Comment Keys“). Съвпадение се отчита като спам. Това помага срещу повтарящи се думи и домейни, но не и срещу нови текстове.
  • Поле с въпрос. С тага [quiz] формата задава въпрос, който определяте сами. Ботовете, които попълват всяка форма, се провалят; ботовете, насочени специално към вашия сайт, го преминават.
  • Akismet. С плъгина Akismet и ключ за Akismet CF7 проверява името, имейл адреса и текста чрез услугата Akismet.
  • reCAPTCHA v3. CF7 зарежда скрипта от Google и отхвърля изпращания под определен праг на оценката.
  • Cloudflare Turnstile. CF7 интегрира Turnstile; скриптът идва от Cloudflare.

Списъкът със забранени думи и въпросът работят без външна услуга. Akismet, reCAPTCHA и Turnstile изпращат данните на посетителите ви на съответния доставчик и това трябва да е отразено в политиката ви за поверителност.

Кога допълнителната защита от ботове има смисъл

Специализираната защита от ботове си струва, ако

  • спамът продължава да пристига въпреки списъка със забранени думи и въпроса,
  • не искате да зареждате скриптове от Google или Cloudflare,
  • искате за всяко отхвърлено изпращане да виждате защо е отхвърлено.

Ако въпросът е достатъчен за вашата форма, не ви трябва нищо повече. Защита, от която никой не се нуждае, е просто още един източник на грешки.

Настройване на SilentShield за Contact Form 7

Официалният плъгин „SilentShield – Captcha & Anti-Spam“ защитава Contact Form 7 без собствен код. Тествахме го с Contact Form 7 6.1.7 и WordPress 7.0.

  1. Инсталирайте и активирайте плъгина от директорията на WordPress.
  2. В „SilentShield → API / SilentShield“ въведете ключа си, щракнете върху „Validate“, включете „Activate API“ и запазете.
  3. В „SilentShield → Forms“ включете Contact Form 7.

Сайтът трябва да работи през https, иначе формата не може да бъде изпратена. Всички стъпки и тестваните плъгини за форми ще намерите в ръководството за WordPress. Всяко изпращане се отчита в квотата, вижте цени и квоти.

Тестване на истински изпращания и отхвърлени опити

Истинско изпращане: Отворете страницата в частен прозорец, попълнете формата ръчно и я изпратете. Трябва да видите потвърждението на CF7 със зелена рамка.

Отхвърлен опит: Изпратете същата форма без браузър към интерфейса на CF7. ID на формата и стойността за _wpcf7_unit_tag ще намерите в изходния код на страницата, в скритите полета на формата.

curl -X POST "https://example.com/?rest_route=/contact-form-7/v1/contact-forms/123/feedback" \
  -F "_wpcf7=123" -F "_wpcf7_unit_tag=wpcf7-f123-p45-o1" -F "_wpcf7_container_post=45" \
  -F "your-name=Test" -F "[email protected]" -F "your-message=Test"

Трябва да получите отговор с "status":"spam". При SilentShield съобщението гласи „Behavior check“.

Доставка на имейли или защита от ботове?

В Contact Form 7 „спам“ и „имейлът не можа да бъде изпратен“ имат един и същ текст по подразбиране. Можете да ги различите на две места:

  • Цвят на рамката на съобщението: оранжево означава спам, червено означава, че изпращането на имейла е неуспешно – стига темата ви да не презаписва цветовете на CF7.
  • Отговор в браузъра: В инструментите за разработчици (раздел Мрежа) отговорът на feedback съдържа status – или spam, или mail_failed.

Ако е mail_failed, защитата от ботове е пропуснала изпращането; проблемът е в изпращането на имейли от WordPress. Тогава проверете настройките за имейл, например с плъгин за SMTP. Ако е spam, го е отхвърлила защитна мярка. При SilentShield съобщението посочва причината, например „Behavior check“.

Ограничения

  • Никоя защита не спира спам, който човек пише на ръка.
  • Без JavaScript в браузъра изпращането към защитена форма се отхвърля.
  • SilentShield защитава формите от ботове. Той не замества защитна стена за уеб приложения или защита от DDoS.

Настройте защитата на формите

Свързани страници

Готови ли сте да се отървете от CAPTCHA?

Започнете да защитавате формулярите си — невидимо. Не е необходима кредитна карта.