
🛡 WooCommerce kassebeskyttelse: 2 måter å legge til CAPTCHA på 15 minutter
Søppelordrer, botter i handlekurven og falske registreringer, alle WooCommerce-butikker opplever dette. Ingen ønsker å rense databasen for søppelordrer manuelt, og hver tiende bot-lead er bortkastet tid og penger.
CAPTCHA løser problemet med 10 minutters oppsett. Ingen oppblåste alt-i-ett-pluginer, ingen endringer i kjernefiler.
Nedenfor finner du to fungerende måter å legge til verifisering i kassen: via en gratis plugin og via kode i functions.php. Pluss en bonus: beskyttelse av innloggingssiden på de samme 5 minuttene.
Hva er CAPTCHA og hvorfor du trenger det i kassen
💡 Rask oversikt:
- Hva CAPTCHA er og hvilke typer som finnes, kort og uten unødvendig teori
- To installasjonsmetoder: via den gratis pluginen
reCAPTCHA for WooCommerceog via kode - Bonus: CAPTCHA på admin-innloggingssiden, beskyttelse mot brute force
- Vanlige oppsettfeil og hvordan du unngår dem
CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) er en test som skiller en ekte besøkende fra en bot. Brukeren krysser av for «Jeg er ikke en robot», løser et enkelt bilde eller puslespill, og først da sendes skjemaet. En bot kan ikke bestå dette: den må forstå en oppgave den ikke er trent for.
For en WooCommerce-butikk er CAPTCHA i kassen ikke en luksus, det er en nødvendighet. Søppelbotter kan fylle ut bestillingsskjemafelter og klikke «Send»: eieren får dusinvis av tomme ordrer liggende i admin-panelet og tette igjen CRM-systemet. Reelt eksempel: etter at reCAPTCHA ble aktivert på et testnettsted, falt antallet falske ordrer til null i løpet av 24 timer, uten filtre, uten IP-blokkeringer, uten .htaccess-endringer.
Seks hovedtyper CAPTCHA: tekstbasert (forvrengte bokstaver og tall), lydbasert (for synshemmede brukere), matematisk (enkle oppgaver som «3 + 4»), bildebasert (velg alle bilder med et trafikklys), puslespill (dra en brikke på plass) og usynlig (reCAPTCHA v3, fungerer i bakgrunnen, analyserer brukeratferd). For en butikk fungerer reCAPTCHA v2 (avkrysningsboks) eller usynlig v3 best, de irriterer ikke kundene samtidig som de blokkerer det store flertallet av botter.
Plugin-oversikt: hva du bør installere på WooCommerce
Det finnes tre hovedpluginer på markedet som dekker denne oppgaven. La oss kort se på hvilken som passer til hvilket scenario.
ReCAPTCHA for WooCommerce (RelyWP)

Gratis, uten noen premium-versjon i det hele tatt. Støtter reCAPTCHA v2 på kasse-, innloggings-, registrerings- og passordtilbakestillingssidene. 40 000+ aktive installasjoner, 4,5 i vurdering på WordPress.org. Installeres på et minutt: Google API-nøkler → kryss av for skjemaboksene → ferdig. Ulempe: kun v2, ingen støtte for v3. Hvis du trenger usynlig verifisering, se på alternativene.
Advanced Google reCAPTCHA (WebFactory)

200 000+ installasjoner, 4,8 i vurdering på WordPress.org. Dekker WooCommerce-kassen, Easy Digital Downloads, BuddyPress og standard WordPress-skjemaer. Støtter v2 og v3, med en matematisk CAPTCHA som reserveløsning. Gratisversjonen dekker 90% av behovene; PRO-versjonen legger til landblokkering. Nyanser: grensesnittet er en smakssak (faner med gammeldags design), og omtaler nevner av og til konflikter med tilpassede temaer.
ReCaptcha by BestWebSoft

Gratisversjon + premium til $24 per år. v2, v3 og enterprise-modus. Innstillinger for widget-størrelse og plassering, flerspråklig, RTL. Ulempe: knyttet til Googles tjenester, noe som kan være kritisk for GDPR-sensitive prosjekter. Men som et arbeidsverktøy er det pålitelig og utprøvd på dusinvis av aktive prosjekter.
Metode 1: CAPTCHA via plugin (uten kode)
Den enkleste veien. Vi bruker reCAPTCHA for WooCommerce, den er gratis, lett og krever ingen krumspring.
Trinn 1: Installasjon og aktivering
Gå til WordPress-admin: Plugins → Legg til ny. Skriv recaptcha for woo i søkefeltet.

Fant den, klikk Installer nå, vent et par sekunder og aktiver.

Etter aktivering vises et reCAPTCHA WooCommerce-element i Innstillinger-menyen.

Trinn 2: Google API-nøkler
Gå til siden for opprettelse av reCAPTCHA-nøkkel. Fyll ut:
- Etikett, et valgfritt navn (f.eks. «Min butikk»)
- reCAPTCHA-type, v2 («Jeg er ikke en robot»-avkrysningsboks)
- Domener, butikkens domene uten
https://

Klikk Send inn, så gir systemet deg en områdenøkkel og en hemmelig nøkkel.

Trinn 3: Plugin-oppsett
Kopier nøklene og lim dem inn i plugin-feltene: Innstillinger → reCAPTCHA WooCommerce.

Bla ned til WooCommerce-skjemaer-delen. Kryss av for WooCommerce Kasse (og Logg inn/Registrer deg hvis du vil beskytte pålogging).

Lagre endringer.
Trinn 4: Verifisering
På den samme innstillingssiden finnes en Test API-svar-knapp. Klikk på den, og hvis nøklene er korrekte, ser du en grønn status.

Ferdig. Nå vises en captcha på kassesiden før «Legg inn bestilling»-knappen. Test den i inkognitomodus, bot-sjekken skal dukke opp.

Metode 2: CAPTCHA via kode (ingen ekstra plugins)
Hvis du ikke vil installere enda en plugin, her er en kodebit som legger til reCAPTCHA i kassen via functions.php.
Trinn 1: Forberedelse
Før du redigerer noe kode, ta en full sikkerhetskopi av nettstedet. Vi skal redigere functions.php-filen i child-temaet ditt eller bruke Code Snippets-utvidelsen, som er tryggere: en kodefeil vil ikke ta ned nettstedet, snippet-en blir ganske enkelt deaktivert.
Steg 2: Koden
Nedenfor er to PHP-funksjoner. Den første viser reCAPTCHA-widgeten i kassen, den andre verifiserer Google-responsen når bestillingen sendes inn.
1 /** 2 * Display reCAPTCHA on the WooCommerce checkout page 3 */ 4 function doublee_show_me_the_checkout_captcha($checkout) { 5 echo '<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>'; 6 } 7 add_action('woocommerce_checkout_order_review', 'doublee_show_me_the_checkout_captcha', 18); 8 9 /** 10 * Verify reCAPTCHA response during checkout 11 */ 12 function doublee_process_recaptcha() { 13 $postdata = $_POST['g-recaptcha-response']; 14 $verified_recaptcha = file_get_contents( 15 'https://www.google.com/recaptcha/api/siteverify?secret=YOUR_SECRET_KEY&response=' . $postdata 16 ); 17 $response = json_decode($verified_recaptcha); 18 if (!$response->success) { 19 wc_add_notice('Please verify that you are not a robot', 'error'); 20 } 21 } 22 add_action('woocommerce_checkout_process', 'doublee_process_recaptcha');
Dette er hva som skjer her:
woocommerce_checkout_order_review, en hook som fyres av når bestillingsblokken rendres i kassen. Vi hooker oss på den for å skrive ut en<div>med etdata-sitekey-attributt (det er nettstedsnøkkelen fra Google-konsollen).woocommerce_checkout_process, en valideringshook som fyres av ved bestillingsinnsending. Funksjonen sender captcha-responsen til Googles server viasiteverify-endepunktet, dekoder JSON-en, og hvis verifiseringen feiler, legger den til en feilmelding medwc_add_notice(), WooCommerces standardmekanisme.- Hvis
allow_url_fopener deaktivert på din hosting (funksjonenfile_get_contentsvil ikke fungere for URL-er), erstatt den medwp_remote_get(), som fungerer via cURL og ikke er avhengig av php.ini.
Steg 3: Sett inn og test
Legg til koden via Code Snippets eller i child-temaets functions.php, og lagre.

Etter lagring, besøk kassesiden i inkognitomodus, reCAPTCHA-widgeten skal vises. Prøv å sende inn en bestilling uten å krysse av i boksen: du får en feilmelding om «Vennligst bekreft at du ikke er en robot».
Bonus: CAPTCHA på innloggingssiden
Kassen er ikke det eneste smertepunktet. Brute force-angrep mot /wp-login.php og /my-account/ pågår døgnet rundt, selv på små butikker. Den samme reCAPTCHA for WooCommerce-utvidelsen låser innloggingsskjemaet med et par klikk.
Gå til Innstillinger → reCAPTCHA WooCommerce, seksjonen WooCommerce-skjemaer, og aktiver Innlogging:

Lagre, så er /my-account/ beskyttet. Hvis du også trenger å låse /wp-login.php, støtter denne samme utvidelsen WordPress-skjemaer: samme logikk, bare kryss av for WordPress-innloggingsskjema.
Vanlige problemer og hvordan du løser dem
- CAPTCHA vises ikke i kassen. Sjekk nøklene dine: Site Key og Secret Key må være fra v2 («Jeg er ikke en robot»-avkrysningsboks), ikke v3. Hvis versjonen ikke stemmer, vil widgeten rett og slett ikke vises.
- CAPTCHA vises to ganger. Sannsynligvis har du to reCAPTCHA-utvidelser aktive samtidig (for eksempel én i temaet, en annen separat). Deaktiver duplikatet.
- Feilmeldingen «Invalid key» under API-test. Enten en skrivefeil ved kopiering av nøklene, eller så ble nøklene opprettet for et annet domene. Opprett nøklene på nytt og sjekk domenet i Google-konsollen.
- Konflikt med en tilpasset kassemal. Bytt til standardtemaet (Storefront) og sjekk: hvis CAPTCHA vises, ligger problemet i temaets hooks. Løsning: en tilpasset hook i kode (Metode 2) knyttet til malen din.
- Kassen laster ikke etter at CAPTCHA er aktivert. Tøm hurtigbufferen (utvidelse + nettleser), deaktiver JS-minifisering under testen; konflikter skyldes oftest aggressiv skriptoptimalisering.
- Kunder klager over at CAPTCHA avviser ekte mennesker. Senk sensitiviteten i reCAPTCHA-innstillingene eller bytt til v2-avkrysningsboks; den er mildere enn v3 og blokkerer ikke basert på en «mistenkelig» atferdsmodell.
⁉️🤔 Vanlige spørsmål
Er CAPTCHA nødvendig i kassen hvis en anti-spam-utvidelse allerede er installert?
Anti-spam-utvidelser som Akismet beskytter kommentarer og kontaktskjemaer, men ikke WooCommerce-kassen. Boter som legger inn falske ordrer omgår standardfiltre; de trenger ikke kommentarfelt, de fyller ut selve ordreskjemaet. CAPTCHA tetter dette hullet.
Hvilken reCAPTCHA-versjon bør jeg velge, v2 eller v3?
For en butikk anbefaler vi v2-avkrysningsboks: den besøkende krysser av én boks, og ordren går gjennom. v3 fungerer i bakgrunnen og kan blokkere en ekte kunde hvis atferdsmodellen deres virker «mistenkelig» for systemet, og i kassen teller hver eneste kunde.
Kan jeg beskytte kun gjestekassen med CAPTCHA og slippe gjennom innloggede brukere?
Ja. I utvidelsen
reCAPTCHA for WooCommerceaktiverer avkrysningsboksen WooCommerce Checkout CAPTCHA for alle. For å slippe gjennom innloggede brukere må du legge til en betingelse i kode (Metode 2): pakk hooken inn iif (!is_user_logged_in()). Uten kode, kun med utvidelser som har betinget logikk, som Advanced Google reCAPTCHA PRO.
Påvirker CAPTCHA lastehastigheten i kassen?
Merkbart, nei. reCAPTCHA-skriptet laster asynkront og kun på sider der skjemaet faktisk vises. Ingen ekstra belastning på hele nettstedet. I praksis er forskjellen i kassehastighet før og etter innenfor 100-200 ms.
Oppsummering
Å legge til CAPTCHA i WooCommerce-kassen er en oppgave på 15 minutter, og effekten er ren. Ingen spam-ordrer, ingen manuell databaseopprydding, ingen boter i trakten.
Hvis du ikke vil installere ekstra utvidelser, bruk den andre metoden med kode. Den legger til nøyaktig to funksjoner i functions.php og krever ingen oppdateringer. Hvis du foretrekker en «sett det og glem det»-tilnærming, reCAPTCHA for WooCommerce: gratis, 40 tusen installasjoner, live-oppdateringer og Block Checkout-støtte rett ut av esken.
Bekreft at CAPTCHA fungerer på alle enheter: åpne kassen fra en telefon og fra en datamaskin i inkognitomodus. Hvis widgeten forskyver seg på mobil, juster CSS-beholderen eller bytt widgetstørrelse til Kompakt i Google reCAPTCHA-konsollen. Fem minutters testing nå vil spare timer med opprydding av spam-ordrer senere.



