Udgivet 29. september 2026
Af Klaus Byskov Pedersen, stifter af Asktopus
Når bot-beskyttelsen lukker din egen AI-assistent ude
Cloudflares bot-beskyttelse forhindrede vores AI-assistent i at læse vores eget site, og en IP-allowlist hjalp ikke. Her er, hvad der virkede, og den indstilling, vi har bygget, så det virker med enhver firewall.
Vi driver mere end Asktopus. Et af vores andre sites er companydata.dk, en dansk tjeneste med virksomhedsdata, og det bruger Asktopus til at svare på besøgendes spørgsmål. I sommer slog companydata.dk Cloudflares Super Bot Fight Mode til for at holde scrapere væk. Det virkede. Det holdt også vores egen AI-assistent væk.
Vi opdagede det, da assistenten ikke kendte til et nyt abonnement, vi lige havde lanceret. Ved første øjekast så vidensbasen fin ud: Den seneste crawl var kørt og havde hentet 72 sider. Men hver eneste af de 72 sider var det samme: Cloudflares verifikationsside "Just a moment...". Der var ikke én sætning rigtigt indhold at lære af.
Bruger du bot-beskyttelse på dit site, kan det samme ske for enhver AI-chatbot, der lærer af dine sider. Her er, hvad vi lærte undervejs, og hvad vi har ændret i Asktopus, så du slipper for samme omvej.
Hvorfor bot-beskyttelse blokerer AI-chatbots
Bot-beskyttelse kigger på hver forespørgsel og udfordrer alt, der ikke opfører sig som et menneske i en almindelig browser. Det er hele pointen. Men en AI-chatbot, der lærer af dit website, skal læse dine sider automatisk og får derfor udfordringen i stedet for dit indhold.
Det frustrerende er, at intet ser ødelagt ud. Crawlen "lykkes", siderne tælles med, og assistenten svarer stille og roligt ud fra forældet eller tom viden.
Hvorfor det ikke hjalp at tillade vores IP-adresse
Vores første løsning var den oplagte: en regel, der lod serveren bag Asktopus springe bot-tjekket over. Intet ændrede sig.
Forklaringen er måden, siderne bliver læst på. Asktopus henter dit sitemap og din robots.txt fra sin egen server, men selve siderne læses i en cloud-browser på Cloudflares netværk. Det er det, der gør, at sites bygget med JavaScript bliver læst rigtigt. De forespørgsler kommer slet ikke fra vores servers IP-adresse. De kommer fra Cloudflares netværk, fra adresser, der skifter og deles med alle andre, der bruger samme tjeneste.
En IP-allowlist rammer altså enten ved siden af den trafik, der betyder noget, eller lukker langt mere end din AI-assistent ind, hvis du tillader hele netværket.
Løsningen, der virkede, og hvorfor vi ikke stoppede der
Det, der til sidst fik companydata.dk crawlet igen, var en Cloudflare-regel, der matchede to ting: forespørgsler fra Cloudflares eget netværk og en header, som Cloudflares cloud-browser sætter på alle forespørgsler. Den næste crawl læste alle 72 sider ordentligt, og assistenten kendte det nye abonnement.
Det virkede, men det har to problemer. Det virker kun, fordi både sitet og cloud-browseren tilfældigvis ligger hos Cloudflare. Og det lukker alle, der bruger samme cloud-browser-tjeneste, igennem, ikke kun Asktopus.
Senere tilføjede companydata.dk af andre grunde endnu en betingelse til samme regel: Spring bot-tjekket over for forespørgsler med en hemmelig header, som kun vi kender. Det viste sig at være det generelle svar. En hemmelig header virker med enhver firewall, der kan læse request-headers, den afhænger ikke af IP-adresser, og kun forespørgsler med præcis din værdi slipper igennem.
Løsningen: en hemmelig header, du selv styrer
Så vi har bygget det ind i Asktopus. Hvert site har nu en indstilling, Bot-beskyttelse, hvor du tilføjer et header-navn og en hemmelig værdi. Asktopus sender headeren med alle forespørgsler til dit site, når det scanner og læser det, og du tilføjer én regel i din firewall, der lukker forespørgsler med den igennem.
Vi har passet på, hvor hemmeligheden ender:
- Kun til dit domæne. Headeren sendes til dit sites domæne og dets underdomæner, aldrig til andre domæner, og den følger ikke med, når en side viderestiller til et andet sted.
- Intet fra andre domæner. Mens en header er sat, henter cloud-browseren intet fra andre domæner, når den læser dine sider. Statistik, annoncescripts og widgets fra tredjepart blokeres, så hemmeligheden ikke kan slippe ud til dem. Bagsiden: Henter dit site selve indholdet fra et andet domæne, kan de sider blive ufuldstændige.
- Vises aldrig igen. Når du har gemt en værdi, viser dashboardet kun de sidste fire tegn.
Sådan sætter du det op
- Åbn dit site i Asktopus, og gå til Indstillinger › Bot-beskyttelse.
- Skriv et header-navn som
X-Asktopus-Verify, klik på Generér for at få en tilfældig hemmelighed, kopiér den, og klik på Tilføj header. - Tilføj en regel i din firewall, der lader forespørgsler med den header og værdi springe bot-tjekket over.
- Klik på Scan for nye sider og derefter Opdater viden under fanen Vidensbase.
Hvordan firewall-reglen ser ud, afhænger af din platform:
- Cloudflare med Super Bot Fight Mode (Pro og op): en custom rule med handlingen Skip og All Super Bot Fight Mode rules valgt, der matcher et udtryk som
any(http.request.headers["x-asktopus-verify"][*] == "din-hemmelighed"). - Cloudflare med Bot Fight Mode (Free-abonnement): Den kan ikke springes over med nogen regel, så en header hjælper ikke. Cloudflares eget råd er at slå Bot Fight Mode fra eller opgradere til Super Bot Fight Mode.
- Vercel Firewall: en custom rule med en betingelse på din header og handlingen Bypass, placeret øverst. Custom rules køres før Vercels Bot Protection-regelsæt.
- Alt andet: Enhver firewall eller proxy, der kan matche en request-header, fra AWS WAF til din egen nginx-opsætning, kan gøre det samme.
Vejledningen om bot-beskyttelse har de præcise trin for hver platform.
Asktopus siger nu til, når det bliver blokeret
Det værste ved vores egen oplevelse var, at intet sagde til. Crawlen meldte succes, mens vidensbasen fyldtes med verifikationssider.
Det er også rettet. Når Asktopus læser dine sider og kun får verifikationssider tilbage, som Cloudflares "Just a moment..." eller Vercel Security Checkpoint, lægger Asktopus dem ikke længere i vidensbasen. Fanen Vidensbase fortæller, at dit sites bot-beskyttelse blokerede Asktopus, og linker direkte til indstillingen.
Ofte stillede spørgsmål
Svækker det min bot-beskyttelse?
Kun forespørgsler med præcis din hemmelighed springer bot-tjekket over, og kun bot-tjekket. Hold værdien privat, gør den lang og tilfældig, og behold dine øvrige regler som fx rate limits.
Kan andre tjenester se hemmeligheden?
Headeren sendes kun til dit eget domæne og dets underdomæner, og mens den er sat, henter Asktopus intet fra andre domæner, når det læser dine sider.
Hvilke abonnementer har indstillingen?
Alle. Ejere og redaktører i et workspace kan tilføje og fjerne headers.
Skal jeg bruge Cloudflare eller Vercel?
Nej. Enhver firewall eller proxy, der kan matche en request-header, virker på samme måde. Vejledningen dækker Cloudflare, Vercel og AWS WAF og den generelle fremgangsmåde for alt andet.