Google indekserer ikke din hjemmeside – årsager og teknisk fejlfinding
Har Google fundet din hjemmeside uden at indeksere de vigtigste sider? Viser Google Search Console Gennemgået – ikke indekseret i øjeblikket (Crawled – currently not indexed) eller Opdaget – ikke indekseret i øjeblikket? Problemet bør undersøges systematisk, før man ændrer indhold, JavaScript eller serveropsætning.
Google skal først opdage en URL, derefter hente og eventuelt rendere indholdet og til sidst vælge, om siden skal optages i indekset. At en server svarer korrekt, er ikke det samme som, at Google vælger at indeksere siden.
Forstå status i Google Search Console
Opdaget – ikke indekseret i øjeblikket betyder, at Google kender URL'en, men ifølge den viste status endnu ikke har crawlet den. Gennemgået – ikke indekseret i øjeblikket betyder, at Google har crawlet siden, men ikke aktuelt har optaget den i indekset. Ingen af statusmeddelelserne fortæller alene den præcise årsag.
Begynd med Google Search Console: kontrollér den enkelte URL, den seneste registrerede crawling, eventuelle indekseringsbegrænsninger og Googles valgte canonical, når oplysningerne er tilgængelige. En live-test fortæller, om URL'en kan behandles nu, men dokumenterer ikke, at den faktisk er indekseret.
Kontrollér HTTP-status og serverens svar
En normal indholdsside returnerer typisk HTTP 200. Viderestillinger returnerer eksempelvis 301 eller 308, mens 404 betyder, at ressourcen ikke blev fundet. Fejl i 5xx-serien kan indikere problemer på serveren. HTTP-status er et vigtigt første trin, men siger ikke alt om rendering og indeksering.
Jeg har arbejdet med webservere og servermiljøer i lige så mange år, som jeg har arbejdet professionelt med SEO siden 1999. Derfor er det helt naturligt for mig at åbne et terminalvindue og undersøge serverens faktiske svar. Det er ofte hurtigere end at sidde og forsøge at gennemskue den HTML, som en browser allerede har bearbejdet med JavaScript og andre ressourcer.
Med cURL kan man hente den oprindelige HTML og kontrollere statuskoder, headere og redirects direkte. Det supplerer de almindelige SEO-værktøjer og gør det lettere at skelne mellem serverens svar, browserens visning og Googles rendering.
Praktisk fejlfinding med cURL på Mac og Windows
Eksemplerne bruger det neutrale domæne https://www.eksempel.dk/. Udskift adressen med den URL, du ønsker at undersøge. På Mac bruges Terminal. På Windows 10 og 11 kan man normalt bruge PowerShell eller Windows Terminal med curl.exe.
Se HTTP-headere
Mac:
curl -sI https://www.eksempel.dk/Windows PowerShell:
curl.exe -sI https://www.eksempel.dk/Se blandt andet efter HTTP/2 200, content-type og eventuelle redirect-headere. Flaget -I bruger HEAD; ved mistanke om forskellige serverreaktioner bør man også kontrollere en almindelig GET-anmodning.
Følg viderestillinger
Mac:
curl -sIL https://www.eksempel.dk/gammel-side/Windows:
curl.exe -sIL https://www.eksempel.dk/gammel-side/Her følger -L viderestillingerne. Ved et domæneskift bør en gammel underside som udgangspunkt pege på den relevante nye underside – ikke uden videre på forsiden.
Hent serverens oprindelige HTML
Mac:
curl -sL https://www.eksempel.dk/ -o /tmp/seo-test.html
wc -c /tmp/seo-test.html
head -c 500 /tmp/seo-test.htmlWindows PowerShell:
curl.exe -sL https://www.eksempel.dk/ -o seo-test.html
(Get-Item seo-test.html).Length
Get-Content seo-test.html -TotalCount 12Det viser, hvad serveren leverer, før en browser udfører JavaScript. PowerShell-eksemplet viser de første tekstlinjer frem for præcis 500 bytes.
Undersøg canonical og vigtige links
Mac:
grep -in 'canonical' /tmp/seo-test.html
grep -oiE 'href="[^"]+"' /tmp/seo-test.html | head -30Windows PowerShell:
Select-String -Path seo-test.html -Pattern 'canonical'
Select-String -Path seo-test.html -Pattern 'href=' | Select-Object -First 30Det er simple tekstsøgninger, ikke fuldstændige HTML-parsere. De kan hjælpe med en hurtig første kontrol, men erstatter ikke en egentlig gennemgang af DOM og linkstruktur.
Undersøg tegnkodning uden at gætte på årsagen
Mac:
curl -sI https://www.eksempel.dk/ | grep -i content-type
file -I /tmp/seo-test.html
iconv -f UTF-8 -t UTF-8 /tmp/seo-test.html >/dev/null && echo "Gyldig UTF-8"Windows PowerShell:
curl.exe -sI https://www.eksempel.dk/ | Select-String 'content-type'
Select-String -Path seo-test.html -Pattern 'charset'Windows-eksemplet kontrollerer den oplyste tegnkodning, men er ikke en fuld bytevalidering. En fil, som kun indeholder ASCII-tegn, er også gyldig UTF-8. Uoverensstemmelser i tegnkodning bør derfor undersøges konkret og ikke automatisk udpeges som årsag til manglende indeksering.
Vigtigt: cURL udfører ikke JavaScript som en browser. Kommandoerne viser serverens svar og den oprindelige HTML, men kan ikke alene dokumentere, hvordan Google renderer siden, eller om Google har valgt at indeksere den. De viste kommandoer læser oplysninger og ændrer ikke hjemmesidens indhold.
JavaScript: Sammenlign oprindelig og renderet HTML
På moderne hjemmesider bliver produktlister, navigation eller brødtekst nogle gange indsat gennem JavaScript. Google kan behandle JavaScript, men det er stadig relevant at undersøge, om væsentligt indhold og links findes i den renderede HTML.
I en konkret webshopundersøgelse viste Google Search Consoles skærmbillede ikke de forventede produktkort. Den renderede HTML indeholdt imidlertid både produktnavne, priser og links. Derfor var det ikke dokumenteret, at Google manglede adgang til produktdataene. Forskellen mellem skærmbilledet og HTML-indholdet skulle vurderes særskilt.
Det illustrerer en central pointe: En visuel afvigelse i Googles gengivelse er ikke i sig selv bevis for årsagen til en manglende indeksering.
Robots.txt, noindex, canonical og redirects
Kontrollér, om robots.txt begrænser crawling, om siden har et noindex-direktiv, og om canonical-signalerne peger på den ønskede URL. Undersøg også, om gamle adresser viderestilles konsekvent til de tilsvarende nye sider.
Et canonical-tag er et signal, ikke en ordre. Et XML-sitemap kan hjælpe Google med at opdage URL'er, men garanterer hverken crawling eller indeksering. Se også min gennemgang af teknisk SEO.
Intern linkstruktur og crawlbar navigation
En side kan se korrekt ud i browseren, selv om en crawler ikke kan finde dens undersider. Undersøg derfor, om de vigtigste links findes som almindelige, tilgængelige links, og om menuer eller produktlister er afhængige af JavaScript.
Interne links viser samtidig sammenhængen mellem indholdet. Et sitemap bør ikke være den eneste vej til vigtige sider. Læs mere om betydningen af linkgrafen.
Serverlogs og Googlebots faktiske besøg
Serverlogs kan vise, hvilke URL'er Googlebot har anmodet om, hvornår det skete, og hvilke HTTP-svar serveren returnerede. Det er værdifuld dokumentation for crawling, men loggen fortæller ikke alene, hvorfor Google har fravalgt en side i indekset. Resultaterne bør sammenholdes med Search Console, rendering og sidens øvrige tekniske forhold.
Hvornår er problemet ikke teknisk?
Selv en teknisk korrekt side kan blive fravalgt. Google kan vurdere, at indholdet overlapper med andre URL'er eller ikke har tilstrækkelig selvstændig værdi. Det betyder dog ikke, at enhver side med status Gennemgået – ikke indekseret i øjeblikket automatisk har dårligt indhold.
Det er derfor vigtigt at skelne mellem dokumenterede fejl, mulige forklaringer og Googles egen indekseringsbeslutning.
Teknisk dokumentation og yderligere læsning
Ved teknisk fejlfinding kan de officielle manualer og specifikationer bruges til at kontrollere kommandoer, serverens svar og Googles behandling af JavaScript:
- cURL – officiel manual: parametre og HTTP-anmodninger.
- Debian – cURL-manual: brug af cURL i Linux-miljøer.
- Mozilla MDN – HTTP-statuskoder: fortolkning af serversvar.
- Mozilla MDN – Content-Type: MIME-typer og tegnkodning.
- Google Search Central – JavaScript SEO: crawling, rendering og indeksering.
Få undersøgt din hjemmesides indeksering
Jeg arbejder med teknisk SEO, webservere, Google Search Console, crawling og serverlogs. En undersøgelse begynder med de forhold, der kan dokumenteres, så ændringerne kan prioriteres på et teknisk grundlag.
Ingen kan garantere, at Google indekserer en bestemt URL. Men vi kan undersøge, om hjemmesiden giver Google de nødvendige tekniske forudsætninger.
Kontakt Online Marketing om en teknisk SEO-vurdering.
Ofte stillede spørgsmål om Google-indeksering
Hvad betyder Gennemgået – ikke indekseret i øjeblikket?
Det betyder, at Google har crawlet URL'en, men ikke aktuelt har valgt at medtage den i søgeindekset. Statusmeddelelsen oplyser ikke den præcise årsag.
Hvad betyder Opdaget – ikke indekseret i øjeblikket?
Google kender URL'en, men har ifølge den viste status endnu ikke crawlet den. Det er en anden situation end en URL, der allerede er gennemgået.
Er HTTP 200 nok til at blive indekseret?
Nej. HTTP 200 viser, at serveren har returneret et vellykket svar. Google skal stadig kunne behandle indholdet og vælge at indeksere siden.
Kan cURL vise, hvad Google ser?
cURL kan vise serverens headere og oprindelige HTML, men udfører ikke JavaScript som en browser. Brug Google Search Console til at undersøge Googles renderede HTML.
Kan cURL bruges på både Mac og Windows?
Ja. På Mac kan man bruge Terminal, og på Windows kan man bruge PowerShell eller Windows Terminal med curl.exe. Nogle hjælpekommandoer er forskellige.
Kan JavaScript forhindre Google i at indeksere en side?
JavaScript kan skabe problemer, hvis væsentligt indhold eller links ikke bliver tilgængelige under rendering. Men Google kan behandle JavaScript, og brugen af teknologien er ikke i sig selv en fejl.
Kan et XML-sitemap eller en indekseringsanmodning garantere indeksering?
Nej. Et sitemap hjælper Google med at opdage URL'er, og en anmodning kan gøre opmærksom på en side. Ingen af delene garanterer indeksering.
Hvor lang tid tager Google om at indeksere en side?
Der findes ingen fast tidsfrist. Det kan tage dage, uger eller længere, og Google kan vælge ikke at indeksere siden.