Definitie
Een crawlval is een deel van je site dat een vrijwel oneindig aantal URL's genereert, zoals filtercombinaties of kalenders. Crawlers verspillen er hun tijd aan.
Wat is een crawlval?
Een crawlval ontstaat waar je site zelf nieuwe URL's blijft maken. Elke pagina linkt naar een variant die er weer naar een variant linkt. De crawler komt er nooit doorheen. Google noemt dit in zijn documentatie een oneindige URL-ruimte.
Typische oorzaken: filters die je onbeperkt kunt combineren, sorteer- en limietparameters, kalenders met een knop "volgende maand" tot in het oneindige, sessie-ID's of trackingcodes in interne links, en relatieve links die bij een verkeerde basis-URL steeds een map dieper gaan. Ook interne zoekresultaten waar elke zoekterm een nieuwe pagina is, horen in dit rijtje.
Een crawlval is niet altijd groot of opvallend. Soms is het één component, zoals een productvergelijker die voor elke combinatie van producten een eigen URL maakt, of een widget met "meer laden" die steeds een nieuwe parameter aan de link toevoegt. Die zie je alleen als je kijkt waar Googlebot echt komt.
Waarom het ertoe doet voor webshops
Een categorie met tien filters van elk tien waarden kan in theorie miljoenen combinaties opleveren. Voeg sorteren, aantal per pagina en paginering toe en het getal wordt absurd. Googlebot gaat daar niet alles crawlen, maar besteedt er wel een deel van zijn tijd aan. Die tijd gaat niet naar nieuwe producten of aangepaste prijzen.
Het gevolg zie je in Search Console als een groeiende stapel "Gevonden, momenteel niet geïndexeerd" en "Gecrawld, momenteel niet geïndexeerd". In de logfiles zie je het directer: een groot deel van de Googlebot-hits gaat naar URL's met parameters, terwijl belangrijke productpagina's weken niet bezocht worden.
Voor kleine shops met een paar honderd producten valt het meestal mee. Vanaf duizenden producten met uitgebreide filters wordt het een reëel crawlbudgetprobleem.
De rekenstap is eenvoudig. Tel in je logfiles het aandeel Googlebot-verzoeken naar URL's met parameters. Zet daar het aandeel naast dat naar product- en categoriepagina's gaat die je wilt laten ranken. Is de verhouding scheef, dan weet je waar je crawlbudget naartoe gaat.
Zo pak je het aan in Magento, Shopify en Laravel
Magento's layered navigation maakt filter-URL's met parameters, zoals ?color=12&size=40. Kies welke filters een indexeerbare landingspagina verdienen en houd de rest weg met robots.txt-regels of door die filterlinks niet als gewone a-href te renderen. Blokkeer ook product_list_order, product_list_dir, product_list_limit en product_list_mode, en /catalogsearch/.
Shopify blokkeert in de standaard robots.txt al sorteer-URL's, /search en combinaties van collectiefilters met een +. De filters van de Search & Discovery-app gebruiken parameters die met ?filter. beginnen; die kun je via robots.txt.liquid extra afschermen als je logfiles laten zien dat Google ze massaal crawlt.
In Laravel bouw je de filters zelf. Normaliseer de volgorde van parameters, beperk het aantal combineerbare filters in links en geef onbekende of lege parameters een 404 of een redirect naar de schone URL.
Veelgemaakte fouten
Alles oplossen met een canonical. Een canonical voorkomt duplicaten in de index, maar Google moet de URL's nog steeds crawlen om de canonical te zien. Tegen een crawlval helpt alleen voorkomen dat de URL's ontdekt of opgehaald worden.
Ook vaak gezien: een kalender of "recent bekeken"-blok dat oneindig doorlinkt, en interne links met utm-parameters in nieuwsbrief-banners op de site zelf. Gebruik voor interne links altijd de schone URL.
Na het afsluiten van een crawlval zie je het effect eerst in de logfiles, daarna in Search Console. Het aantal gevonden maar niet geïndexeerde URL's daalt meestal geleidelijk, omdat Google oude URL's nog een tijd in zijn lijst houdt.
Robots.txt-regels tegen een Magento-crawlval
User-agent: *
Disallow: /catalogsearch/
Disallow: /*?*product_list_order=
Disallow: /*?*product_list_limit=
Disallow: /*?*product_list_mode=
Disallow: /*?*product_list_dir=Verder lezen
Veelgestelde vragen
Hoe herken ik een crawlval?+
In je serverlogs: een groot deel van de Googlebot-verzoeken gaat naar URL's met parameters of eindeloze paden. In Search Console zie je vaak veel gevonden maar niet geïndexeerde URL's.
Lost een canonical een crawlval op?+
Nee. De canonical regelt welke versie geïndexeerd wordt, maar Google moet de URL's nog steeds ophalen. Voorkom dat ze ontdekt of gecrawld worden.
Heeft een kleine webshop hier last van?+
Zelden. Het wordt een probleem bij duizenden producten met veel combineerbare filters.
