Staat je website niet op Google? 7 controles om het op te lossen

Door SEOgrinder · Gepubliceerd · 13 min leestijd

Kort antwoord: Staat je website niet op Google, dan is daar meestal een oorzaak voor die je zelf kunt controleren. Check eerst of de pagina echt ontbreekt in de index van Google. Loop daarna zeven controles af, in deze volgorde: statuscode, noindex, robots.txt, soft 404, JavaScript, sitemap en links, en tijd. Niemand kan zeggen wanneer een pagina verschijnt: volgens Google kan crawlen “anywhere from a few days to a few weeks” duren, dus van een paar dagen tot een paar weken. En geïndexeerd zijn is niet hetzelfde als hoog scoren.

Staat je website niet op Google? Check eerst of hij echt ontbreekt

“Niet te vinden” kan drie dingen betekenen, en alleen het eerste is het onderwerp van dit artikel:

  • De pagina staat niet in de index van Google. Google heeft haar niet opgeslagen, dus ze kan bij geen enkele zoekopdracht verschijnen. Voor dit geval zijn de zeven controles hieronder bedoeld.
  • De pagina staat wel in de index, maar niet waar jij kijkt. Volgens de Google-help bij het rapport Pagina-indexering worden zoekresultaten aangepast aan de zoekgeschiedenis, de locatie en andere variabelen van elke gebruiker. Een geïndexeerde pagina verschijnt dus niet bij elke zoekopdracht en niet altijd op dezelfde plek. Dat is een kwestie van positie, niet van indexering.
  • De pagina is gloednieuw. Dan is tijd de meest waarschijnlijke oorzaak (controle 7).

Zo ontdek je welk geval het is:

  • Zoek op het exacte adres. Typ site:https://jouw-site.example/jouw-pagina in Google. De help bij het rapport Pagina-indexering noemt deze vorm, site: plus de exacte URL, als eerste test voor kleine websites. De help bij de URL-inspectietool noemt zoeken op de URL van de pagina de definitieve manier om te zien of ze verschijnt.
  • Vraag het aan Search Console. De URL-inspectietool laat zien wat Google over één adres heeft opgeslagen. “URL is geïndexeerd door Google” betekent dat de URL in de zoekresultaten kan verschijnen, maar dat niet gegarandeerd gebeurt. “URL is niet geïndexeerd door Google” betekent dat ze niet kan verschijnen. “URL is onbekend bij Google” betekent dat Google het adres nog niet eerder heeft gezien. Het opgeslagen antwoord is niet live; de actuele pagina test je met “Live URL testen”.

Staat de pagina al in de tabel “Waarom pagina’s niet worden geïndexeerd”, dan wijst de naam van de melding je de weg:

Melding in Search ConsoleGa verder bij
Serverfout (5xx); Niet gevonden (404); Geblokkeerd wegens ongeautoriseerd verzoek (401); Geblokkeerd vanwege verboden toegang (403); Pagina met omleidingControle 1
URL gemarkeerd als ‘noindex’Controle 2
URL geblokkeerd door robots.txt; Geïndexeerd, maar geblokkeerd door robots.txtControle 3
Soft 404Controle 4
URL is onbekend bij GoogleControle 6 en 7
Gevonden – momenteel niet geïndexeerd; Gecrawld – momenteel niet geïndexeerdControle 7
Dubbele pagina zonder door de gebruiker geselecteerde canonieke versieGeen van de zeven: Google heeft een ander adres als hoofdversie gekozen en noemt dit geen fout

De 7 controles, in de volgorde waarin je ze uitvoert

De eerste controles blokkeren alles wat daarna komt. Vervang jouw-site.example door je eigen adres. Bij elke controle staat hoe je de oorzaak herkent, wat je eraan doet en wat SEOgrinder erover laat zien.

Controle 1: Antwoordt de pagina met status 200?

Elk antwoord van een server begint met een statuscode. Volgens Googles pagina over HTTP-statuscodes indexeert Google geen URL’s die een 4xx-status teruggeven, en vallen al geïndexeerde URL’s die plotseling zo’n status geven uit de index. Bij blijvende serverfouten (5xx) vertraagt Google het crawlen, en uiteindelijk worden zulke URL’s verworpen. Een omleiding geeft de beslissing door aan het doel: Google negeert de inhoud van de doorverwijzende URL, en volgens het rapport Pagina-indexering wordt een “Pagina met omleiding” zelf niet geïndexeerd. Een 200 is een voorwaarde, geen belofte: een 2xx-status “doesn't guarantee indexing”, schrijft Google.

Twee blokkades zie je gemakkelijk over het hoofd. Een inlogscherm houdt Googlebot buiten, omdat Googlebot geen inloggegevens stuurt. En een firewall of botbescherming kan Googlebot met een fout beantwoorden terwijl jouw browser de pagina gewoon ziet. Googles help noemt verkeerd ingestelde firewalls en DoS-beveiliging als manier om Googlebot per ongeluk te blokkeren.

curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://jouw-site.example/jouw-pagina

Je wilt 200 zien, met het adres dat je verwacht. Dit laat zien wat jouw computer krijgt. Wat Google krijgt, laat de livetest in de URL-inspectietool zien. Los op wat de foutstatus veroorzaakt (serverlogboek, firewallregel, inlogplicht). Bij een omleiding moet het doel met 200 antwoorden.

In SEOgrinder: de kaart “Indexering” in het tabblad “Pagina bij Google” noemt de HTTP-status. Een slechte status wordt ook een taak, bijvoorbeeld “Server gaf status 503 terug”.

Controle 2: Staat de pagina op noindex?

Een noindex-regel zegt tegen Google dat de pagina buiten de index moet blijven. De regel staat in een robots-metatag in de kop van de pagina of in een HTTP-header X-Robots-Tag. Heeft Googlebot de pagina gecrawld en de regel gelezen, dan haalt Google de pagina volgens de noindex-documentatie helemaal uit de zoekresultaten: “Google will drop that page entirely from Google Search results”. Per ongeluk kan een pagina de regel zo krijgen:

  • Een instelling in het CMS. WordPress heeft bij de leesinstellingen een vakje waarmee je zoekmachines vraagt de site niet te indexeren (in het Engels “Discourage search engines from indexing this site”). Volgens de WordPress-documentatie schrijft WordPress sinds versie 5.3 dan een robots-metatag met noindex,nofollow in de kop van de pagina.
  • Een header. Een server of CDN kan X-Robots-Tag: noindex sturen. Die header staat nooit in de broncode van de pagina en wordt daarom makkelijk gemist.
  • Een verwijderingsverzoek. Heeft iemand voor dit adres de verwijderingstool gebruikt, dan geldt het verzoek maar ongeveer zes maanden, en het tabblad “Tijdelijke verwijderingen” toont het (hulp van Search Console).
curl -s -D - -o /dev/null https://jouw-site.example/jouw-pagina | grep -i x-robots-tag
curl -s https://jouw-site.example/jouw-pagina | grep -i -E 'name="(robots|googlebot)"'

Geen uitvoer betekent dat er geen header of tag is gevonden. Verschijnt er een regel, dan houdt noindex (of none) de pagina buiten de index. Blokkeert robots.txt de pagina bovendien (controle 3), dan ziet de crawler de regel nooit (“the crawler will never see the noindex rule”). Eerst moet dus de blokkade weg. Een tag die JavaScript pas later toevoegt, zie je niet in curl; wat Google heeft ontvangen, laat de livetest zien.

De oplossing: haal de instructie weg op elke plek waar ze staat: CMS-optie, metatag en header. Is ze weg, dan kun je in de URL-inspectietool indexering aanvragen.

In SEOgrinder: de eerste regel van de kaart “Indexering” verandert in “Pagina is uitgesloten van indexering” als de robots-metatag noindex zegt, en de takenlijst toont “Pagina is uitgesloten van Google”. Een noindex in de HTTP-header verschijnt als taak “Een HTTP-header sluit de pagina uit van Google”.

Controle 3: Blokkeert robots.txt de pagina?

Het bestand https://jouw-site.example/robots.txt vertelt crawlers welke paden ze moeten overslaan. Googles introductie van robots.txt beschrijft het in de eerste plaats als middel om het crawlerverkeer te beheren. Een regel die op jouw pagina past, houdt Googlebot van het ophalen af: een geblokkeerde URL wordt overgeslagen zonder dat er een verzoek wordt gedaan (JavaScript-SEO-basics). Het adres kan toch in de resultaten opduiken als andere pagina’s ernaar linken, maar dan zonder beschrijving, omdat Google de pagina niet heeft gelezen.

Het klassieke ongelukje bestaat uit twee regels:

User-agent: *
Disallow: /

Ze blokkeren de hele website voor elke crawler die zich aan het bestand houdt. Een smallere regel zoals Disallow: /shop/ blokkeert die map en alles eronder. Vergelijk elke Disallow-regel met het pad van je pagina. Verwijder de regel of maak hem zo smal dat hij je pagina niet meer raakt.

In SEOgrinder: de kaart “Indexering” meldt “Deze URL mag niet worden gecrawld” en toont de regel die van toepassing was. De taak heet “robots.txt blokkeert deze URL”.

Controle 4: Is de pagina een soft 404?

Een soft 404 is een pagina die “niet gevonden” zegt of vrijwel niets toont, maar met status 200 antwoordt. Volgens Googles pagina over statuscodes toont Search Console een soft 404-fout als een 2xx-antwoord een foutmelding of een lege pagina bevat. Voor pagina’s die echt niet bestaan, adviseert Google een echte 404. Bij een pagina die er wel hoort te zijn, is het omgekeerd: ze heeft echte inhoud nodig.

Zoek in het rapport Pagina-indexering naar de reden “Soft 404”. Voor één adres doe je de livetest en open je “Geteste pagina bekijken”, waar je een screenshot ziet van de pagina zoals Google haar weergeeft. Vraag je server daarna om een adres dat niet kan bestaan:

curl -s -L -o /dev/null -w "%{http_code} %{url_effective}\n" https://jouw-site.example/pagina-bestaat-niet

Je wilt 404 zien. Krijg je 200, dan beantwoordt de server elk adres met succes, en dat is het patroon achter soft 404-fouten. Hoe je dat oplost in nginx, Node en single-page-apps, lees je in ons artikel over soft 404-fouten.

In SEOgrinder: de kaart “Indexering” heeft de regel “Onbekende adressen geven correct 404 terug” of “Onbekende adressen geven 200 in plaats van 404”, met een taak erbij. SEOgrinder verzint een adres en vraagt je server ernaar. Het test dus hoe je server omgaat met adressen die niet bestaan. Of Google jouw pagina als soft 404 heeft geregistreerd, laat alleen Search Console zien.

Controle 5: Ontstaat de inhoud pas in de browser?

Google voert JavaScript uit. De JavaScript-SEO-basics leggen uit dat pagina’s met status 200 in een wachtrij wachten op rendering, wat “a few seconds, but it can take longer” kan duren. JavaScript alleen houdt een pagina dus niet uit Google. Het wordt een oorzaak in vier gevallen die dezelfde pagina beschrijft:

  • noindex in de oorspronkelijke HTML. Ziet Google noindex, dan slaat het mogelijk het renderen over. JavaScript dat de tag verwijdert, werkt dan “may not work as expected”, dus mogelijk niet zoals bedoeld. Moet de pagina worden geïndexeerd, zet noindex dan helemaal niet in de oorspronkelijke code.
  • Geblokkeerde scripts. “Google Search won't render JavaScript from blocked files or on blocked pages”: Google rendert geen JavaScript uit geblokkeerde bestanden of op geblokkeerde pagina’s.
  • Links die geen links zijn. Google vindt alleen links die <a>-elementen met een href-attribuut zijn. Adressen die pas na een # verschillen, zijn niet betrouwbaar.
  • Foutpagina’s in single-page-apps. Een app die elk adres met 200 beantwoordt, veroorzaakt soft 404-fouten (controle 4).

Kies om te testen “Paginabron weergeven” (niet het Elementen-paneel van de ontwikkelaarstools) en zoek je kop en hoofdtekst. Ontbreken ze, dan bouwt JavaScript ze op. Daarna laat de livetest met “Geteste pagina bekijken” zien hoe Google de pagina heeft gerenderd. Zet de inhoud al in de HTML die je server levert. Google noemt server-side rendering of pre-rendering zelf nog steeds een goed idee, want “not all bots can run JavaScript”, niet alle bots kunnen JavaScript uitvoeren. Die andere bots behandelt ons artikel over AI-crawlers en JavaScript.

In SEOgrinder: de taak “De pagina wordt pas in de browser opgebouwd” verschijnt als de HTML die je server levert vrijwel geen tekst, geen koppen en nauwelijks interne links bevat. Ze wijst op het risico voor crawlers die geen JavaScript uitvoeren. Of Google je pagina goed rendert, laat de livetest zien.

Google kan alleen indexeren wat het vindt. Volgens de help bij het rapport Pagina-indexering hoort Google van een pagina via een sitemap, een crawlverzoek of een link ergens op het web. Googlebot haalt URL’s op die hij heeft gevonden op pagina’s die hij eerder heeft gecrawld. Een pagina waar niets naar linkt, kan daarom onbekend blijven, vooral op een nieuwe site met weinig externe links (overzicht van sitemaps).

  • Bekijk je sitemap. Open https://jouw-site.example/sitemap.xml, of het adres dat in robots.txt staat, en zoek de pagina. Google wil volledige, absolute adressen, en alleen adressen die je in de zoekresultaten wilt zien (een sitemap maken). Pagina’s die 404 geven, doorverwijzen of noindex dragen, horen er niet in.
  • Dien hem in. Het rapport Sitemaps in Search Console laat zien wanneer Googlebot het bestand las en of er fouten waren. robots.txt mag het bestand niet blokkeren.
  • Link naar de pagina vanaf minstens één pagina die al is geïndexeerd, zoals de homepage of een verwant artikel.
  • Vraag indexering aan, spaarzaam. Voor een nieuwe website noemt Google een indexeringsverzoek voor de homepage de beste eerste stap. De URL-inspectietool is voor “just a few URLs”, dus voor een paar adressen. Er geldt een quotum, en wie hetzelfde adres steeds opnieuw aanvraagt, bereikt niet dat het sneller wordt gecrawld (“won't get it crawled any faster”, help bij opnieuw crawlen).

Een sitemap helpt Google adressen te ontdekken, maar garandeert niet (“doesn't guarantee”) dat alles erin wordt gecrawld en geïndexeerd. Een website met ongeveer 500 pagina’s of minder die overal onderling is gelinkt, heeft volgens Google misschien helemaal geen sitemap nodig.

In SEOgrinder: de kaart “Indexering” zegt “Deze URL staat in de sitemap” of “Deze URL staat niet in de sitemap”. De takenlijst kan “Geen sitemap gevonden” tonen, “Sitemap noemt een pagina met noindex” en een taak die sitemapadressen telt die niet met 200 antwoorden. Met de websitedoorloop toont een taak als “Eén pagina krijgt geen enkele interne link” de pagina’s waar niets naar linkt.

Controle 7: Heeft Google genoeg tijd gehad?

Google noemt geen datum. De help bij opnieuw crawlen zegt: “Crawling can take anywhere from a few days to a few weeks.” De help bij het rapport Pagina-indexering voegt toe dat het ongeveer een week kan duren voordat Google een nieuwe pagina of site begint te crawlen en te indexeren, dat indexering nooit direct gebeurt, ook niet na een rechtstreeks crawlverzoek, en dat Google niet garandeert dat alle pagina’s in de index komen.

Search Console kent twee wachtstatussen. “Gevonden – momenteel niet geïndexeerd” betekent: Google heeft de pagina gevonden maar nog niet gecrawld, meestal omdat het ophalen de server zou hebben overbelast. “Gecrawld – momenteel niet geïndexeerd” betekent: Google heeft de pagina opgehaald maar niet toegevoegd. Google noemt dit “a common message for many sites”, een melding die bij veel websites voorkomt en niet per se op een probleem wijst, en zegt dat je niet moet verwachten dat elke URL van een site wordt geïndexeerd.

Je herkent het zo: controle 1 tot en met 6 zijn uitgesloten en de pagina is pas een paar dagen of weken oud. Wacht af en kijk na een paar dagen opnieuw naar dezelfde adressen, niet elk uur. Is de pagina duidelijk ouder en staat ze nog steeds op “Gecrawld – momenteel niet geïndexeerd”, dan noemt Google geen verdere reden. Onze inschatting, niet die van Google: kijk of de pagina iets zegt wat je andere pagina’s niet al zeggen, en of belangrijke pagina’s naar haar linken.

In SEOgrinder: hoe lang Google nog nodig heeft, kan een scan niet zien. Een lokale installatie die met Search Console is verbonden, kan de URL-inspectie voor de gecontroleerde pagina opvragen en Googles opgeslagen antwoord in het rapport tonen, bijvoorbeeld “Google kent dit adres nog niet”. De versie op seogrinder.com is niet verbonden met je Search Console-account.

Wat een scan wel en niet kan zeggen

SEOgrinder is ons eigen hulpmiddel, wij bouwen het. Een scan van buitenaf leest wat je pagina zegt en hoe je server antwoordt: status, noindex, robots.txt, het soft 404-gedrag van de server, de geleverde HTML en de sitemap. De index van Google ziet hij niet, en waarom Google een gecrawlde pagina niet heeft opgenomen, kan hij je niet vertellen. De vraag naar de index beantwoorden Search Console en de zoekopdracht op het exacte adres. Een groen rapport belooft niet dat de pagina verschijnt of waar ze komt te staan. Dat kan niemand beloven.

Veelgemaakte fouten

  • Oordelen op basis van één zoekopdracht. Resultaten verschillen per persoon en plaats. Zoek op het exacte adres of gebruik de URL-inspectietool.
  • Blokkeren in robots.txt en ook noindex zetten. Google ziet de noindex-regel dan nooit. Gebruik voor elk doel één middel.
  • noindex maar op één plek weghalen. Het kan tegelijk in een plug-ininstelling, een metatag en een HTTP-header staan.
  • Steeds opnieuw indexering aanvragen. Dat versnelt niets.
  • Stoppen bij de eerste vondst. Op één pagina kunnen meerdere oorzaken tegelijk spelen. Loop alle zeven controles af.

Veelgestelde vragen

Waarom staat mijn nieuwe website niet op Google?

Een mogelijke reden is dat Google hem nog niet heeft gecrawld, wat ongeveer een week kan duren. Dien een sitemap in, vraag indexering aan voor de homepage en loop de zeven controles af.

Search Console zegt “URL is geïndexeerd door Google”, maar ik vind de pagina niet. Hoe kan dat?

“URL is geïndexeerd door Google” betekent dat de pagina kan verschijnen, niet dat ze bij elke zoekopdracht verschijnt. Zoek op het exacte adres. Verschijnt ze, dan is de indexering in orde en gaat het om de positie.

Mijn pagina stond op Google en is verdwenen. Welke controle past?

Begin met controle 1 tot en met 3. Google verwijdert geïndexeerde URL’s die een 4xx-status geven, en volgens Google kan een daling van het aantal geïndexeerde pagina’s zonder navenant meer fouten betekenen dat je bestaande pagina’s blokkeert via robots.txt, noindex of een inlog. Zoek ook naar een verwijderingsverzoek.

Je volgende stap

Voer het adres van de ontbrekende pagina in bij de gratis scan van SEOgrinder. Lees in het tabblad “Pagina bij Google” de kaart “Indexering” en herstel elke rode regel; de takenlijst laat zien wat het eerst aan de beurt is. Klik na je wijziging op “Opnieuw controleren”, want rapporten kunnen tot 24 uur in de cache staan. Dien daarna de sitemap in en geef Google tijd. Voor alles buiten de indexering gebruik je onze SEO-audit checklist.

Lees ook

Meer uit de blog