Dit zijn de beste Cloudflare /crawl-instellingen voor elke website
Het /crawl-endpoint van Cloudflare’s Browser Rendering is een van de snelste manieren om website-content op schaal te extraheren, maar de standaardinstellingen zijn niet optimaal voor de meeste toepassingen. Na het uitvoeren van crawls op tientallen sites, van Shopify-winkels tot React SPA’s tot documentatiesites, zijn dit de instellingen die consequent de beste resultaten opleveren.
Deze gids behandelt wat elke instelling doet, wanneer je deze moet wijzigen en de specifieke opdrachten die het beste werken voor veelvoorkomende sitetypes.
De belangrijkste beslissing: Rendermodus
Elke crawl begint met een keuze: moet Cloudflare de pagina laden in een headless browser, of gewoon de ruwe HTML ophalen?
render: false (--no-render) haalt de HTML op zonder JavaScript uit te voeren. Het is snel, gratis tijdens de betaperiode en produceert schone output voor elke site die content levert in de initiële HTML-respons.
render: true (de standaard) laadt elke pagina in een headless Chromium-instantie, voert JavaScript uit, wacht tot de pagina stabiel is en extraheert vervolgens de content. Dit is langzamer, verbruikt browseruren en kost geld na de gratis 10 uur/maand.
Wanneer elke modus zinvol is
| Sitetype | Aanbevolen modus | Reden |
|---|---|---|
| Shopify-winkels | --no-render |
Producten, collecties en pagina’s zijn server-gerenderd |
| WordPress-sites | --no-render |
Content zit in de initiële HTML-respons |
| Statische sites en blogs | --no-render |
Geen JavaScript-afhankelijke content |
| Hugo, Jekyll, Astro sites | --no-render |
Vooraf gebouwde HTML bij deployment |
| React of Vue SPA’s | render: true |
Content wordt geladen via JavaScript na de initiële paginalading |
| Sites met lazy-loaded data | render: true |
Reviews, prijzen en aanbevelingen kunnen JS vereisen |
In onze tests leverden Shopify-sites ongeveer 90% identieke content op tussen de rendermodi. De extra content van rendering bestond voornamelijk uit dynamische UI-elementen zoals winkelwagenlades en aanbevelingswidgets, geen betekenisvolle productdata. We behandelen de volledige vergelijking van rendermodi met directe benchmarks in Voor- en nadelen van het Cloudflare Crawl-endpoint met Shopify-winkels.
De vuistregel: begin met --no-render. Als de resultaten content missen die je nodig hebt, schakel dan over naar rendermodus.
URL-ontdekking: Sitemaps vs Links
De --source-vlag bepaalt hoe Cloudflare pagina’s vindt om te crawlen.
--source sitemaps leest de sitemap.xml van de site en crawlt alleen URL’s die daar vermeld staan. Dit is voorspelbaar, dekt de pagina’s die de site-eigenaar als canoniek beschouwt en voorkomt het crawlen van dubbele of weinig waardevolle pagina’s.
--source links begint bij de opgegeven URL en volgt <a href>-links die het op elke pagina vindt. Dit ontdekt pagina’s zoals een zoekmachine dat zou doen, maar kan verweesde pagina’s missen en kan in paginering, filters of andere weinig waardevolle URL-patronen terechtkomen.
--source all (de standaard) combineert beide methoden.
Welke te gebruiken
Gebruik --source sitemaps wanneer de site een volledige, goed onderhouden sitemap heeft. De meeste Shopify- en WordPress-sites hebben dat. Dit is de meest betrouwbare optie voor volledige site-contentextractie.
Gebruik --source links of all wanneer de sitemap ontbreekt, onvolledig is, of je specifiek de interne linkstructuur van de site wilt auditen.
Resource-blokkering voor render-true crawls
Dit is de meest impactvolle optimalisatie voor render-true crawls. Standaard laadt de headless browser elke afbeelding, elk lettertype, elke stylesheet en elk mediabestand op elke pagina. Dit is verspilling wanneer je alleen de tekstcontent nodig hebt.
Voeg --block-resources image media font stylesheet toe aan elke render-true crawl. Het effect is aanzienlijk:
- Snelheid: crawltijd daalt van ongeveer 7 seconden per pagina naar ongeveer 2 seconden per pagina
- Kosten: verbruikte browseruren worden met 60-70% verminderd
- Betrouwbaarheid: pagina’s die oneindig zouden wachten op trage CDN-assets worden nu normaal voltooid
De browser voert nog steeds JavaScript uit en bouwt het DOM. Het slaat alleen het downloaden over van assets die de tekstcontent niet beïnvloeden.
De wachtconditie
De --wait-until-vlag vertelt de browser wanneer het moet stoppen met wachten en content moet extraheren. De standaard wacht tot alle netwerkactiviteit is afgerond, wat langzaam en onnodig is voor contentextractie.
--wait-until domcontentloaded vertelt de browser om content te extraheren zodra het DOM gereed is. Voor tekstextractie is dit vrijwel altijd voldoende. JavaScript die content laadt zal zijn uitgevoerd, maar achtergrond-analyticspings en advertentienetwerk-aanroepen vertragen de crawl niet.
Aanbevolen opdrachten per sitetype
Shopify-winkel (volledige site)
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Snel, gratis en dekt de volledige productcatalogus. Shopify-sitemaps zijn uitgebreid, dus --source sitemaps geeft volledige dekking zonder in gepagineerde collecties of zoekresultatenpagina’s te crawlen.
Shopify-winkel (alleen producten)
python crawl.py run https://example.com \
--limit 1000 \
--format markdown \
--no-render \
--include-patterns "https://example.com/products/**" \
-o products.json
De --include-patterns-vlag beperkt de crawl tot URL’s die overeenkomen met het opgegeven patroon. Handig wanneer je alleen productpagina’s nodig hebt en collecties, blogposts en beleidspagina’s wilt overslaan.
WordPress of statische blog
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Dezelfde instellingen als Shopify. WordPress-sites zijn server-gerenderd en hebben betrouwbare sitemaps. Statische sitegeneratoren (Hugo, Jekyll, Eleventy, Astro) produceren vooraf gebouwde HTML, dus render-false legt alles vast.
React of Vue SPA
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--source sitemaps \
--block-resources image media font stylesheet \
--wait-until domcontentloaded \
-o results.json
Render-true is de standaard, dus er is geen vlag nodig. De cruciale toevoegingen zijn --block-resources en --wait-until domcontentloaded. Zonder deze zal de crawl langzaam en duur zijn.
Als de SPA geen sitemap heeft, schakel dan over naar --source links.
Documentatiesite
python crawl.py run https://docs.example.com \
--limit 500 \
--format markdown \
--no-render \
--depth 5 \
--exclude-patterns "*/changelog/**" "*/archive/**" \
-o docs.json
Documentatiesites hebben vaak diepe linkstructuren. Verhoog --depth om geneste paginahiërarchieën te volgen. Gebruik --exclude-patterns om changelog-pagina’s, gearchiveerde versies of andere content die je niet nodig hebt over te slaan.
Prestatiebenchmarks
Deze cijfers komen van echte crawls op Shopify- en e-commercewinkels in maart 2026. Sitenamen zijn geanonimiseerd.
| Site | Pagina’s | Modus | Contentgrootte | Browsertijd | Totale tijd |
|---|---|---|---|---|---|
| Supplementenwinkel (botbeschermd) | 89/100 | no-render | 5,9 MB | 0s | ~3,5 min |
| Kledingmerk (grote catalogus) | 500/500 | no-render | 77,1 MB | 0s | ~18 min |
| Kledingmerk (grote catalogus) | 4/5 | render-true | 0,6 MB | 0,9s | ~10s |
| DTC outdoormerk | 256/266 | no-render | 11,0 MB | 0s | ~5 min |
| DTC outdoormerk | 256/266 | render-true | 12,5 MB | 1.338s | ~25 min |
| Medische kledingwinkel | 1.200 | no-render | groot | 0s | ~55 min |
Belangrijke patronen uit de data:
- No-render is 5 tot 10 keer sneller dan render-true voor dezelfde site
- No-render verbruikt nul browsertijd (gratis tijdens de beta)
- Kloktijd schaalt lineair met het aantal pagina’s voor no-render crawls
- Sites met
robots.txtcrawl-delay-richtlijnen zijn langzaam ongeacht de instellingen, omdat de crawler deze respecteert
Kostenoptimalisatie
Het Workers Paid-abonnement kost $5/maand. Daarnaast komen kosten van browseruren die worden verbruikt door render-true crawls.
Gratis niveau: 10 browseruren/maand. Een render-true crawl van 500 pagina’s met resource-blokkering gebruikt ongeveer 15-20 minuten browsertijd. Je kunt 30+ geoptimaliseerde crawls per maand uitvoeren binnen het gratis niveau.
Zonder resource-blokkering: dezelfde crawl van 500 pagina’s kan 60+ minuten browsertijd gebruiken, waardoor je gratis capaciteit daalt tot ongeveer 10 crawls per maand.
No-render crawls zijn gratis tijdens de betaperiode. Voor server-gerenderde sites is er geen reden om render-true te gebruiken.
Kostenformule
Browser cost = (pages x seconds_per_page) / 3600 x $0.09
Bij 2 seconden per pagina (geoptimaliseerde render-true): 500 pagina’s = 0,28 uur = $0,025
Bij 7 seconden per pagina (niet-geoptimaliseerd): 500 pagina’s = 0,97 uur = $0,087
Het verschil is klein per crawl maar stapelt op bij dagelijkse of wekelijkse crawls over meerdere sites.
Limieten om te kennen
| Resource | Limiet |
|---|---|
| Pagina’s per crawl | 100.000 |
| Crawltaken per dag | Onbeperkt (Workers Paid) |
| Browseruren | 10 uur/maand gratis, daarna $0,09/uur |
| API-verzoeken | 600/minuut |
| Gelijktijdige browsers | 30 per account |
| Levensduur van een taak | Maximaal 7 dagen, resultaten beschikbaar gedurende 14 dagen |
Veelvoorkomende problemen en oplossingen
403-fouten op de meeste pagina’s: de site heeft botbescherming (Cloudflare Bot Management, Akamai, Datadome). Dit kan niet worden omzeild via het /crawl-endpoint. De crawl wordt voltooid, maar de meeste pagina’s geven fouten.
Render-true crawl hangt tegen het einde: een of meer pagina’s hebben traag ladende resources die de browser blokkeren. Voeg --block-resources image media font stylesheet en --wait-until domcontentloaded toe.
Ontbrekende content in no-render modus: de site laadt content via JavaScript. Schakel over naar render-true met de resource-blokkering en wachtoptimalisaties.
Script crasht halverwege de crawl: de crawltaak blijft draaien op de servers van Cloudflare. Controleer de status en haal de resultaten op wanneer deze klaar is:
python crawl.py status <job_id>
python crawl.py results <job_id> -o out.json
Lege resultaten van sitemaps-bron: de sitemap van de site ontbreekt mogelijk of is geblokkeerd. Schakel over naar --source links of --source all.
Bekende beperkingen
Voordat je een workflow bouwt rondom het /crawl-endpoint, wees je bewust van deze beperkingen:
- Foutieve relatieve URL-resolutie: Cloudflare’s markdown-converter lost relatieve URL’s zoals
//www.example.com/pathonjuist op door de pagina-URL ervoor te plaatsen. Dit creëert misvormde paden in de output, met name op Shopify-sites. - Boilerplate-content op elke pagina: navigatiemenu’s, megamenu’s en footers verschijnen in de markdown voor elke pagina. Voor een typische Shopify-site is ongeveer 90% van de content per pagina herhaalde templatecontent. Bekijk onze analyse van boilerplate-verhoudingen bij echte Shopify-crawls.
- Geen gestructureerde data-extractie: JSON-LD, schema.org en OpenGraph-data worden niet geparsed in no-render modus. Render-true legt basis OG-tags vast in metadata maar geen volledig schema.
- Geen 404-detectie: de crawl verwerkt alleen actieve URL’s. Dode links en kapotte interne links worden niet gerapporteerd.
- Enkele start-URL: de API accepteert een URL en spint naar buiten. Het accepteert geen URL-lijst. Gebruik voor batch-URL-ophaling in plaats daarvan de
/markdownof/scrapeendpoints.
Veelgestelde vragen
Moet ik render true of render false gebruiken met Cloudflare /crawl?
Gebruik render false (--no-render) voor server-gerenderde sites zoals Shopify, WordPress en statische sites. Gebruik render true alleen voor single-page apps gebouwd met React, Vue of Angular waarbij content via JavaScript wordt geladen. Tijdens tests leverden Shopify-sites ongeveer 90% identieke content op in beide modi.
Hoeveel kost Cloudflare Browser Rendering /crawl?
Een Workers Paid-abonnement kost $5/maand. Render-false crawls verbruiken geen browsertijd en zijn gratis tijdens de beta. Render-true crawls gebruiken browseruren: 10 uur/maand is gratis, daarna $0,09/uur. Het blokkeren van afbeeldingen, lettertypen en stylesheets tijdens render-true crawls vermindert de browsertijd aanzienlijk.
Wat is de beste URL-ontdekkingsbron voor Cloudflare /crawl?
Gebruik --source sitemaps voor sites met volledige sitemaps zoals Shopify en WordPress. Dit geeft voorspelbare, volledige dekking. Gebruik --source links of all wanneer de sitemap mogelijk onvolledig is of je pagina’s wilt ontdekken zoals een zoekmachine dat zou doen.
Waarom hangt mijn Cloudflare render-true crawl bij de laatste pagina’s?
Pagina’s met traag ladende resources zoals grote afbeeldingen of scripts van derden kunnen de headless browser 60+ seconden blokkeren. Los dit op door --block-resources image media font stylesheet en --wait-until domcontentloaded toe te voegen aan je crawl-opdracht.