Vilket problem har du?
Tre fall ser likadana ut men har olika orsaker:
- Spam kommer in. Din inkorg fylls med reklam, länkar eller meningslös text. Formuläret släpper igenom botar.
- Formuläret visar ett fel. Besökarna ser ”There was an error trying to send your message. Please try again later.” (översatt på sajter på andra språk). Det kan vara spamskyddet eller ett problem med att skicka mejl.
- Äkta förfrågningar saknas. Ingen klagar, men inget kommer heller fram. Då kanske skyddet avvisar människor, eller så når mejlen inte din inkorg.
Ta först reda på vilket fall det är, innan du lägger till skydd. Hur du gör det beskrivs i avsnittet ”Mejlleverans eller botskydd?”.
Det här har Contact Form 7 inbyggt
Contact Form 7 har flera åtgärder mot spam inbyggda (kontrollerat i version 6.1.7):
- Spärrlista. CF7 kontrollerar varje inskick mot listan under ”Inställningar → Diskussion” (”Disallowed Comment Keys”). En träff räknas som spam. Det hjälper mot återkommande ord och domäner, inte mot nya texter.
- Quizfält. Med taggen
[quiz]ställer formuläret en fråga som du själv bestämmer. Botar som fyller i vilket formulär som helst misslyckas; botar som riktar in sig specifikt på din sajt gör det inte. - Akismet. Med Akismet-tillägget och en Akismet-nyckel kontrollerar CF7 namn, e-postadress och text via Akismet-tjänsten.
- reCAPTCHA v3. CF7 laddar skriptet från Google och avvisar inskick under en poänggräns.
- Cloudflare Turnstile. CF7 integrerar Turnstile; skriptet kommer från Cloudflare.
Spärrlistan och quizet fungerar utan extern tjänst. Akismet, reCAPTCHA och Turnstile skickar dina besökares data till respektive leverantör, och det hör hemma i din integritetspolicy.
När ytterligare botskydd är vettigt
Ett dedikerat botskydd lönar sig om
- spam fortsätter att komma trots spärrlistan och quizet,
- du inte vill ladda skript från Google eller Cloudflare,
- du vill se för varje avvisat inskick varför det avvisades.
Räcker quizet för ditt formulär behöver du inget mer. Skydd som ingen behöver är bara ytterligare en felkälla.
Så ställer du in SilentShield för Contact Form 7
Det officiella tillägget ”SilentShield – Captcha & Anti-Spam” skyddar Contact Form 7 utan egen kod. Vi har testat det med Contact Form 7 6.1.7 och WordPress 7.0.
- Installera och aktivera tillägget från WordPress-katalogen.
- Under ”SilentShield → API / SilentShield” anger du din nyckel, klickar på ”Validate”, slår på ”Activate API” och sparar.
- Under ”SilentShield → Forms” slår du på Contact Form 7.
Sajten måste köras över https, annars kan formuläret inte skickas. Alla steg och de testade formulärtilläggen finns i WordPress-guiden. Varje inskick räknas mot kvoten, se priser och kvoter.
Testa äkta inskick och misslyckade försök
Ett äkta inskick: Öppna sidan i ett privat fönster, fyll i formuläret för hand och skicka det. Förvänta dig CF7:s bekräftelse med grön kant.
Ett misslyckat försök: Skicka samma formulär utan webbläsare till CF7:s gränssnitt. Formulär-ID:t och värdet för _wpcf7_unit_tag hittar du i sidans källkod, i formulärets dolda fält.
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"
Förvänta dig ett svar med "status":"spam". Med SilentShield lyder meddelandet ”Behavior check”.
Mejlleverans eller botskydd?
mail_sentspammail_failedvalidation_failedI Contact Form 7 har ”spam” och ”mejlet kunde inte skickas” samma standardtext. Du kan skilja dem åt på två ställen:
- Meddelandets kantfärg: orange betyder spam, rött betyder att mejlet inte kunde skickas, så länge ditt tema inte skriver över CF7:s färger.
- Svaret i webbläsaren: I utvecklarverktygen (fliken Nätverk) innehåller svaret på
feedbackvärdetstatus, antingenspamellermail_failed.
Är det mail_failed har botskyddet släppt igenom inskicket; problemet ligger i hur WordPress skickar mejl. Kontrollera då mejlinställningarna, till exempel med ett SMTP-tillägg. Är det spam har en skyddsåtgärd avvisat det. Med SilentShield anger meddelandet orsaken, till exempel ”Behavior check”.
Begränsningar
- Inget skydd stoppar spam som en människa skriver för hand.
- Utan JavaScript i webbläsaren avvisas ett inskick till ett skyddat formulär.
- SilentShield skyddar formulär mot botar. Det ersätter inte en brandvägg för webbapplikationer eller DDoS-skydd.