JavaScript og crawling — Hvad Googlebot ser og ikke ser
Googlebot renderer JavaScript, men rendering sker i en separat wave og med forsinkelse. Indhold der kun eksisterer i JavaScript kan indekseres — men er det garanteret.
Googlebot kan render JavaScript — men det sker ikke øjeblikkeligt, og det er ikke gratis. Googles to-fase-crawling-arkitektur betyder at HTML-indhold indekseres straks ved første crawl, mens JavaScript-genereret indhold afhænger af en separat rendering-pipeline der kan forsinkes med dage til uger. Forståelse for hvad Googlebot faktisk ser og hvornår er afgørende for at bygge JavaScript-baserede sites der indekseres korrekt og hurtigt.
To-wave crawling
Googles crawler arbejder i to waves. I første wave hentes og parses HTML. Indhold der er direkte i HTML’en er tilgængeligt med det samme. I anden wave renderer WRS (Web Rendering Service) JavaScript og henter indhold der genereres af JS.
Forsinkelseoen mellem de to waves afhænger af sidens prioritet: høj-prioriterede sider med stærke links crawles og renderes hurtigt. Lave-prioriterede sider kan vente dage eller uger. Det betyder at JS-genereret indhold potentielt indekseres markant senere end HTML-indhold.
Hvad Googlebot ikke renderer godt
Infinite scroll uden fallback. Googlebot scroller ikke. Indhold der kun loader ved scroll-events er utilgængeligt. Implementér en HTML-baseret pagination-fallback.
Login-krav og paywalls. Indhold bag authentication-krav kan ikke crawles. Google respekterer sammenlagte/first-click-free implementeringer for paywalls.
Fetch til APIer. Client-side API-kald der henter indhold dynamisk kan fejle: API’et returnerer CORS-fejl, rate limits eller timeout. Indhold fra API-kald er ikke garanteret indekseret.
Complex JavaScript frameworks. React, Vue og Angular renderes generelt godt, men komplekse state-management og nested async-calls kan resultere i ufuldstændigt renderet indhold.
Den sikre tilgang: SSR
Server-side rendering (SSR) sender fuldt renderet HTML til Googlebot — ingen rendering-delay, ingen JS-afhængigheder. For indhold der er kritisk for SEO (produktsider, artikler, kategorisider) er SSR den eneste sikre tilgang.
Hybrid approaches som Next.js’s statisk site generation (SSG) og incremental static regeneration (ISR) kombinerer SSR-fordele med performance-fordele fra statisk HTML. De fleste moderne frameworks understøtter disse patterns.
Verificer hvad Googlebot ser
Google Search Console’s URL Inspection Tool viser et screenshot af Googles render af en specifik URL — det er den mest direkte kilde til at verificere hvad Googlebot faktisk ser. Sammenlign screenshottet med hvad du ser i browser. Manglende indhold i GSC-screenshottet er indhold Googlebot ikke ser. → Denne artikel er en del af JavaScript og rendering — Scripts, DOM og CSR vs SSR.
Andre artikler i samme emne
- API — Hvad er API og hvad betyder det for SEO?
- Client-side rendering — CSR og SEO-udfordringer
- DOM — Document Object Model og JavaScript-rendering
- Google Tag Manager — Tag-håndtering og SEO-tracking
- Hydration — SSR og client-side JavaScript kombineret
- JavaScript — Hvad er JavaScript og hvad betyder det for SEO?
- JavaScript Rendering og SEO — Hvad Googlebot ser
- JavaScript SEO — Hvad Googlebot kan og ikke kan
- JavaScript-debugging til SEO — Find rendering-problemer
- Next.js og SEO — Server-side rendering og SEO
- Prerendering — Forhåndsrenderet HTML til crawlere
- React og SEO — JavaScript-rendering og søgesynlighed
- Rendering — Hvad Googlebot ser efter JavaScript-rendering
- Scripts og SEO — render-blocking, async og defer
- Server-side rendering — SSR og fordele for SEO
- Static site generation — SSG og SEO-fordele ved statiske sider
- Web Components og SEO — Custom elements og søgesynlighed
Ofte stillede spørgsmål
- Crawler Googlebot alle JavaScript-sider?
- Google renderer JavaScript, men processen er ressourcekrævende og sker i en separat rendering-queue med forsinkelse. Ikke alt JavaScript renderes perfekt — komplekse SPA'er med mange client-side API-kald kan have indhold der aldrig opdages af Googlebot. SSR er den sikre tilgang for indhold der skal indekseres.
- Hvad er Googlebot's WRS (Web Rendering Service)?
- WRS er Googles rendering-infrastruktur der eksekverer JavaScript og renderer sider, som en browser ville. WRS bruger en Chromium-baseret browser og renderer JavaScript asynkront som en second wave efter initial HTML-crawling. Forsinkelsen kan være dage til uger for lavprioriterede sider.
- Kan Googlebot følge JavaScript-genererede links?
- Ja, men kun i rendering-fasen (wave 2). Links der genereres af JavaScript er ikke tilgængelige i fase 1-crawlingen og opdages kun når siden renderes. Det har to konsekvenser: link equity passeres med forsinkelse, og crawling af linkede sider forsinkes tilsvarende. Navigationselementer og vigtige interne links bør altid være til stede i HTML-kildekoden — ikke afhænge af JavaScript for at eksistere. Brug URL Inspection Tool til at verificere at kritiske links er synlige i renderet HTML.
- Hvad er render budget og adskiller det sig fra crawl budget?
- Render budget er en separat begrænsning fra crawl budget — det er mængden af JavaScript-rendering Google udfører på dit site. Rendering er mere ressourcekrævende end crawling, og Google prioriterer rendering af højkvalitets-sider med stærke signaler. Sider med svage interne links, lav PageRank eller på sites med mange sider kan vente længe på rendering. Det er endnu en grund til at prioritere server-side rendering for kritisk indhold frem for at lade Google rendere alt client-side.
- Hvad sker der hvis JavaScript kaster fejl og Googlebot ikke kan rendere siden?
- Hvis JavaScript kaster en uopfanget fejl der forhindrer rendering, kan Googlebot i WRS ende med at se et tomt eller ufuldstændigt DOM. Det kan resultere i at indhold ikke indekseres korrekt. Typiske årsager: API-kald der returnerer fejl i Googles miljø, browser-specifikke APIs der ikke er tilgængelige i Chromiums headless-tilstand, og third-party scripts der fejler. Test altid rendering via GSC's URL Inspection Tool og Screaming Frog med JavaScript-rendering for at identificere disse fejl.
Placering i ordbogen
- API — Hvad er API og hvad betyder det for SEO?
- Client-side rendering — CSR og SEO-udfordringer
- DOM — Document Object Model og JavaScript-rendering
- Google Tag Manager — Tag-håndtering og SEO-tracking
- Hydration — SSR og client-side JavaScript kombineret
- JavaScript — Hvad er JavaScript og hvad betyder det for SEO?
- JavaScript Rendering og SEO — Hvad Googlebot ser
- JavaScript SEO — Hvad Googlebot kan og ikke kan
- JavaScript-debugging til SEO — Find rendering-problemer
- Next.js og SEO — Server-side rendering og SEO
- Prerendering — Forhåndsrenderet HTML til crawlere
- React og SEO — JavaScript-rendering og søgesynlighed
- Rendering — Hvad Googlebot ser efter JavaScript-rendering
- Scripts og SEO — render-blocking, async og defer
- Server-side rendering — SSR og fordele for SEO
- Static site generation — SSG og SEO-fordele ved statiske sider
- Web Components og SEO — Custom elements og søgesynlighed