Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Crawlen: hoe een zoekmachine je site vindt

Module 1: Hoe zoekmachines werken · Leestijd: 11 minuten

Leerdoel: Na deze les kun je beschrijven hoe een crawler nieuwe pagina's ontdekt, welke statuscodes hij tegenkomt en wat die betekenen, en wat een crawler tegenhoudt.

Kernbegrippen: crawler (Googlebot, Bingbot), links volgen, sitemap, HTTP-statuscode (200, 301, 302, 404, 410, 429, 5xx), doorsturing, crawlbudget, JavaScript en renderen, wezen-pagina, robots.txt

Wat een crawler is

Een crawler (ook wel spider of bot) is een programma dat webpagina's ophaalt, net zoals jouw browser dat doet, maar dan automatisch en op enorme schaal. Google heeft Googlebot, Bing heeft Bingbot. Ze vragen een adres op, krijgen de HTML terug, lezen welke links erin staan en zetten die nieuwe adressen op hun lijst om later op te halen.

Google zegt dat Googlebot een site gemiddeld niet vaker dan eens per paar seconden bezoekt, en dat de meeste verzoeken van de smartphone-versie van Googlebot komen. Google bekijkt je site dus vooral zoals een telefoon hem ziet. Daar komt les 4.2 op terug.

Een crawler kan zich ook voordoen als Googlebot: de naam (de user-agent) is makkelijk na te maken. Google raadt aan een verdacht bezoek te controleren met een omgekeerde DNS-opzoeking van het IP-adres. Dat is handig als je in je serverlogboek "Googlebot" ziet die vreemde dingen doet.

Hoe een crawler nieuwe pagina's vindt

Google noemt drie manieren:

  1. Pagina's die hij al kent opnieuw bezoeken. Daar ziet hij wijzigingen en nieuwe links.
  2. Links volgen. Een link vanaf een pagina die Google al kent naar een nieuwe pagina is de belangrijkste manier om gevonden te worden. Dat geldt voor links binnen je eigen site (je menu, een link in een tekst) en voor links vanaf andere sites.
  3. Een lijst die jij aanlevert: de sitemap. Een sitemap is een bestand met de adressen van je pagina's. Je meldt hem aan in Search Console of zet hem in robots.txt (les 3.4). Een sitemap is volgens Google niet verplicht, maar wel handig, vooral voor nieuwe sites met nog weinig links, grote sites en pagina's die diep in de site zitten.

Links moeten echte links zijn

Google kan een link alleen volgen als het een gewoon <a>-element met een href is:

<a href="/bruidsboeketten">Bruidsboeketten</a>          <!-- goed -->
<span onclick="ga('/bruidsboeketten')">Bruidsboeketten</span>   <!-- geen link voor Google -->

Een knop die alleen met JavaScript naar een andere pagina springt, is voor een crawler geen link. Een pagina die nergens vandaan gelinkt wordt, heet een wezen-pagina (orphan page). Die vindt een crawler alleen via de sitemap, en ook bezoekers vinden hem moeilijk. Een nieuwe pagina hoort dus altijd ergens in je menu of in een tekst gelinkt te worden.

JavaScript: eerst ophalen, later uitvoeren

Veel moderne sites bouwen de pagina met JavaScript op in de browser. Google kan dat aan: het voert JavaScript uit met een recente versie van Chromium, de basis van de Chrome-browser. Dat heet renderen. Google beschrijft het als drie fasen voor zulke pagina's: crawlen, renderen en indexeren. Pagina's met status 200 komen in een wachtrij om gerenderd te worden.

Twee gevolgen:

  • Wat pas na JavaScript op de pagina komt, ziet Google later dan wat direct in de HTML staat.
  • Niet elke crawler voert JavaScript uit. Google zegt dat zelf ook. Tekst, titels en links die direct in de HTML staan, zijn dus voor alle zoekmachines het veiligst. Google noemt HTML die op de server wordt gemaakt "nog steeds een goed idee".

De automatische controles in deze cursus lezen de HTML zoals de server hem stuurt, zonder JavaScript. Wat jij in je browser ziet, kan daarvan afwijken.

Statuscodes: wat de server terugzegt

Bij elke pagina stuurt de server een statuscode mee. Die zie je niet op het scherm, maar een crawler leest hem als eerste:

CodeBetekenisWat Google ermee doet
200OK, hier is de paginaInhoud gaat door naar het indexeren (opname is niet gegarandeerd)
301 / 308Blijvend verhuisd naar een ander adresSterk signaal dat het nieuwe adres het juiste is
302 / 307Tijdelijk ergens andersZwak signaal; het oude adres blijft vaak het hoofdadres
404 / 410Bestaat niet (meer)Een eerder opgenomen adres gaat uit de index; Google komt er steeds minder vaak langs
429Te veel verzoekenGoogle gaat tijdelijk langzamer crawlen
5xxFout op de serverGoogle gaat tijdelijk langzamer crawlen; blijft een adres steeds een serverfout geven, dan valt het uiteindelijk uit de index

Let op de soft 404: een pagina die "niet gevonden" toont maar status 200 geeft. Voor de crawler lijkt het een echte pagina, voor de bezoeker niet. Search Console meldt zulke pagina's apart. Een verwijderde pagina hoort dus een echte 404 of 410 te geven, of met een 301 door te sturen naar een vervanger.

Een doorstuurketen (http naar https naar www naar de nieuwe pagina) volgt Google wel, tot ongeveer tien stappen, maar elke stap kost tijd. Les 4.1 laat zien hoe je dat in één stap doet.

Wat een crawler tegenhoudt

Google noemt als oorzaken dat een pagina niet gecrawld wordt: problemen met de server, netwerkproblemen, en regels in robots.txt die Googlebot de toegang verbieden. In de praktijk zie je daarnaast:

  • een site die nog in "onderhoudsmodus" staat of achter een wachtwoord zit;
  • in WordPress het vinkje "Zoekmachines ontmoedigen", dat een noindex zet (dat is stap 2, maar het effect is hetzelfde: niet te vinden);
  • een beveiliging of firewall die onbekende bots weigert met 403 of 429;
  • een site die alleen via JavaScript-knoppen te navigeren is.

robots.txt krijgt een eigen les (3.3). Voor nu is genoeg: het is een tekstbestand op https://www.example.com/robots.txt dat zegt welke delen van je site een crawler niet mag ophalen.

Crawlbudget: voor de meeste sites geen zorg

Je leest online veel over crawlbudget: hoeveel pagina's Google op je site wil en kan ophalen. Google zegt dat de handleiding daarover bedoeld is voor grote sites, met als ruwe schatting meer dan een miljoen pagina's, of meer dan tienduizend pagina's die dagelijks veranderen. Worden je nieuwe pagina's op de dag van publicatie al opgehaald, dan hoef je je er niet mee bezig te houden. Voor een site als die van Bloemenatelier Lotte met dertig pagina's is het geen onderwerp. Een actuele sitemap en af en toe een blik in het indexeringsrapport zijn genoeg.

In de praktijk: je serverlogboek

In DirectAdmin en vergelijkbare panelen kun je het toegangslog van je site bekijken. Zoek op "Googlebot" of "bingbot" en je ziet welke pagina's ze opvroegen en welke statuscode ze kregen. Zie je daar veel 404's of 5xx-fouten, dan weet je waar je moet beginnen. Bij andere aanbieders vind je de logboeken meestal onder een vergelijkbare naam in het klantpaneel.

Samenvatting

  • Een crawler haalt pagina's op en vindt nieuwe adressen via links en via je sitemap.
  • Alleen echte <a href>-links worden gevolgd; een pagina zonder links ernaartoe is een wezen.
  • Google voert JavaScript uit, maar later; andere crawlers vaak niet. Belangrijke inhoud hoort in de HTML.
  • De statuscode bepaalt wat een crawler doet: 200 verwerken, 301 verhuizen, 404/410 verwijderen, 5xx en 429 langzamer crawlen.
  • Crawlbudget speelt alleen bij zeer grote of zeer snel veranderende sites.

Quiz

1. Hoe ontdekt Google vooral nieuwe pagina's?



2. Een verwijderde pagina toont "Deze pagina bestaat niet" maar geeft statuscode 200. Hoe heet dat?



3. Je server geeft een uur lang alleen 503-fouten. Wat doet Google volgens zijn eigen documentatie?



4. Moet de eigenaar van een site met veertig pagina's zich zorgen maken over crawlbudget?



5. Je menu werkt met knoppen die met JavaScript naar een andere pagina springen, zonder <a href>. Wat is het risico?



Opdracht

Opdracht A1.2: Wat ziet een crawler op je homepage? Vul het adres van je site in (of www.wikipedia.org als je geen eigen site hebt). Vul daarna in wat je verwacht: de statuscode van de uiteindelijke pagina, het adres waar je na doorsturen uitkomt, en of er een noindex op staat. Het programma haalt de homepage op zoals een crawler, zonder JavaScript, en laat de doorstuurketen zien, de statuscode, het aantal echte links naar je eigen site in de HTML, en of de tekst van de pagina zonder JavaScript leesbaar is.

Opdracht A1.2: Wat ziet een crawler op je homepage?





Wat je invult en wat we vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Verder lezen

De stappen in deze artikelen gelden voor de panelen van WebOké; bij andere aanbieders werkt het vergelijkbaar.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…