Egen research
Hvad går AI-crawlere glip af, når de springer JavaScript over?
Vi indlæste hver forside, der gav vores bot HTML, to gange: som ren HTML og med JavaScript. Den 20. oktober 2026 afhang strukturerede data næsten aldrig af JavaScript: kun 1,3 % af disse forsider blandt de 10.000 mest populære websites fik deres JSON-LD via JavaScript. Med teksten er det en anden historie. På 26,4 % af dem står under halvdelen af ordene i den HTML, en bot uden JavaScript får.
Målt den 20. oktober 2026
- af forsiderne i top 10.000 har JSON-LD først efter JavaScript
- 1,3 %
- har det meste af teksten først efter JavaScript
- 26,4 %
- viser hovedoverskriften (h1) først efter JavaScript
- 6,5 %
Hvad vi testede
En webside kommer i to trin. Først sender serveren HTML. Derefter kører browseren sidens JavaScript, som kan tilføje tekst, overskrifter og strukturerede data.
Ikke alle bots tager det andet trin. Ifølge en logundersøgelse fra Vercel fra 2024 henter de store AI-crawlere godt nok JavaScript-filer, men kører dem ikke. Anthropics web fetch-værktøj til udviklere understøtter ifølge dokumentationen ikke sider, der er bygget med JavaScript. Google er anderledes: Det kører sidernes JavaScript.
Så vi indlæste hver forside to gange, med få sekunders mellemrum og med samme botnavn: én gang som ren HTML, sådan som en bot uden JavaScript ser den, og én gang i en rigtig Chrome-browser, der kører JavaScript. Derefter sammenlignede vi de to.
Strukturerede data, der kun dukker op med JavaScript
51,2 % af forsiderne i top 10.000 har JSON-LD i den rå HTML. Kun 1,3 % får det udelukkende via JavaScript, og på 1,3 % tilføjer JavaScript flere typer. For strukturerede data er den rå HTML altså som regel hele historien.
| Måling | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Har JSON-LD i den rå HTML | 51,2 %46,1 %–56,3 % | 51 %45,9 %–56 % | 49 %43,8 %–54,2 % | 43,2 %38,2 %–48,3 % | 33 %28,2 %–38 % |
| Har JSON-LD efter JavaScript | 52,3 %47,2 %–57,3 % | 52,6 %47,5 %–57,6 % | 49,9 %44,6 %–55,1 % | 43,2 %38,2 %–48,3 % | 33,5 %28,8 %–38,6 % |
| JSON-LD kun efter JavaScript | 1,3 %0,6 %–3,1 % | 1,6 %0,8 %–3,5 % | 0,9 %0,3 %–2,5 % | 0,3 %0 %–1,5 % | 0,6 %0,2 %–2,1 % |
| JavaScript tilføjer flere typer | 1,3 %0,6 %–3,1 % | 0,3 %0 %–1,5 % | 0,6 %0,2 %–2,1 % | 0,5 %0,1 %–2 % | 0,6 %0,2 %–2,1 % |
| JavaScript fjerner det igen | 0,3 %0 %–1,5 % | 0 %0 %–1 % | 0 %0 %–1,1 % | 0,3 %0 %–1,5 % | 0 %0 %–1,1 % |
| Sammenlignede forsider (n) | 371 | 367 | 349 | 368 | 349 |
Ødelagt JSON-LD er også sjældent: 0,5 % af forsiderne med JSON-LD i den rå HTML har en blok, der ikke er gyldig JSON. Sådan en blok kan slet ikke læses som strukturerede data. Vores schema-validator læser den rå HTML på samme måde og viser den præcise linje.
| Måling | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Mindst én blok er ikke gyldig JSON | 0,5 %0,1 %–2,9 % | 1,6 %0,5 %–4,6 % | 2,9 %1,3 %–6,7 % | 1,3 %0,3 %–4,5 % | 0,9 %0,2 %–4,8 % |
| Forsider med JSON-LD i den rå HTML (n) | 190 | 187 | 171 | 159 | 115 |
Under hver andel står dens interval: med 95 % sikkerhed ligger den rigtige andel mellem de to tal. Kolonne 1-3 er populære sider efter placering på Tranco-listen, kolonne 4-5 hollandsk- og tysksprogede sider fra webkataloget Curlie.
Titel, beskrivelse og hovedoverskrift
Sidetitlen står næsten altid i den rå HTML: kun 1,1 % af forsiderne i top 10.000 tilføjer den med JavaScript. Med hovedoverskriften er det anderledes: på 6,5 % dukker h1 først op efter JavaScript.
| Måling | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Sidetitel | 1,1 %0,4 %–2,7 % | 1,6 %0,8 %–3,5 % | 0,9 %0,3 %–2,5 % | 0,5 %0,1 %–2 % | 0,3 %0,1 %–1,6 % |
| Metabeskrivelse | 1,1 %0,4 %–2,7 % | 1,6 %0,8 %–3,5 % | 0,9 %0,3 %–2,5 % | 1,1 %0,4 %–2,8 % | 0,6 %0,2 %–2,1 % |
| Hovedoverskrift (h1) | 6,5 %4,4 %–9,4 % | 8,4 %6 %–11,7 % | 5,7 %3,7 %–8,7 % | 1,1 %0,4 %–2,8 % | 0,9 %0,3 %–2,5 % |
| Sammenlignede forsider (n) | 371 | 367 | 349 | 368 | 349 |
Selve teksten
På den typiske forside i top 10.000 står 87,5 % af de ord, en browser viser, også i den rå HTML. Men på 26,4 % af forsiderne er under halvdelen af teksten der uden JavaScript. En bot, der springer JavaScript over, ser kun en del af de sider.
| Måling | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Under halvdelen af ordene står i den rå HTML | 26,4 %22,1 %–31,1 % | 23,9 %19,8 %–28,6 % | 16,3 %12,8 %–20,5 % | 13,2 %10,1 %–17,1 % | 8 %5,6 %–11,4 % |
| Sammenlignede forsider (n) | 368 | 360 | 344 | 363 | 348 |
| Måling | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Ord i den rå HTML | 948 | 710 | 830 | 453 | 505 |
| Ord efter JavaScript | 1.409 | 1.058 | 1.044 | 523 | 552 |
Vil du se, hvad en bot uden JavaScript får fra din side? Åbn sidens kildekode (Ctrl+U, eller Cmd+Option+U på en Mac) i stedet for selve siden. Eller lad vores gratis GEO-analyse tjekke siden.
Hvad det ikke beviser
- Det viser ikke, at AI-værktøjer bruger strukturerede data til at vælge kilder, eller at du bliver citeret oftere, hvis du tilføjer dem.
- Vi er ikke en AI-crawler. Sider kan sende AI-bots anden HTML end os, ud fra botnavnet eller IP-adressen.
- Kun forsider. Produktsider og artikler kan opføre sig anderledes.
- Vi tæller al tekst i HTML'en, også tekst, der er skjult på skærmen, på begge sider. Vi tjekker ikke, hvad en besøgende faktisk ser.
- Vi klikkede ikke på noget. Hvor der dukker et cookie- eller samtykkebanner op, kan siden efter JavaScript indeholde bannerets tekst, eller mindre af selve siden.
- Tekst i shadow DOM (som nogle webkomponenter bruger) er ikke en del af den side-HTML, vi læser, så den talte vi heller ikke med efter JavaScript.
- Det siger intet om Google: Google kører JavaScript, før det indekserer en side.
Sådan gjorde vi
Vi trak tilfældigt 1.500 sider fra hver af fem grupper: tre placeringsintervaller på Tranco-listen 467YX over populære websites (plads 1-10.000, 10.001-100.000 og 100.001-1.000.000) samt de hollandsk- og tysksprogede afdelinger af webkataloget Curlie (47.502 og 309.045 sider, der står med deres forside). Med et fast startpunkt for tilfældet trækker alle med de samme to filer præcis de samme sider.
Af de sider, hvis forside åbnede normalt i vores robots.txt-test, tog vi de første 400 pr. gruppe i tilfældig rækkefølge. Før vi indlæste en side, hentede vi robots.txt igen og fortsatte kun, hvis den stadig tillod vores bot.
Browseren var Chrome/141.0.7390.76 (headless), med samme botnavn som den rå forespørgsel: GEOScoreBot/1.0 (+https://geo-score.online). Den ventede, til siden var færdig med at indlæse, plus op til 10 sekunders netværksro, og læste derefter siden. Den sprang billeder, video og skrifttyper over, som ikke ændrer teksten, og fulgte robots.txt for sidens egne filer. Kørslen tog omkring 32 minutter.
Begge versioner kørte gennem den samme kode: JSON-LD via parseren i vores schema-validator, sidetitel, metabeskrivelse og h1, når de ikke er tomme, og ordene i sidens body uden scripts, styles og kommentarer. En side tæller som "det meste af teksten kræver JavaScript", når under halvdelen af ordene efter JavaScript også står i den rå HTML.
Vi skrev spørgsmålene, stikprøven og hver måling ned, før crawlet begyndte, og gemte planen. Alt, vi besluttede efter at have set dataene, er markeret som udforskende.
| Trin | Top 10.000 | 10.001–100.000 | 100.001–1 million | Hollandsksprogede | Tysksprogede |
|---|---|---|---|---|---|
| Forsøgte forsider | 400 | 400 | 400 | 400 | 400 |
| robots.txt sagde nu nej til vores bot | 2 | 2 | 2 | 1 | 0 |
| Rå HTML-forespørgsel mislykkedes | 0 | 2 | 0 | 0 | 0 |
| Browseren kunne ikke indlæse siden | 6 | 11 | 24 | 24 | 47 |
| JavaScript sendte browseren til en anden side | 21 | 18 | 25 | 7 | 4 |
| Sammenlignet: talt med i andelene | 371 | 367 | 349 | 368 | 349 |
| … heraf stadig i gang med at indlæse, da vi holdt op med at vente | 46 | 37 | 24 | 12 | 22 |
Når JavaScript sender en browser til en anden side (en sprogside, en cookievæg, et bottjek), er de to versioner ikke længere samme side, så vi udelader dem. En bot uden JavaScript bliver på den første side.
Andre undersøgelser af samme spørgsmål
Vercel (leverandørdata, december 2024) undersøgte trafikken fra AI-crawlere på sit eget netværk. Dengang kørte ingen af de store AI-crawlere JavaScript: De hentede JavaScript-filer, men så ikke det indhold, som JavaScript tilføjer. Gemini var undtagelsen, fordi den bruger Googles crawler, som renderer sider.
Anthropics dokumentation for web fetch-værktøjet, som udviklere bruger til at lade Claude åbne en side, siger, at websites bygget med JavaScript ikke understøttes. Det gælder udviklerværktøjet; dokumentationen siger intet om Claude-appen.
Tjek din egen side
Det her er gennemsnit. Din egen side er enten med eller ej. Vores gratis værktøjer tjekker det på få sekunder.
Hent dataene
Alle tal på siden står i CSV-filen, én linje pr. tal, med antal, grundlag og 95 %-interval. Den indeholder kun totaler, ingen navne på sider.
Hent tallene (CSV)Du må genbruge tallene under licensen CC BY 4.0. Nævn GEO-Score og link til denne side.
Kilder til listerne over sider
Populære sider: Tranco-listen 467YX (Le Pochat m.fl., NDSS 2019).
Hollandsk- og tysksprogede sider: med indhold fra Curlie.org - det største menneskeredigerede webkatalog. Bidrag ved at indsende et website eller blive redaktør. Curlie-data er under licensen CC BY 3.0.
20. oktober 2026: første måling offentliggjort.