Kan AI-crawlere lese JavaScript-rendret innhold?
De fleste AI-crawlere kjører ikke JavaScript. Se hvilke som gjør det, hvorfor det avgjør om innholdet ditt finnes for en språkmodell, og hvordan du sjekker din egen side.
Kort svar: De store AI-crawlerne — de som samler treningsdata og de som bygger søkeindeksene AI-svar hentes fra — henter i praksis rå HTML og kjører ikke JavaScript. Det de ser er identisk med view-source, ikke med det du ser i en nettleser etter at siden er ferdig rendret. Innhold som først bygges av klientside-JavaScript, finnes rett og slett ikke for dem.
Hvorfor dette ikke er en detalj
Spørsmålet «kan boten lese JavaScript» høres teknisk ut, men svaret avgjør noe helt konkret: om innholdet ditt i det hele tatt er en kandidat til å bli SiteringEn sitering er når en AI-tjeneste oppgir kilden bak et svar, som regel med lenke. Sitering er noe annet enn omtale: du kan bli nevnt uten å bli lenket til, og lenket til uten å bli nevnt ved navn.Se i ordlisten. En AI-crawler som ikke rendrer JavaScript, ser ikke en dårligere versjon av siden din — den ser en tom side, eller en side der bare skjelettet (navigasjon, en tom <div id="app">, et par script-tagger) er til stede. Det spiller ingen rolle hvor godt teksten er skrevet, hvor riktig entiteten er merket opp, eller hvor sterk kilden er, hvis teksten aldri ankommer crawleren i utgangspunktet.
Dette er også grunnen til at et nettsted som skal leve av å bli sitert i AI-svar, bør bygges HTML-først: alt meningsbærende innhold skal stå i den statiske HTML-en som sendes fra serveren, før noe skript har rukket å kjøre.
Hva som faktisk skjer når en crawler møter et JavaScript-rammeverk
Et typisk enkeltside-rammeverk (React, Vue og lignende, kjørt uten server-side rendering) sender i utgangspunktet en nesten tom HTML-fil: en <div> og noen lenker til JavaScript-filer. Nettleseren din laster ned skriptene, kjører dem, og bygger siden i DOM-en — det er først da innholdet finnes.
En crawler som bare henter og leser HTML-responsen, stopper før det steget. Den ser den tomme <div>-en, ikke innholdet som skulle stått i den. For et menneske med en vanlig nettleser er dette usynlig, fordi nettleseren gjør rendringsjobben automatisk. For en bot som bare henter tekst, er forskjellen mellom “innhold finnes” og “innhold finnes ikke.”
Server-side rendring, statisk generering og hybridformer som øyer av interaktivitet i en ellers statisk side, unngår problemet av samme grunn: HTML-en som sendes ut, inneholder allerede alt innholdet — det er ingenting å vente på.
Slik sjekker du din egen side
Tre måter, fra enklest til mest presist:
- View-source, ikke utviklerverktøy. Utviklerverktøyenes «Elementer»-fane viser DOM-en etter at JavaScript har kjørt — den lyver om hva en crawler faktisk mottar.
Vis kildekode(ellercurlmot URL-en) viser den rå responsen, som er det en ikke-rendrende crawler ser. - Slå av JavaScript i nettleseren og last siden på nytt. Det som blir igjen, er den nedre grensen for hva en AI-crawler kan basere seg på.
- Sjekk serverloggene for user-agent-strengene til de faktiske AI-crawlerne (se den fulle listen over hvilke som betyr noe), og se om de i det hele tatt besøker sidene der innholdet ditt bor.
Grensetilfellet: øyer av JavaScript i en ellers statisk side
De fleste nettsteder trenger noe klientside-JavaScript — et temavalg som må avgjøres før første maling, en samtykkegate, et par CTA-hendelser. Det er ikke det samme problemet. Skillet er ikke «bruker siden JavaScript i det hele tatt», men «finnes det meningsbærende innhold som bare eksisterer etter at et skript har kjørt». En knapp som åpner en meny er uproblematisk. Et sammendrag, en definisjon eller et svar på et spørsmål som først skrives inn i DOM-en av et skript, er usynlig for nettopp den leseren du prøver å bli sitert av.
Det samme prinsippet gjelder komponenter som visuelt ser ut som en lukket harmonikk (FAQ-er, mobilmenyer): står innholdet i HTML-en uansett om elementet er lukket, er det synlig for en crawler. Bygges det i stedet slik at innholdet først hentes eller settes inn ved klikk, forsvinner det for AI, selv om ingen menneskelig bruker noensinne merker forskjellen.
Vil du ha en systematisk gjennomgang av hvor på din egen side innholdet faktisk ligger usynlig bak JavaScript — og hva som konkret må endres for at det skal bli lesbart for AI-crawlerne — er det nettopp det AI SEO Analyse kartlegger.
Ofte stilte spørsmål
Kjører noen AI-crawlere JavaScript i det hele tatt?
Trenings- og søkeindekscrawlerne til de store leverandørene er bygget for skala og henter i praksis rå HTML uten å rendre JavaScript, på samme måte som eldre versjoner av Googlebot gjorde. Ingen av de store AI-selskapene har offentlig dokumentert at deres crawlere kjører en full nettleser med JavaScript-rendring. Anta at innholdet ditt må finnes i den rå HTML-en, ikke bare i det en nettleser viser etter at scriptene har kjørt.
Er dette annerledes enn hvordan Google indekserer JavaScript?
Googlebot har i mange år kjørt en rendringsfase i tillegg til den første HTML-hentingen, riktignok med kø og forsinkelse. Det finnes ikke offentlig dokumentasjon på at AI-crawlerne har en tilsvarende andre rendringsfase. Det tryggeste er å ikke anta at de har det.
Hvordan sjekker jeg om min egen side har dette problemet?
Se på view-source (ikke DOM-en i utviklerverktøyene, som viser siden etter at JavaScript har kjørt) eller hent siden med curl. Alt meningsbærende innhold — tekst, overskrifter, svar på spørsmål — må stå der. Mangler noe som er synlig i nettleseren, er det bygget av klientside-JavaScript og usynlig for en crawler som ikke rendrer.
Betyr dette at jeg ikke kan bruke JavaScript i det hele tatt?
Nei. Interaktivitet som ikke bærer meningsbærende innhold — et temavalg, en samtykkebanner, en klikk-hendelse — er uproblematisk fordi crawleren ikke trenger å forstå den for å lese teksten. Problemet oppstår når selve innholdet, altså det du vil bli sitert for, først eksisterer etter at et skript har kjørt.
Takk — dette hjelper meg med å gjøre artikkelen bedre.
Ordforklaringer
Begrepene som brukes i denne artikkelen.
- Sitering
- En sitering er når en AI-tjeneste oppgir kilden bak et svar, som regel med lenke. Sitering er noe annet enn omtale: du kan bli nevnt uten å bli lenket til, og lenket til uten å bli nevnt ved navn.
Få det jeg lærer om AI-søk
Egne tester og analyser av hvordan språkmodellene velger kilder. Ingen fast frekvens — jeg sender når jeg faktisk har noe å si.
