Sytti prosent av min trafikk var falsk og slik beviste jeg det med ett API-anrop
Analyticsdashbordet viste ti millioner månedlige besøk. Ti millioner. Det tallet burde vært grunn til å feire, og det var det en stund. Trafikkkurvene pekte oppover, sidevisninger akkumulerte imponerende, og båndbreddebruken reflekterte et nettsted som så ut til å blomstre. Men det var en vedvarende, gnaggende inkonsistens som nektet å forsvinne. Engasjementsmålene fortalte en helt annen historie. Sprattfrekvensene var astronomisk høye. Sesjonvarvarvar suspekt kort. Konverteringsratene var sørgelig lavt relativt til trafikkvolumet. Og båndbreddefakturene fra hostingleverandøren var svimlende, langt høyere enn det ti millioner menneskelige besøkende rimelig skulle forbruke, fordi mange av disse "besøkende" ba om sider med et tempo og mønster som ingen menneskelig nettleserøkt ville produsert.
Mistanken begynte som en stille intuisjon og vokste til en overbevisning over måneder. Noe var galt med trafikken. Serverloggen viste enorme mengder forespørsler fra brukeragenter som hevdet å være Googlebot, Bingbot, ChatGPTs crawler og ulike andre legitime søkemotorkrawlere. På overflaten virket dette normalt. Et stort nettsted tiltrekker naturlig tung krøllaktivitet. Men volumet var uforholdsmessig, og atferdsmønstrene var merkelige. Legitime kravlere følger robots.txt-direktiver, fordeler forespørslene sine for å unngå overbelastning av serveren, og kommer fra kjente IP-områder knyttet til deres respektive selskaper. Mye av denne trafikken gjorde ingen av disse tingene. Det bombarderte serveren hensynsløst, ignorerte crawl-delay-direktiver, og kom fra IP-adresser som tilhørte skyleverandører i stedet for Google eller Microsoft.
Avgjørende test var overraskende enkel. Ta IP-adressen fra en forespørsel som hevder å være Googlebot og sjekk om den faktisk tilhører Google. Real Googlebot stammer utelukkende fra IP-adresser innenfor Googles autonome system AS15169. Hvis en forespørsel hevder å være Googlebot men kommer fra en AWS IP-adresse, en DigitalOcean IP-adresse, eller en IP utenfor Googles kjente områder, er den utvetydig falsk. En API-anrop til bot-deteksjonstjenesten med IP-adressen og brukeragent-strengen, og avgjeringen kom tilbake øyeblikkelig: ikke en legitim Google-kravler. Det eneste anropet, gjentatt på tvers av et utvalg av trafikken, avsløret at omtrent sytti prosent av alle besøk var fra bots som etterlignet legitime kravlere. De ti millioner månedlige besøkene var nærmere tre millioner virkelige, og syv millioner forespørsler fra bedrager som forbrukte serverressurser, blåste opp båndbreddeomkostninger, og forurensede hver analytiskmåling i prosessen.
Øyeblikket da tallene sluttet å gi mening
Realiseringen kom ikke som en plutselig åpenbaring. Den akkumulerte seg gjennom små observasjoner over måneder. Den første ledetråden var båndbreddefakturaen. Skyleverandøren belastet for dataoverføring, og den månedlige fakturaen steg jevnt selv om innholdet på nettstedet ikke hadde vokst proporsjonalt. Flere sider ble servert, men innholdet per side hadde ikke endret seg betydelig. Tilleggsbåndbreddebruken ble forbrukt av noe, og tilgangsloggene pekte på kravlertrafikk som den primære driveren. Det virket rimelig for et nettsted av denne størrelsen, så bekymringen ble arkivert som en kostnad ved å gjøre forretninger.
Den andre ledetråden var serverlasten. CPU-bruk under topptrafikktimer var konsekvent høyere enn forventet. Applikasjonen var godt optimalisert, med caching på flere lag, og maskinvarespesifikasjonen burde ha håndtert trafikken komfortabelt. Men lastgjennomsnittene fortalte en annen historie. Serveren jobbet hardt, og ekstraarbeidet korrelerte ikke med brukervendt trafikk-topper men med vedvarende, døgnrundt forespørselsvolum som aldri gikk ned til null. Real menneskelig trafikk følger forutsigbare mønstre. Den topper seg i løpet av forretninestimer, synker om natten, og varierer fra dag til dag. Bottrafikk kjører tjuefire timer om dagen, syv dager i uken, med konstant hastighet, og det var synlig i lastgrafene som en baseline som aldri gikk under en bestemt terskel.
Den tredje ledetråden, og den som endelig utløste etterforskningen, var analyticsavviket. Google Analytics, som bare sporer JavaScript-kjørende besøkende, viste betydelig mindre trafikk enn serverloggene. Forskjellen mellom de to tallene var bottrafikken. Ekte nettlesere kjører JavaScript og registrerer seg i analyser. Bots som ber om HTML-sider uten å kjøre JavaScript, vises i serverlogger men ikke i analyser. Et betydelig gap mellom de to er en sterk indikator på tung botaktivitet, og gapet på dette nettstedet var enormt.
Bevæpnet med disse observasjonene, begynte etterforskningen på alvor. Et utvalg på tusen tilgangsloggoppføringer som hevdet å være fra Googlebot ble ekstrahert og deres IP-adresser sjekket mot Googles publiserte IP-områder. Resultatet var fordømmende. Over syv hundre av de tusen forespørslene kom fra IP-adresser som hadde ingen forbindelse til Google i det hele tatt. De kom fra AWS, Hetzner, OVH og ulike andre skyleverandører. Brukeragent-strengen sa Googlebot, men IP-adressen sa tilfeldig server i et datasenter. Utvidelse av analysen til Bingbot, ChatGPTs kravler, og andre påstått identiteter produserte lignende resultater. Trafikken var overveldende falsk.
Hvordan ett API-anrop bekrefter identiteten til enhver kravler
Verifiseringsprosessen som avsløret den falske trafikken er konseptuelt enkel men praktisk tungvint å implementere fra bunnen. Hver større søkemotor og kravler opererer fra et spesifikt sett med IP-områder knyttet til deres selskaps autonome systemnummer. Google bruker AS15169. Microsoft bruker flere ASNer for Bing-infrastrukturen. OpenAIs kravler bruker sine egne utpekte områder. Verifisering av en kravler betyr å ta IP-adressen fra den innkommende forespørselen, utføre et omvendt DNS-slakk, bekrefte at domenet samsvarer med det forventede mønsteret, utføre et fremover DNS-slakk for å bekrefte at IP-en samsvarer med domenet, og sjekk om IP-en faller innenfor forventet ASN. Denne fleretappeverifiseringen fanger sofistikert forfalskninger som kan passere en eller to sjekker men mislykkes hele kjeden.
Bot-deteksjons-API inkapsler hele denne verifiseringskjeden i ett anrop. Send IP-adressen og den påstådde brukeragent-strengen, og APIen returnerer en kjennelse: legitim eller falsk, sammen med bevis som støtter bestemmelsen. ASN-en til IP-adressen, det omvendte DNS-resultatet, forventet ASN for den påstådde identiteten, og tillitsnivået for vurderingen. For sytti prosent av trafikken som var falsk, var beviset entydig. IP-adressene tilhørte skyleverandører, det omvendte DNS returnerte generiske vertsnavn som hadde ingenting med Google eller Microsoft å gjøre, og ASN-en var helt gal for den påstådde identiteten.
Det som gjør denne tilnærmingen definitiv i stedet for heuristisk er at den er avhengig av verifiserbare nettverksinfrastrukturdata, ikke atferdsanalyse. En sofistikert bot kan etterligne menneskelikt nettlesermønster, randomisere forespørselstiming, kjøre JavaScript, og til og med løse CAPTCHAer. Men den kan ikke endre det autonome systemnummeret til IP-adressen den kobler fra. Hvis en forespørsel hevder å være Googlebot men stammer fra et AWS-datasenter, er den falsk. Det er ingen grå sone, ingen sannsynlighetsscore, ingen bekymring for falske positiver. Nettverksinfrastrukturen lyver ikke, og APIen blottlegger ganske enkelt den sannheten i et format som kan forbrukes programmatisk.
Hva endret etter at den falske trafikken ble identifisert
Å vite at sytti prosent av trafikken var falsk endret umiddelbart alle forretningsbeslutninger som var basert på trafikkmålinger. Det faktiske publikummet var tre millioner månedlige besøkende, ikke ti millioner. Den virkelige konverteringsraten var mer enn tre ganger høyere enn den beregnede raten, fordi nevneren hadde blitt oppblåst av syv millioner ikke-eksistente brukere. De sanne engasjementsmålene var respektable i stedet for skamelig lave. Hver rapport som var blitt generert, hver strategimøte som hadde henvist til trafikktall, hver kapasitetsplanleggingsbeslutning som var basert på vekstprojeksjoner, var bygget på et fundament av forurensede data. Den falske trafikken hadde ikke bare brukt serverressurser. Det hadde forvridt hele analyserammebeværket for virksomheten.
Den umiddelbare tekniske handlingen var å implementere blokkering på servernivå. Hver innkommende forespørsel som hevdet å være en søkemotorkravler ble verifisert mot APIen i sanntid. Forespørsler som ikke beståede verifiseringen ble blokkert før de nådde applikasjonslaget. Effekten var dramatisk og umiddelbar. Båndbreddeforbruket falt kraftig. Server-CPU-bruken under lavlastitimer falt til en brøkdel av sitt tidligere nivå. Applikasjonresponstidene forbedret seg fordi serveren ikke lenger kastet bort ressurser på å gjengi sider for bots som aldri ville indeksere dem. Skyleverandørfakturaen minket proporsjonalt.
Analytikoppryddingen tok lengre tid men var like viktig. Med den falske trafikken filtrert ut, ble analyticsdataene pålitelig for første gang. Brukadferdsmønstre ble synlige uten støygulvet for botaktivitet. Faktisk trafikktrender kunne identifiseres og korreleres med markedsføringsinnsats. Innholdet som genuint tiltrakk menneskeliske besøkende kunne skilles fra innholdet som bare tiltrakk bots. Denne klarheten transformert beslutningstaking fra gjettegjeturi basert på forurensede data til analyser basert på virkelighet.
Omfanget av problemet over Internett
Denne erfaringen var ikke en utliggjer. Industriestimater plasserer jevnt og trutt bottrafikk på tretti til femti prosent av all internetttrafikk globalt, og for individuelle nettsted kan andelen være meget høyere. Nettsted med store sidetal, høy domeneautoritet, eller verdifullt innhold tiltrekker bottrafikk uforholdsmessig. Skrapere, falske kravlere, konkurranseanalyse-bots, prisovervåking-bots, SEO-analyse-bots, og ulike varianter av ondsinnet automatisering bidrar alle til totalen. De fleste nettstedsoperatører har ingen synlighet i denne trafikken fordi de stoler på analyseværktøy som bare måler JavaScript-kjørende besøkende, og etterlater hele botlaget usynlig.
Den økonomiske virkningen strekker seg utover båndbreddeomkostninger. Reklameplattformer tar betalt basert på visninger og klikk. Hvis bottrafikk genererer annonsevisninger, blåser disse visningene opp tallene og forvrider kampanjeprestasjonsmålinger. A/B-testrammer som inkluderer botbesøk i sitt utvalg produserer upålitelige resultater. Satsbegrensning og misbruksdeteksjonssystemer kalibrert mot totaltrafikk vil være feil innstilt hvis flertallet av den trafikken ikke er menneskelig. Selv SEO-strategi kan påvirkes, ettersom serverlogger som viser tung krøllaktivitet kan misfortolkes som bevis for at søkemotorer dypt indekserer nettstedet, når i virkeligheten kravlerne er falske og de virkelige søkemotorene tildeler en mye mindre krøllebudsjett.
Bot-deteksjonstjenesten ble født direkte fra denne erfaringen. Verifiseringlogikken som ble bygget for å rydde opp trafikken til ett nettsted ble generalisert til en API som hvilket som helst nettsted kan bruke til å bekrefte identiteten til kravlere. De åtte spesifikke detektorene som dekker Google, Bing, OpenAI, Yandex, DuckDuckGo, Qwant, og Seznam gir målrettet verifisering for de mest etterlignede kravlerne. Resultatet er at enhver nettstedsoperatør kan kjøre den samme etterforskningen som avsløret sytti prosent falsk trafikfigur, og de fleste vil oppdage at deres egne tall er på samme måte oppblåst. Det første steget mot å fikse problemet er å bevise at det eksisterer, og det beviset er en API-anrop unna.
Frequently Asked Questions
Hvordan kan jeg fortelle om nettstedet mitt har betydelig falsk bottrafikk?
Sammenlign dine serverlogger mot dine JavaScript-baserte analyser. Et stort gap mellom de to tallene indikerer betydelig botaktivitet. Sjekk i tillegg IP-adressene til forespørsler som hevder å være fra søkemotorer. Hvis mange stammer fra skyleverandører snarere enn de forventede selskapsnettverkene, er de falske.
Hva er forskjellen mellom en ekte Googlebot og en falsk?
Real Googlebot stammer utelukkende fra IP-adresser innenfor Googles autonome system AS15169. Falsk Googlebot bruker samme brukeragent-streng men kobler fra IP-adresser som tilhører skyleverandører som AWS, DigitalOcean eller Hetzner. Brukeragent-strengen er triviell lett å forfalske, men IP-adressen avslører den sanne opprinnelsen.
Vil blokkering av falske bots påvirke mitt søkemotorrangering?
Nei. Blokkering av falske bots påvirker kun forespørsler fra IP-adresser som ikke tilhører den legitime søkemotoren. Real Googlebot, Bingbot, og andre legitime kravlere vil fortsette å få tilgang til nettstedet normalt fordi de passerer verifiseringen. Bare bedrager blir blokkert.
Hvor mye båndbredde kan spares ved å blokkere falsk bottrafikk?
Besparelsene avhenger av andelen av falsk trafikk. Nettsted med tung falsk botaktivitet ser vanligvis båndbreddereduksjoner på førti til seksti prosent etter implementering av verifisering og blokkering. For nettsted med høye båndbreddeomkostninger kan dette oversettes til betydelige månedlige besparelser.
Kan falske bots utføre JavaScript og vises i Google Analytics?
Noen sofistikert bots utfører faktisk JavaScript, som betyr at de kan vises i analyseværktøy. Imidlertid er flertallet av falske kravlere enkle HTTP-forespørselsgeneratorer som ikke gjengjør JavaScript. IP-basert verifisering fanger begge typer fordi det ikke er avhengig av atferdsanalyse men på den verifiserbare nettverksopprinnelsen til forespørselen.
Hvordan håndterer bot-deteksjons-API nye eller ukjente kravlere?
APIen inkluderer spesifikke detektorer for de åtte mest etterlignede kravlerne. For ukjente brukeragenter, gir APIen ASN-informasjon og omvendt DNS-data som lar kringkasteren gjøre sin egen bestemmelse. Det generelle prinsippet gjelder universelt: bekreft IP-adressen mot den påstådde identitetens kjente infrastruktur.