← All Articles

Vor- und Nachteile des Cloudflare Crawl Endpoints bei Shopify Stores

Cloudflare /crawl Endpoint Benchmarks und Vergleich mit Scrapy-Pipeline ueber fuenf Shopify Stores

Was ist der Cloudflare /crawl Endpoint?

Cloudflares /crawl Endpoint ist Teil ihrer Browser Rendering API, die sich derzeit in der offenen Beta befindet. Er scrapt Inhalte von einer Start-URL, folgt Links ueber die gesamte Website bis zu einer konfigurierbaren Tiefe oder Seitenlimit und gibt die Ergebnisse als HTML, Markdown oder strukturiertes JSON zurueck, angetrieben von Workers AI. Cloudflare positioniert ihn als Werkzeug fuer das Training von Modellen, den Aufbau von RAG-Pipelines und die Recherche oder Ueberwachung von Inhalten ueber eine Website hinweg.

Der Endpoint arbeitet als signierter Agent, der standardmaessig robots.txt und Cloudflares AI Crawl Control respektiert, was eine bemerkenswerte Design-Entscheidung ist. Er soll es Entwicklern erleichtern, Website-Regeln einzuhalten, und es Crawlern erschweren, die Anweisungen von Website-Betreibern zu ignorieren.

Der Endpoint befindet sich unter:

https://api.cloudflare.com/client/v4/accounts/<account_id>/browser-rendering/crawl

Sie benoetigen ein Cloudflare-API-Token mit Browser Rendering Edit-Berechtigung, um ihn zu nutzen.

So funktioniert es

Der Crawl laeuft als asynchroner Job in zwei Schritten:

  1. Starten Sie den Crawl mit einem POST-Request, der eine Start-URL enthaelt. Die API gibt sofort eine Job-ID zurueck.
  2. Abfrage der Ergebnisse mit GET-Requests unter Verwendung dieser Job-ID. Wenn der Job-Status von running zu completed wechselt, sind Ihre gecrawlten Daten bereit.

Jobs koennen bis zu sieben Tage laufen. Ergebnisse werden 14 Tage nach Abschluss gespeichert.

Was Sie senden

Mindestens senden Sie eine URL:

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://example.com"
  }'

Wichtige Parameter

Parameter Standard Funktion
limit 10 Max. zu crawlende Seiten (bis zu 100.000)
depth 100.000 Max. Link-Tiefe ab Start-URL
source all Wo URLs entdeckt werden: all, sitemaps oder links
formats HTML Antwortformat: html, markdown oder json
render true JavaScript ausfuehren (true) oder schneller HTML-Abruf (false)
maxAge 86.400 Cache-TTL in Sekunden (max. 604.800)
modifiedSince keiner Unix-Zeitstempel: nur Seiten crawlen, die nach diesem Zeitpunkt geaendert wurden
options.includePatterns keiner Nur URLs crawlen, die diesen Wildcard-Mustern entsprechen
options.excludePatterns keiner URLs ueberspringen, die diesen Mustern entsprechen

Was Sie zurueckbekommen

Jede gecrawlte Seite wird als Datensatz mit der URL, dem Status, dem Inhalt im gewaehlten Format und grundlegenden Metadaten (HTTP-Statuscode, Seitentitel, finale URL nach Weiterleitungen) zurueckgegeben. Mit render: true erhalten Sie auch Open-Graph-Tags. Die Antwort enthaelt ausserdem browserSecondsUsed fuer Abrechnungstransparenz und einen cursor fuer die Paginierung von Ergebnissen, die 10 MB ueberschreiten.

Hier ist die tatsaechliche Job-Level-Antwort eines 24-seitigen gerenderten Crawls eines Live-Shopify-Stores:

{
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "completed",
  "total": 24,
  "finished": 24,
  "browserSecondsUsed": 58.38,
  "record_count": 24,
  "records": [
    {
      "url": "https://www.example-store.com/products/premium-widget-bundle",
      "status": "completed",
      "metadata": {
        "status": 200,
        "title": "Premium Widget Bundle | Example Store",
        "url": "https://www.example-store.com/products/premium-widget-bundle",
        "lastModified": "",
        "og:type": "product",
        "og:site_name": "Example Store",
        "og:title": "Premium Widget Bundle | Example Store",
        "og:image": "https://www.example-store.com/cdn/shop/files/product-image.jpg",
        "og:description": "Our best-selling bundle with everything you need..."
      },
      "markdown": "Store\n\nexample-store\n\nURL\n\nhttps://www.example-store.com\n\nCurrency\n\nUSD\n\n# Premium Widget Bundle\n\nOur best-selling bundle with everything you need..."
    }
  ]
}

Mit render: true enthaelt das Metadaten-Objekt den vollstaendigen Satz an Open-Graph-Feldern: Typ, Site-Name, Titel, Bild-URL und Beschreibung. Diese werden waehrend des Browser-Renderings aus den OG-Meta-Tags der Seite gezogen. Mit render: false enthalten die Metadaten nur den HTTP-Statuscode, den Seitentitel und die finale URL. Es werden keine Open-Graph-Felder extrahiert.

Das Markdown-Feld enthaelt die gesamte Seitenausgabe, nicht nur den Hauptinhalt. Navigationsmenues, Mega-Menues, Footer und sich wiederholende Template-Bloecke sind in jedem Datensatz enthalten. In unseren Tests gab die durchschnittliche Seite etwa 158 KB Markdown zurueck, wobei ca. 90% davon wiederholter Boilerplate-Inhalt war. Wenn Sie dies in ein LLM oder eine RAG-Pipeline einspeisen, benoetigen Sie Ihre eigene Content-Extraktionslogik, um das Template zu entfernen und den tatsaechlichen Seiteninhalt zu isolieren.

Hier ist, was derselbe Store zurueckgab, als wir render: false ausfuehrten:

{
  "job_id": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
  "status": "completed",
  "total": 266,
  "finished": 266,
  "browserSecondsUsed": 0,
  "record_count": 256,
  "records": [
    {
      "url": "https://www.example-store.com/products/classic-knit-sweater",
      "status": "completed",
      "metadata": {
        "status": 200,
        "title": "Classic Knit Sweater | Example Store",
        "url": "https://www.example-store.com/products/classic-knit-sweater",
        "lastModified": ""
      },
      "markdown": "Skip to content\n\nFree Shipping $150+\n\n# Classic Knit Sweater\n\nOur best-selling sweater made from premium natural fibers..."
    }
  ]
}

Null Browser-Sekunden, 256 Datensaetze von 266 Seiten. Die Metadaten sind im Vergleich zur gerenderten Version minimal: keine Open-Graph-Felder, nur der HTTP-Status, der Seitentitel und die URL. Aber das Markdown enthaelt weiterhin den vollstaendigen Seiteninhalt einschliesslich Navigation, Produktdetails und Footer. Fuer servergerenderte Shopify Stores ist im statischen HTML bereits alles vorhanden, was Sie brauchen.

URL-Erkennung

Der Crawler entdeckt URLs ueber drei Quellen (wenn source auf all gesetzt ist):

  1. Die Start-URL, die Sie angeben
  2. Sitemap-Links, die auf der Domain gefunden werden
  3. Interne Links, die auf gecrawlten Seiten gefunden werden

Sie koennen dies mit dem source-Parameter auf nur Sitemaps oder nur Seitenlinks beschraenken. excludePatterns hat immer Vorrang vor includePatterns, sodass Sie ein weites Netz auswerfen und dann Bereiche ausschliessen koennen, die Sie nicht benoetigen.

Rendering vs. Schneller Abruf

render: true (Standardeinstellung) startet einen Headless-Browser, fuehrt JavaScript aus und wartet, bis die Seite vollstaendig geladen ist. Dies ist notwendig fuer Single-Page-Applikationen und JavaScript-gerenderte Inhalte, verbraucht aber Browser-Sekunden, die abgerechnet werden.

render: false fuehrt einen schnellen HTML-Abruf ohne JavaScript-Ausfuehrung durch. Waehrend der Beta werden diese Abrufe nicht berechnet. Dies ist die richtige Wahl fuer statische Websites oder servergerenderte Seiten, bei denen der Inhalt bereits im initialen HTML enthalten ist.

Abrechnung und Verfuegbarkeit

Der Endpoint ist sowohl auf Workers Free als auch auf Paid Plans verfuegbar. Gerenderte Crawls werden nach Cloudflares Browser Rendering-Preisen mit 0,09 $ pro Browser-Stunde ueber Ihre enthaltene Zuteilung hinaus abgerechnet.

Workers Free: 10 Minuten Browser-Zeit pro Tag. Der /crawl Endpoint ist auf 5 Jobs pro Tag, 100 Seiten pro Crawl und 6 API-Anfragen pro Minute begrenzt.

Workers Paid (5 $/Monat): 10 Stunden Browser-Zeit pro Monat inklusive. Keine Crawl-Seitenlimits. 600 API-Anfragen pro Minute. Zusaetzliche Browser-Stunden kosten je 0,09 $.

render: false Crawls verbrauchen null Browser-Zeit. Sie sind waehrend der Beta kostenlos, werden aber letztendlich unter die Standard-Workers-Preise fallen.

Was ist Wall-Clock-Zeit?

Wall-Clock-Zeit ist die gesamte verstrichene Zeit vom Start eines Crawls bis zu seinem Abschluss, gemessen so, wie Sie es mit einer Stoppuhr messen wuerden. Sie umfasst alles: Netzwerklatenz, Cloudflares interne Warteschlangenzeit, DNS-Lookups, Server-Antwortzeit und (wenn Rendering aktiviert ist) Browser-Ausfuehrungszeit.

Wall-Clock-Zeit unterscheidet sich von Browser-Zeit. Browser-Zeit zaehlt nur die Sekunden, die Cloudflares Headless-Browser aktiv mit dem Rendern von Seiten verbringt. Ein Crawl koennte 22 Minuten Browser-Zeit verbrauchen, aber 25 Minuten Wall-Clock-Zeit benoetigten, wegen Warteschlangen- und Netzwerk-Overhead. Crawls ohne Rendering verbrauchen null Browser-Zeit, haben aber dennoch Wall-Clock-Zeit durch den Abruf- und Warteschlangenprozess.

In unseren Benchmarks berichten wir beide Zahlen, damit Sie sehen koennen, wofuer Sie bezahlen (Browser-Zeit) im Vergleich dazu, wie lange Sie tatsaechlich warten (Wall-Clock-Zeit).

Das Kleingedruckte

Der Endpoint respektiert robots.txt-Direktiven einschliesslich crawl-delay. Er identifiziert sich als CloudflareBrowserRenderingCrawler/1.0. Er umgeht keine CAPTCHAs, Turnstile-Challenges oder anderen Bot-Schutz. Wenn Sie Ihre eigene Website crawlen und blockiert werden, muessen Sie eine WAF-Skip-Regel erstellen, um den Crawler auf die Allowlist zu setzen.

Wie sich Cloudflare /crawl ueber fuenf Shopify Stores hinweg verhaelt

Wir haben den /crawl Endpoint gegen fuenf Live-Shopify-Stores laufen lassen, um Geschwindigkeit, Erfolgsrate, Kosten und die Interaktion des Crawlers mit jedem Store zu messen. Jeder Store-Name ist anonymisiert. Dies sind echte Zahlen aus echten Crawls. Wall-Clock-Zeiten sind ungefaehre Schaetzungen. Einige fruehe Tests verwendeten Skripte mit eingeschraenkter Fehlerbehandlung, was die berichteten Erfolgsraten bei bestimmten Stores beeinflusst haben koennte. Wo dies zutrifft, vermerken wir es unten.

Dies ist kein Endpoint, den man einfach einrichtet und vergisst. Jeder Store reagierte unterschiedlich auf Endpoint-Anfragen. Einige benoetigten Resource-Blocking, um einen gerenderten Crawl abzuschliessen. Andere gaben bei einem Modus 429-Fehler zurueck, funktionierten aber im anderen einwandfrei. Crawl-Delay-Direktiven, Seitenanzahl und Store-Architektur beeinflussten alle das Ergebnis. Planen Sie ein, die Einstellungen fuer jede Website, die Sie crawlen, zu testen und anzupassen.

Testpanel: Fuenf Live-Shopify-Stores
A
Grosser E-Commerce
~3.000 Produkte
B
Mittelgrosse Bekleidung
256 Seiten
C
Gesundheit & Nahrungsergaenzung
Grosser Katalog
D
Kleiner Store
24 Seiten
E
Grosser Multi-Kategorie-Store
~1.200 Seiten

Test 1: Grosser E-Commerce-Katalog (Store A)

Wir haben den /crawl Endpoint auf einen grossen Shopify Store mit fast 3.000 Seiten gerichtet. Inhalte kamen schnell zurueck, das Markdown war brauchbar, und der Endpoint hatte keine Probleme beim Abrufen von Produktseiten, Kollektionsseiten und Blog-Inhalten. Keine Proxy-Probleme, keine Blockaden, kein Rate-Limiting.

Wir haben mehrere Crawls in verschiedenen Groessen durchgefuehrt:

Crawl-Groesse Zurueckgegebene Seiten Modus Browser-Zeit Wall Clock
20-Seiten-Stichprobe 20 / 20 (100%) no-render 0s ~1 Min.
500-Seiten-Crawl 500 / 500 (100%) no-render 0s ~18 Min.
5-Seiten gerendert 4 / 5 (80%) render: true 0,9s ~10s

Crawling ohne JavaScript-Rendering erreichte 100% Erfolg in beiden Groessen. Vollstaendiges Browser-Rendering gab 4 von 5 Seiten in einem kleinen Stichprobentest zurueck. Bei einer so kleinen Stichprobe koennte die einzelne fehlende Seite ein Browser-Timeout, ein voruebergehender Fehler oder ein Skript-seitiges Problem sein.

Test 2: Kleiner Shopify Store (Store D, 24 Seiten)

Ein kleinerer Store, an dem wir den vollstaendigen Workflow getestet haben:

Crawling ohne Rendering gab Fehler zurueck. Unser erster Test ergab 429-Antworten beim einfachen HTML-Abruf. Wir haben diesen Store nicht erneut mit verbesserter Fehlerbehandlung getestet, daher koennen wir nicht bestaetigen, ob die 429er vom Rate-Limiting des Stores oder von voruebergehenden Problemen waehrend des Tests stammten.

Vollstaendiges Rendering mit Sitemap-basierter Erkennung war ein kompletter Erfolg. 24 von 24 Seiten gecrawlt, 100% Abschluss.

Seitentyp Anzahl
Produkte 9
Kollektionen 4
Seiten 3
Blogs/News 5
Sonstige (Startseite, Blog-Index) 3

Eine wichtige Entdeckung: Der Standard-URL-Erkennungsmodus fand nur 1 Seite, weil die Startseite fast keine internen Links hatte. Der Wechsel zur Sitemap-basierten Erkennung fand alle 24. Wenn Ihre Startseite minimal oder JavaScript-lastig ist, findet der Crawler moeglicherweise keine Seiten allein durch Links.

Test 3: Mittelgrosser Bekleidungs-Store (Store B, 256 Seiten), mit und ohne Rendering

Unser detailliertester Test. Ein mittelgrosser Bekleidungs-Store mit 256 indexierbaren Seiten: Produkte, Kollektionen, Blog-Beitraege und Informationsseiten. Wir haben beide Modi auf der gesamten Website ausgefuehrt, um den tatsaechlichen Unterschied zu messen.

Metrik render: false render: true Unterschied
Gecrawlte Seiten 256 / 266 256 / 266 Gleich
Gesamte Markdown-Ausgabe 11,0 MB 12,5 MB +14%
Browser-Zeit 0s 1.338s (22 Min.) +22 Min.
Geschaetzte Kosten 0 $ (Beta) ~0,03 $ +0,03 $
Wall-Clock-Zeit ~5 Min. ~25 Min. 5x langsamer
Kernerkenntnis: Crawling ohne Rendering erfasst 90% des Inhalts kostenlos
Der 14%ige Inhaltsanstieg durch vollstaendiges Rendering stammte fast ausschliesslich von JavaScript-geladenen Elementen auf der Startseite und Blog-Index-Seiten. Einzelne Blog-Artikel und Produktseiten waren zwischen den Modi nahezu identisch. Fuer Stores mit ueberwiegend statischem Inhalt ist das Ueberspringen des Renderings der klare Gewinner: 90% des nuetzlichen Inhalts, null Browser-Kosten und 5-fach schnellerer Abschluss.

Test 4: Gesundheits- und Nahrungsergaenzungsmittel-Haendler (Store C), teilweiser Erfolg im grossen Massstab

Ein grosser Gesundheitsprodukte-Haendler mit einem riesigen Katalog. Wir haben zwei Crawls ohne Rendering in verschiedenen Groessen durchgefuehrt:

Crawl-Groesse Zurueckgegebene Seiten Erfolgsrate Wall Clock
5-Seiten-Stichprobe 2 / 5 40% ~25s
100-Seiten-Crawl 89 / 100 89% ~3,5 Min.

Die teilweise Erfolgsrate koennte darauf hindeuten, dass die Infrastruktur dieses Stores einige Nicht-Browser-Anfragen ablehnt, aber unser erster Test hatte keine robuste Fehlerbehebung, sodass einige dieser Fehlschlaege mit besserer Retry-Behandlung auf unserer Seite behebbar gewesen sein koennten. Die Erfolgsrate verbesserte sich von 40% auf 89% bei groesserem Massstab. Wir haben diesen Store nicht erneut mit verbesserter Fehlerbehandlung getestet, um die Ursache zu isolieren.

Test 5: Grosser Multi-Kategorie-Store (Store E, ~1.200 Seiten)

Unser groesster und aufschlussreichster Test. Ein Shopify Store mit etwa 1.200 URLs, verteilt auf vier Sitemaps: 521 Produkte, 626 Kollektionen, 22 Seiten und 31 Blog-Beitraege.

Metrik render: false render: true (optimiert)
Gecrawlte Seiten 1.200 / 1.200 100 / 100
Gesamte Markdown-Ausgabe 148,5 MB 11,3 MB
Browser-Zeit 0s 475s (~8 Min.)
Geschaetzte Kosten 0 $ (Beta) ~0,012 $
Wall-Clock-Zeit ~55 Min. ~12 Min.

Der No-Render-Crawl erreichte 100% Erfolg ueber alle 1.200 Seiten bei null Browser-Kosten. Der gerenderte Crawl wurde auf einer 100-Seiten-Stichprobe mit aktivierten Resource-Blocking-Optimierungen ausgefuehrt.

Kernerkenntnis: Rendering kann tatsaechlich weniger Inhalt zurueckgeben
Bei Store E gab der No-Render-Crawl 6,8% mehr Inhalt pro Seite zurueck als der gerenderte Crawl. Das ist kontraintuitiv. Das Blockieren von Bildern, Fonts und Stylesheets zur Optimierung der Browser-Zeit verhinderte auch, dass einiges an JavaScript dynamische Elemente befuellte. Das statische HTML enthielt bereits alle nuetzlichen Inhalte. Fuer servergerenderte Shopify Stores kann Rendering Inhalt abziehen statt hinzuzufuegen.

Resource-Blocking machte den Unterschied zwischen einem haengenden und einem sauberen Crawl. Ohne Resource-Blocking hing der gerenderte Crawl auf unbestimmte Zeit bei 99 von 100 Seiten und verbrauchte 649 Sekunden Browser-Zeit fuer diese 99 Seiten. Das Aktivieren von Resource-Blocking (Bilder, Medien, Fonts, Stylesheets) mit einer domcontentloaded-Wartebedingung schloss alle 100 Seiten in 475 Sekunden ab, eine 27%ige Reduzierung der Browser-Zeit ohne Haengenbleiben.

Crawl-Delay in robots.txt verursachte sichtbare Stillstaende. Die robots.txt von Store E gibt einen 10-Sekunden-Crawl-Delay fuer bestimmte Bots an. In unseren No-Render-Polling-Daten zeigte sich dies als mehrminuetige Plateaus, bei denen die Seitenzahl stagnierte, bevor sie wieder anstieg. Der Cloudflare-Crawler respektiert Crawl-Delay-Direktiven, was die Wall-Clock-Zeit bei Websites, die diese setzen, direkt verlaengert.

Was der /crawl Endpoint tatsaechlich akzeptiert

Der Endpoint nimmt eine Start-URL entgegen, keine Liste. Er entdeckt Seiten durch Spidering von dieser URL aus ueber Sitemaps, Seitenlinks oder beides. Wenn Sie bereits eine URL-Liste aus einem Scrapy-Crawl haben und Cloudflare fuer die Markdown-Konvertierung nutzen moechten, muessten Sie stattdessen die separaten /markdown- oder /scrape-Endpoints einzeln pro URL aufrufen.


Was macht Cloudflare /crawl tatsaechlich auf der Serverseite?

Wir haben die vollstaendigen Server-Logs waehrend eines vollstaendig gerenderten Crawls von Store D (25 Seiten) ausgewertet, um den tatsaechlichen Traffic-Fussabdruck zu analysieren. Die Ergebnisse offenbaren grundlegende Unterschiede zwischen browsergerendertem Crawling und traditionellem Bot-Crawling, mit unbeabsichtigten Nebenwirkungen fuer Analytics, Serverlast und Bot-Traffic-Monitoring.

Metrik Wert
User-Agent CloudflareBrowserRenderingCrawler/1.0 (100% der Zugriffe)
Crawl-Fenster 134 Sekunden (~2 Minuten)
Spitzendurchsatz 82 Anfragen/Sekunde
Einzigartige IPs 23, ueber 5 Cloudflare-Rechenzentren
GET-Anfragen 2.071
POST-Anfragen 163
Gesamtanfragen 2.234
Tatsaechlich gerenderte Seiten ~25
Anfragen pro Seite ~89-fache Verstaerkung

Wie viel Traffic erzeugt ein vollstaendig gerenderter Cloudflare /crawl tatsaechlich?

Die groesste Erkenntnis: Nur 1,1% der 2.234 Anfragen waren tatsaechlicher Seiteninhalt. Die anderen 98,9% waren JavaScript, CSS, Analytics-Beacons, Tracking-Pixel und Checkout-Preloads, die durch den Browser ausgeloest wurden, der jede Seite wie ein echter Besucher laedt.

Anfragen-Aufschluesselung nach Ressourcentyp: Store D, 25 gerenderte Seiten
JavaScript (75%)
1.676
Analytics-Beacons (6,3%)
141
CSS (4,3%)
96
Tracking-Pixel (3,4%)
74
Checkout-Preloads (3,3%)
76
Seiteninhalt (1,1%)
25

Ein nicht-gerenderter Bot wie Amazonbot oder ChatGPT-User erzeugt 1 Anfrage pro Seite. Der Cloudflare Browser-Renderer erzeugt 89.

Verfaelscht Cloudflare /crawl Shopify-Analytics?

Unbeabsichtigter Effekt: Analytics-Verfaelschung
Da der Browser jede Seite wie ein echter Besucher laedt, loest er Shopifys vollstaendigen Analytics-Stack aus: Monorail-Beacons, Tracking-Events, Shop-Pay-Checkout-Preloads und Web-Pixel-Skripte. Wir glauben, dass ein einzelner gerenderter Crawl Ihres Stores Ihre Besucherzahlen, Sitzungsmetriken und Conversion-Funnel-Daten in Shopify Analytics verfaelschen koennte. Wir haben dies nicht direkt in Shopifys Berichterstattung bestaetigt, aber die Server-Logs zeigen dieselben Analytics-Events, die auch fuer einen echten Kunden ausgeloest wuerden. Wenn Sie regelmaessig gerenderte Crawls durchfuehren, beruecksichtigen Sie dies in Ihrer Analytics-Baseline.

Die 163 POST-Anfragen in unseren Logs waren ausschliesslich Shopify-Analytics- und Tracking-Endpoints, die waehrend des Crawls ausgeloest wurden. Dies sind dieselben Events, die ausgeloest werden, wenn ein echter Kunde Ihren Store besucht. Aus Sicht von Shopify Analytics sieht der Cloudflare-Crawler wie ein Besucher aus, der in 2 Minuten jede Seite Ihres Stores durchstoeebert.

Wie schnell trifft Cloudflare /crawl auf Ihren Server?

Alle 2.234 Anfragen landeten in einem 134-Sekunden-Fenster. Der Spitzendurchsatz erreichte 82 Anfragen pro Sekunde. Der Crawler renderte die gesamte 25-Seiten-Website in knapp ueber 2 Minuten, aber der Server sah einen anhaltenden Burst von Traffic, der in keiner Weise organischen Browsing-Mustern aehnelt.

Fuer kleine Stores ist das handhabbar. Fuer groessere Stores mit Tausenden von Seiten koennte die Anfrageverstaerkung (89-fach pro Seite) in Kombination mit anhaltendem Durchsatz eine spuerbare Last auf dem Origin-Server erzeugen, besonders wenn Sie auf einem Shared-Hosting-Plan sind oder aggressives Rate-Limiting eingerichtet haben.

Woher kommt Cloudflare /crawl?

Der Crawl wurde ueber 5 Cloudflare-Rechenzentren in den USA verteilt:

Rechenzentrum % der Anfragen Standort
ATL 38% Atlanta
ORD 25% Chicago
MIA 23% Miami
EWR 9% Newark
IAD 5% Washington DC

Dies ist nicht ein einzelner Server, der Anfragen stellt. Cloudflare verteilt die Rendering-Arbeitslast ueber sein Edge-Netzwerk. Alle 23 IPs lagen im 104.28.x.x-Bereich, und der User-Agent war CloudflareBrowserRenderingCrawler/1.0 bei jeder einzelnen Anfrage.

Welchen Browser-Fingerabdruck hinterlaesst Cloudflare /crawl?

Der Renderer sendet korrekte Sec-Fetch-Header, die einen echten Chrome-Browser nachahmen:

Header Wert Echtes Chrome?
sec-fetch-dest script, document, etc. Ja, stimmt ueberein
sec-fetch-mode cors, navigate Ja, stimmt ueberein
sec-fetch-site same-origin, cross-site Ja, stimmt ueberein
sec-ch-ua (Client Hints) Nicht gesendet Nein, echtes Chrome sendet dies
HTTP-Version HTTP/1.1 Nein, echtes Chrome verhandelt HTTP/2 oder HTTP/3

Zwei Fingerabdruck-Luecken fallen auf: Der Renderer laesst sec-ch-ua Client-Hints-Header vollstaendig weg (ein echter Chrome-Browser sendet diese immer), und alle Anfragen verwenden HTTP/1.1 statt HTTP/2 oder HTTP/3. Wenn Sie Bot-Erkennungsregeln erstellen, sind dies zuverlaessige Signale, um Cloudflares Browser-Renderer von echtem Besucher-Traffic zu unterscheiden.

Wie verhaelt sich Cloudflare /crawl im Vergleich zu anderen KI-Bots in Server-Logs?

Wir haben den Cloudflare-Crawl mit anderen Bots verglichen, die denselben Store im selben 12-Stunden-Fenster getroffen haben:

Gesamte Server-Anfragen: Gleicher Store, gleiches 12-Stunden-Fenster
Cloudflare Renderer
2.234 Anf.
AhrefsBot
~18 Anf.
Amazonbot
8 Anf.
ChatGPT-User
4 Anf.
Traditionelle Bots rufen nur HTML ab (1 Anfrage = 1 Seite). Der Browser-Renderer fuehrt den vollstaendigen clientseitigen Stack aus und erzeugt einen 89-fachen Anfragemultiplikator.

Amazonbot und ChatGPT-User rufen rohes HTML ab: eine Anfrage, eine Seite, keine JavaScript-Ausfuehrung. AhrefsBot crawlt Sitemaps zur Erkennung. Der Cloudflare Browser-Renderer fuehrt auf jeder Seite eine vollstaendige Shopify-Storefront aus und loest dabei jedes Skript, Pixel und Preload aus, als wuerde ein echter Kunde browsen.

Die Kernerkenntnis: Browsergerendertes Crawling erzeugt ein grundlegend anderes Traffic-Profil
Shopify-Websites sind besonders betroffen wegen des hohen JavaScript-, Analytics- und Tracking-Pixel-Overheads, der auf jeder Seite geladen wird. Wenn Sie vollstaendig gerenderte Crawls auf einem Shopify Store durchfuehren, sollten Sie erwarten: wahrscheinlich verfaelschte Analytics-Sitzungen, 89-fache Anfrageverstaerkung in Server-Logs und eine Bot-Traffic-Signatur, die sich stark von traditionellen Crawlern unterscheidet. Beruecksichtigen Sie diese Effekte in Ihrem Monitoring, Ihren Analytics-Baselines und WAF-Regeln.

Cloudflare /crawl Geschwindigkeit und Kosten: Der vollstaendige Benchmark

Jeder Crawl, den wir durchgefuehrt haben, in einer Tabelle. Alle Stores anonymisiert, alle Zahlen aus echten Tests. Wall-Clock-Zeiten sind ungefaehr. Erfolgsraten fuer Stores C und D koennten durch eingeschraenkte Fehlerbehandlung in unseren anfaenglichen Testskripten beeinflusst worden sein.

Store Seiten Modus Erfolgsrate Browser-Zeit Wall Clock Kosten
A: Grosser E-Commerce 500 / 500 no-render 100% 0s ~18 Min. 0 $
B: Mittelgrosse Bekleidung 256 / 266 no-render 96% 0s ~5 Min. 0 $
C: Gesundheit & Nahrungsergaenzung 89 / 100 no-render 89% 0s ~3,5 Min. 0 $
D: Kleiner Shopify 24 / 24 render: true 100% 58s ~2 Min. ~0,002 $
E: Grosser Multi-Kategorie 1.200 / 1.200 no-render 100% 0s ~55 Min. 0 $

Wie schnell ist Cloudflare /crawl mit vs. ohne Rendering?

Der klarste Vergleich kommt von Store B, wo wir beide Modi auf exakt denselben 256 Seiten ausgefuehrt haben:

Wall-Clock-Zeit: Store B, 256 Seiten, gleicher Inhalt
Ohne Rendering
5 Min.
Mit Rendering
25 Min.
Vollstaendiges Rendering fuegt pro Seite etwa 5 Sekunden Browser-Zeit hinzu, zusaetzlich zu Cloudflares Warteschlangen- und Abruf-Overhead.

Das Muster ueber alle elf Crawls ist konsistent: Crawling ohne Rendering ist dramatisch schneller. Wall-Clock-Zeit ohne Rendering besteht hauptsaechlich aus Cloudflares internem Warteschlangen- und Abruf-Overhead. Vollstaendiges Rendering fuegt pro Seite etwa 5 Sekunden Browser-Zeit auf dieser Baseline hinzu.

Was kostet ein vollstaendig gerenderter Cloudflare Crawl pro Seite?

Cloudflares Browser-Rendering-Preise basieren auf Browser-Stunden, der Zeit, die ihr Headless-Browser aktiv mit dem Rendern Ihrer Seiten verbringt. Crawling ohne Rendering verbraucht null Browser-Stunden und ist waehrend der Beta kostenlos.

Workers Free Plan: 10 Minuten Browser-Zeit pro Tag. Der /crawl Endpoint ist weiter auf 5 Crawl-Jobs pro Tag begrenzt, mit maximal 100 Seiten pro Crawl.

Workers Paid Plan (5 $/Monat): 10 Stunden Browser-Zeit pro Monat inklusive. Darueber hinaus zahlen Sie 0,09 $ pro zusaetzliche Browser-Stunde. Keine Crawl-Limits beim /crawl Endpoint. Bis zu 600 API-Anfragen pro Minute.

Hier ist, was unsere Test-Crawls tatsaechlich gekostet haben bei 0,09 $/Stunde:

Crawl Verbrauchte Browser-Zeit Kosten bei 0,09 $/Std.
Store D: 24 Seiten gerendert 58 Sekunden ~0,002 $
Store B: 256 Seiten gerendert 1.338 Sekunden (~22 Min.) ~0,03 $
3.000-Seiten-Katalog (geschaetzt) ~4 Stunden ~0,36 $

Bei etwa 5 Sekunden Browser-Zeit pro Seite liegen all diese Kosten komfortabel innerhalb der 10 im Paid Plan enthaltenen Stunden. Ein 3.000-seitiger gerenderter Crawl wuerde etwa 4 Ihrer 10 enthaltenen Stunden verbrauchen, was bedeutet, dass Sie zwei vollstaendige Crawls pro Monat durchfuehren koennten, bevor Sie ueber die 5 $ Basis hinaus zahlen. Crawling ohne Rendering ist kostenlos und verbraucht auf keinem Plan Browser-Zeit.

Wann sollten Sie Rendering ueberspringen vs. vollstaendiges Rendering bei Cloudflare /crawl verwenden?

Rendering ueberspringen wenn:
  • Der Inhalt bereits im HTML-Quellcode vorhanden ist
  • Geschwindigkeit wichtiger ist als Vollstaendigkeit
  • Sie kostenfreies Crawling benoetigen
  • Blog-Beitraege, statische Seiten, Produktkataloge
Vollstaendiges Rendering verwenden wenn:
  • Inhalte per JavaScript geladen werden
  • Der einfache HTML-Abruf Fehler zurueckgibt
  • Sie Open-Graph-Metadaten benoetigen
  • Single-Page-Apps, React/Vue-Storefronts

Das Fazit

Fuer die meisten Shopify Stores mit servergerendertem Inhalt liefert Crawling ohne Rendering ueber 90% des nuetzlichen Inhalts kostenlos in einem Bruchteil der Zeit.

Was wir beim Testen von Cloudflare /crawl auf Shopify Stores gelernt haben

Nach 11 Crawls ueber 5 Live-Shopify-Stores und der Analyse vollstaendiger Server-Logs sind dies die Erkenntnisse, die am wichtigsten sind.

90% des Inhalts kommen ohne Rendering durch

Fuer Shopify Stores mit standardmaessig servergerenderten Seiten erfasste Crawling ohne JavaScript-Rendering ueber 90% des nuetzlichen Inhalts. Der 14%ige Inhaltsanstieg durch vollstaendiges Rendering stammte fast ausschliesslich von JavaScript-geladenen Elementen auf Startseiten und Index-Seiten. Einzelne Produktseiten und Blog-Artikel waren in beiden Varianten nahezu identisch. Sofern Ihr Store nicht als Single-Page-App gebaut ist, brauchen Sie wahrscheinlich kein vollstaendiges Rendering.

Vollstaendiges Rendering erzeugt einen 89-fachen Traffic-Multiplikator

Das Rendern von 25 Seiten erzeugte 2.234 Server-Anfragen. Nur 25 davon waren tatsaechlicher Seiteninhalt. Die anderen 98,9% waren JavaScript-Dateien (75%), Analytics-Beacons (6,3%), CSS (4,3%), Tracking-Pixel (3,4%) und Checkout-Preloads (3,3%). Jede gerenderte Seite loest den vollstaendigen Shopify-clientseitigen Stack aus, als wuerde ein echter Kunde browsen.

Ihre Shopify-Analytics werden wahrscheinlich verfaelscht

Gerenderte Crawls loesen Shopifys vollstaendigen Analytics-Stack aus: Monorail-Beacons, Tracking-Events, Shop-Pay-Preloads und Web-Pixel-Skripte. Wir glauben, dass Shopify Analytics diese als echte Besuchersitzungen zaehlt. Wenn das der Fall ist, koennte ein einzelner gerenderter Crawl Ihre Sitzungszahlen, Seitenaufrufe und Conversion-Funnel-Daten verfaelschen. Wir haben dies nicht direkt in Shopifys Berichterstattung bestaetigt, aber die Server-Logs zeigen alle dieselben Analytics-Events, die auch fuer einen echten Kunden ausgeloest wuerden.

Vollstaendiges Rendering kann Store-Rate-Limits umgehen

Store D gab bei jeder Seite ohne Rendering 429-Fehler zurueck. Der Wechsel zu vollstaendigem Rendering auf demselben Store ergab 100% Erfolg. Wenn Sie ohne Rendering auf Rate-Limits stossen, ist vollstaendiges Rendering Ihre Loesung.

Die standardmaessige linkbasierte Erkennung fand auf Store D fast nichts, weil die Startseite nur sehr wenige interne Links hatte. Der Wechsel zur Sitemap-basierten Erkennung fand alle 24 Seiten. Verwenden Sie immer Sitemap-Erkennung.

Der Crawler kommt aus 5 US-Rechenzentren

Cloudflare verteilt die Rendering-Arbeitslast ueber sein Edge-Netzwerk. Unser Crawl kam von 23 einzigartigen IPs ueber Atlanta (38%), Chicago (25%), Miami (23%), Newark (9%) und Washington DC (5%). Alle IPs liegen im 104.28.x.x-Bereich.

Zwei Fingerabdruck-Luecken identifizieren ihn als Bot

Der Renderer laesst sec-ch-ua Client-Hints-Header weg (echtes Chrome sendet diese immer) und verwendet HTTP/1.1 statt HTTP/2 oder HTTP/3. Wenn Sie Bot-Erkennungsregeln erstellen, sind dies zuverlaessige Signale.

Rendering kann tatsaechlich weniger Inhalt zurueckgeben

Bei Store E gab der No-Render-Crawl 6,8% mehr Inhalt pro Seite zurueck als der gerenderte Crawl. Das Blockieren von Bildern, Fonts und Stylesheets zur Optimierung der Browser-Zeit verhinderte auch, dass einiges an JavaScript dynamische Elemente befuellte. Das statische HTML hatte bereits alles. Fuer servergerenderte Shopify Stores ist Rendering nicht garantiert, mehr Inhalt zu erfassen.

Resource-Blocking verhindert haengende Crawls

Ohne Resource-Blocking hing der gerenderte Crawl bei Store E bei 99 von 100 Seiten und wurde nie abgeschlossen. Das Aktivieren von Blocking fuer Bilder, Medien, Fonts und Stylesheets mit einer domcontentloaded-Wartebedingung schloss alle 100 Seiten ab und reduzierte die Browser-Zeit um 27%. Wenn Ihre gerenderten Crawls vor dem Abschluss stocken, ist Resource-Blocking die Loesung.

robots.txt Crawl-Delay verlaengert die Wall-Clock-Zeit

Die robots.txt von Store E gibt einen 10-Sekunden-Crawl-Delay an. In unseren No-Render-Polling-Daten zeigte sich dies als mehrminuetige Plateaus, bei denen die Seitenzahl stagnierte, bevor sie wieder anstieg. Der Cloudflare-Crawler respektiert Crawl-Delay-Direktiven, daher werden Websites mit aggressiven Verzoegerungen deutlich laengere Wall-Clock-Zeiten haben, als die Seitenzahl allein vermuten liesse.

Kosten sind niedrig, aber der Free Plan hat Limits

Das Rendern von 256 Seiten kostete etwa 0,03 $ bei 0,09 $ pro Browser-Stunde. Das Rendern von 24 Seiten kostete etwa 0,002 $. Der Workers Free Plan begrenzt die Browser-Zeit auf 10 Minuten pro Tag mit maximal 5 Crawl-Jobs und 100 Seiten pro Crawl. Der Workers Paid Plan (5 $/Monat) umfasst 10 Stunden Browser-Zeit pro Monat ohne Crawl-Limits. Ein 3.000-seitiger gerenderter Crawl wuerde etwa 4 dieser 10 enthaltenen Stunden verbrauchen, sodass die meisten Stores bequem in den Paid Plan passen, ohne Mehrkosten. Crawling ohne Rendering verbraucht null Browser-Zeit und ist waehrend der Beta auf beiden Plaenen kostenlos.


Die Vorteile

Geschwindigkeit

Seiten werden nahezu sofort abgerufen, im Vergleich zu einem mehrstuendigen Scrapy-Crawl mit Autothrottle. Kein Warten in der Warteschlange, keine Hoeflichkeitsverzoegerungen, kein Warten, bis Ihr Spider Tausende von Anfragen in einem respektvollen Tempo abarbeitet.

Markdown-Ausgabe

Der Endpoint gibt fuer jede Seite vorkonvertiertes HTML-zu-Markdown zurueck. Dies ist direkt nuetzlich fuer LLM-Ingestion, RAG-Pipelines und Content-Analyse ohne jegliche Nachbearbeitung. Sie ueberspringen die gesamte Extraktionsschicht und gelangen direkt zu sauberem Text. Fuer Teams, die KI-Anwendungen auf Basis von Website-Inhalten erstellen, entfaellt damit ein Schritt in der Pipeline.

Render-Modus-Option

Das Setzen von render: true fuehrt JavaScript aus und extrahiert automatisch Open-Graph-Metadaten (og:title, og:description, og:image, og:site_name). Fuer JavaScript-lastige Websites, auf denen Inhalte clientseitig gerendert werden, ist dies der Unterschied zwischen dem Sehen der echten Seite und einer leeren Huelle.

Keine Proxy- oder Rate-Limit-Probleme

Cloudflare kuemmert sich um Anti-Bot-Massnahmen und Rate-Limiting auf ihrer eigenen Infrastruktur. Sie muessen keine Proxy-Pools verwalten, User-Agents rotieren oder sich mit CAPTCHAs befassen. Ein API-Aufruf.

Inkrementelles Crawling

Die Parameter modifiedSince und maxAge ermoeglichten es, Seiten zu ueberspringen, die sich nicht geaendert haben oder kuerzlich abgerufen wurden. Fuer wiederkehrende Crawls, bei denen Sie Inhaltsaenderungen ueberwachen, spart dies sowohl Zeit als auch Kosten, da nur tatsaechlich neue oder aktualisierte Seiten verarbeitet werden.

Einfachheit

Ein einziger API-Aufruf. JSON-Antwort. Kein Spider-Code, keine Middleware, keine Item-Pipelines, keine Settings-Dateien.

Gut erzogener Bot als Standard

Der Crawler ist ein signierter Agent, der robots.txt, crawl-delay und Cloudflares AI Crawl Control respektiert. Er identifiziert sich als CloudflareBrowserRenderingCrawler/1.0 und kann Bot-Schutz oder CAPTCHAs nicht umgehen. Sie erhalten ethische Crawling-Compliance, ohne die Logik selbst bauen zu muessen.


Was der Cloudflare Crawl Endpoint nicht unterstuetzt

Wie unterscheidet sich Cloudflare /crawl von einer vollstaendigen Crawl-Pipeline?

Die folgende Tabelle zeigt genau, welche Faehigkeiten im Cloudflare /crawl Endpoint vorhanden sind im Vergleich zu einer Produktions-Scrapy-Pipeline. Dies basiert auf unseren echten Tests gegen Shopify Stores.

Faehigkeit Cloudflare /crawl Scrapy-Pipeline
Content-Abruf (HTML/Markdown) Ja Ja
JavaScript-Rendering Ja (render: true) Ja (Splash/Playwright)
Link-Erkennung / Spidering Ja (flache Liste) Ja (vollstaendiger Crawl-Graph)
Eltern-Kind-Link-Zuordnung Nein Ja
Verwaiste Seitenerkennung Nein Ja
Redirect-Chain-Tracking Nein Ja
JSON-LD-Extraktion Nein Ja
Microdata-Extraktion Nein Ja
Schema-Validierung + Problemberichterstattung Nein Ja
Nicht-200-Statuscodes (404s, 403s) Nein Ja (2.547 404s in unserem Test erfasst)
URL-Limit 100.000 Keins

Welche strukturierten Daten extrahiert Cloudflare /crawl?

Mit render: false, keine. Kein JSON-LD, kein Microdata, kein OpenGraph-Parsing.

Mit render: true, nur grundlegende OG-Tags (og:title, og:description, og:image, og:site_name). JSON-LD und schema.org-Markup werden nicht geparst, extrahiert oder validiert.

Zum Vergleich: Unsere Scrapy-Pipeline erzeugt schemas_found, issues (fehlende contactPoint, address usw.), top_level_schemas und nested_schemas fuer jede URL. Sie koennen sehen, welche Seiten Product-Schema haben, welchen Organization-Markup fehlt und welche Validierungsfehler haben, die dazu fuehren wuerden, dass KI-Systeme den Inhalt falsch lesen.

Welche HTTP-Statuscodes gibt Cloudflare /crawl zurueck?

Nur 200-Antworten. Unser Scrapy-Crawl derselben Website erfasste 2.547 404-Fehler plus 403-Antworten und Verbindungsfehler. Die 404-Erkennung ist entscheidend fuer Ghost-Page-Analyse, Broken-Link-Behebung und Redirect-Mapping. Ohne sie uebersehen Sie die Seiten, die aktiv Link-Equity verlieren und KI-Crawler verwirren.

Wie viele URLs kann Cloudflare /crawl verarbeiten?

Bis zu 100.000 pro Job. Das deckt die meisten Websites ab, aber grosse E-Commerce-Kataloge mit Hunderttausenden von Produktseiten, Varianten-URLs und gefilterten Kollektionsseiten werden das Limit ueberschreiten. Scrapy hat kein inherentes URL-Limit.

Hat Cloudflare /crawl einen URL-Aufloesungsfehler?

Wir fanden 233 von 908 Links auf einer einzelnen Produktseite mit fehlerhaften Pfaden. Der Markdown-Converter loest relative URLs falsch gegen die Seiten-URL auf und erzeugt Doppelpfad-URLs wie /products/slug//www.example.com/.... Dies ist ein bestaetigter Fehler in Cloudflares Converter, der jede nachgelagerte Link-Analyse betrifft.

Wie viel Boilerplate steckt in der Cloudflare /crawl Markdown-Ausgabe?

Die durchschnittliche Seite gab 158 KB Markdown zurueck. Etwa 90% davon ist wiederholter Template-Inhalt: vollstaendige Navigation, Mega-Menue und Footer in jedem einzelnen Datensatz. Fuer Content-Analyse bedeutet das umfangreiche Deduplizierungsarbeit, und fuer LLM-Token-Nutzung summieren sich die Kosten schnell. Sie benoetigen Ihre eigene Content-Extraktionslogik auf dem Markdown, um den tatsaechlichen Seiteninhalt zu isolieren.

Was klassifiziert Cloudflare /crawl nicht?

Es gibt kein Inhaltstyp-Tagging. Produktseiten, Kollektionsseiten, Blog-Beitraege und Startseiten kommen alle als undifferenzierte Datensaetze zurueck. Scrapy klassifiziert jede URL nach Typ, was essentiell ist, um die Crawl-Abdeckung nach Seitenkategorie zu verstehen und zu identifizieren, welche Inhaltstypen KI-Bots priorisieren.

Welche Finalisierungsfunktionen fehlen bei Cloudflare /crawl?

Keine Ghost-Page-Screenshots. Kein JavaScript-Rendering-Vergleich (was der Bot sieht versus was der Browser sieht). Keine robots.txt-KI-Bot-Analyse. Kein Crawl-Qualitaetsbericht. Kein Client-Manifest. Keine CDN-Synchronisierung. Die Cloudflare-Daten sind nur Rohinhalte. Jedes Stueck der Reporting- und Analyse-Pipeline muesste separat gebaut werden.

Was kostet Cloudflare /crawl fuer grosse Websites?

In unseren Tests benoetigte render: true im Durchschnitt etwa 5 Sekunden Browser-Ausfuehrungszeit pro Seite. Ein 256-Seiten-Crawl verbrauchte 1.338 Browser-Sekunden (22 Minuten) und kostete etwa 0,03 $ bei 0,09 $ pro Browser-Stunde. Ein 24-Seiten-Crawl verbrauchte 58 Browser-Sekunden und kostete etwa 0,002 $. Hochgerechnet auf einen 3.000-Seiten-Katalog: etwa 4 Stunden Browser-Zeit. Der Workers Free Plan ist auf 10 Minuten Browser-Zeit pro Tag, 5 Crawl-Jobs pro Tag und 100 Seiten pro Crawl begrenzt. Der Workers Paid Plan (5 $/Monat) umfasst 10 Stunden Browser-Zeit pro Monat ohne Crawl-Limits, sodass ein 3.000-Seiten-Crawl etwa 4 dieser 10 enthaltenen Stunden verbrauchen wuerde. render: false verbraucht null Browser-Zeit und ist waehrend der Beta auf beiden Plaenen kostenlos.


Das Fazit

Cloudflares Crawl Endpoint ist hervorragend fuer:

  • Schnelle Content-Snapshots, wenn Sie Seitentext schnell benoetigen
  • LLM-bereites Markdown fuer RAG-Pipelines und Content-Ingestion
  • Ad-hoc-Seitenpruefungen, wenn Sie die genauen URLs kennen, die Sie brauchen
  • Schnelle seitenweite Content-Abrufe, wenn Sie Markdown-Text benoetigen, ohne einen Spider zu bauen

Er kann eine vollstaendige Crawl-Pipeline nicht ersetzen, weil der Wert der Pipeline liegt in:

  • Vollstaendigem Crawl-Graphen mit Link-Topologie, Verwaiste-Seiten-Erkennung und 404-Abdeckung
  • Extraktion und Validierung strukturierter Daten (JSON-LD, Microdata, OpenGraph)
  • Content-Klassifizierung nach Seitentyp
  • Der gesamten Finalisierungs-Pipeline einschliesslich Ghost-Page-Analyse, JavaScript-Rendering-Vergleich, Schema-Reports und LLM-Readiness-Scoring

Der beste hybride Ansatz

Verwenden Sie Cloudflare als ergaenzende Datenquelle. Nachdem ein vollstaendiger Crawl Ihre URLs identifiziert hat, verwenden Sie Cloudflares Markdown-Ausgabe, um LLM-Readiness-Scoring oder Content-Qualitaetsanalyse zu speisen, wo Sie den tatsaechlichen Seitentext statt strukturierter Metadaten benoetigen. Die Crawl-Pipeline entdeckt und klassifiziert. Der Cloudflare Endpoint liefert sauberen Text fuer die Seiten, die wichtig sind.

Moechten Sie die vollstaendige Crawl-Pipeline in Aktion sehen?

Gespraech vereinbaren

Haeufig gestellte Fragen

Welche Website-Audit-Funktionen werden von Cloudflare /crawl nicht unterstuetzt?

Cloudflare /crawl unterstuetzt nicht: vollstaendige Crawl-Graph-Erstellung, Eltern-Kind-Link-Zuordnung, verwaiste Seitenerkennung, Redirect-Chain-Tracking, JSON-LD- oder Microdata-Extraktion, Schema-Validierung, Erfassung von Nicht-200-Statuscodes (404s, 403s), Inhaltstyp-Klassifizierung, Seitengroessenmessung in Bytes, Ghost-Page-Erkennung, JS-vs-HTML-Rendering-Vergleich, robots.txt-KI-Bot-Analyse oder Backlink-Querverweise. Es ist ein Content-Fetcher, kein Site-Audit-Tool.

Wie unterscheidet sich Cloudflare /crawl von Scrapy fuer E-Commerce-Crawling?

Cloudflare /crawl ruft Inhalte schnell ab, ohne dass eine Infrastruktur verwaltet werden muss. Scrapy erstellt einen vollstaendigen Crawl-Graphen mit Link-Topologie, extrahiert und validiert strukturierte Daten (JSON-LD, Microdata, OpenGraph), erfasst alle HTTP-Statuscodes einschliesslich 404s, klassifiziert Seiten nach Inhaltstyp und speist eine nachgelagerte Pipeline fuer Ghost-Page-Analyse, Schema-Reports und LLM-Readiness-Scoring. Cloudflare liefert den Seitentext; Scrapy liefert die vollstaendige Site-Architektur.

Was ist das genaue URL-Limit fuer Cloudflare /crawl?

100.000 URLs pro Crawl-Job. Das Standard-limit ist 10, daher muessen Sie es explizit festlegen. Die maximale depth betraegt ebenfalls 100.000. Fuer Websites mit mehr als 100K Seiten wird Scrapy oder ein anderer Crawler ohne inherentes URL-Limit benoetigt.

Extrahiert Cloudflare /crawl JSON-LD oder validiert Schema-Markup?

Nein. Mit render: false werden keine strukturierten Daten extrahiert. Mit render: true werden nur grundlegende Open-Graph-Tags zurueckgegeben (og:title, og:description, og:image, og:site_name). JSON-LD, Microdata und schema.org-Markup werden in keinem der beiden Modi geparst, extrahiert oder validiert.

Was kostet Cloudflare /crawl fuer das Rendering grosser Websites?

In unseren Tests benoetigte render: true im Durchschnitt etwa 5 Sekunden Browser-Zeit pro Seite. Eine 256-Seiten-Website verbrauchte 1.338 Browser-Sekunden (22 Minuten) und kostete etwa 0,03 $ bei 0,09 $ pro Browser-Stunde. Eine 24-Seiten-Website verbrauchte 58 Sekunden und kostete etwa 0,002 $. Hochgerechnet auf einen 3.000-Seiten-Katalog: etwa 4 Stunden Browser-Zeit. Der Workers Free Plan ist auf 10 Minuten pro Tag, 5 Crawl-Jobs pro Tag und 100 Seiten pro Crawl begrenzt, daher erfordern grosse gerenderte Crawls den Workers Paid Plan (5 $/Monat), der 10 Stunden Browser-Zeit pro Monat ohne Crawl-Limits umfasst. render: false verbraucht null Browser-Zeit und ist waehrend der Beta auf beiden Plaenen kostenlos.

Hat Cloudflare /crawl einen bekannten URL-Aufloesungsfehler?

Ja. In unserem Test hatten 233 von 908 Links auf einer einzelnen Produktseite fehlerhafte Pfade. Der Markdown-Converter stellt die Seiten-URL relativen Pfaden wie //www.example.com/cdn/... voran und erzeugt so fehlerhafte Doppelpfad-URLs. Dies betrifft jede nachgelagerte Link-Graph-Analyse oder interne Linking-Pruefung, die auf der Markdown-Ausgabe basiert.

Warum gibt Cloudflare /crawl mit render false bei einigen Shopify Stores 429-Fehler zurueck?

render: false fuehrt einen rohen HTML-Abruf ohne Headless-Browser durch. In einem unserer Tests gab render: false 429-Fehler zurueck, waehrend render: true mit 100% Erfolg auf demselben Store funktionierte. Wir haben dies nicht erneut mit verbesserter Fehlerbehandlung getestet, daher koennten die 429er durch das Rate-Limiting des Stores, voruebergehende API-Probleme oder eine Kombination verursacht worden sein. Wenn Sie 429-Fehler ohne Rendering sehen, versuchen Sie als ersten Schritt render: true.

Akzeptiert Cloudflare /crawl eine Liste von URLs?

Nein. Der Endpoint nimmt eine einzelne Start-URL entgegen und entdeckt Seiten durch Spidering ueber Sitemaps, Seitenlinks oder beides. Wenn Sie bereits eine URL-Liste haben und Cloudflares Markdown-Konvertierung nutzen moechten, verwenden Sie die separaten /markdown- oder /scrape-Endpoints, die einzelne URLs pro Anfrage akzeptieren.

Warum findet Cloudflare /crawl mit source all auf manchen Websites nur eine Seite?

Das Standard-source: all entdeckt URLs sowohl aus Sitemaps als auch aus Seitenlinks. Wenn die Start-URL sehr wenige interne Links hat (ueblich bei minimalen Startseiten oder JavaScript-lastigen SPAs), findet der Crawler moeglicherweise keine zusaetzlichen Seiten allein durch Link-Erkennung. Wechseln Sie zu source: sitemaps, um sicherzustellen, dass der Crawler die vollstaendige sitemap.xml liest und alle gelisteten URLs entdeckt.

Wie nutzt man Cloudflare /crawl am besten mit einer vollstaendigen Crawl-Pipeline?

Verwenden Sie zuerst die vollstaendige Crawl-Pipeline (Scrapy oder Aequivalent), um URLs zu entdecken, den Link-Graphen aufzubauen, strukturierte Daten zu extrahieren, 404s zu erfassen und Inhalte zu klassifizieren. Verwenden Sie dann Cloudflares /markdown- oder /scrape-Endpoints, um sauberes Markdown fuer LLM-Readiness-Scoring, Content-Qualitaetsanalyse oder RAG-Ingestion abzurufen, wo Sie den tatsaechlichen Seitentext statt strukturierter Metadaten benoetigen.

Wie viel schneller ist Cloudflare /crawl mit render false im Vergleich zu render true?

In unserem direkten Vergleich auf derselben 256-Seiten-Website wurde render: false in etwa 5 Minuten abgeschlossen. render: true benoetigte etwa 25 Minuten fuer dieselben Seiten. Das ist ein 5-facher Geschwindigkeitsunterschied. Die Wall-Clock-Differenz ergibt sich aus etwa 5 Sekunden Browser-Ausfuehrungszeit, die pro Seite hinzukommen, wenn Rendering aktiviert ist. render: false kostete waehrend der Beta 0 $. render: true kostete etwa 0,03 $ fuer denselben Crawl.

Wie viel zusaetzlichen Inhalt erfasst Cloudflare /crawl mit render true im Vergleich zu render false?

In unserem 256-Seiten-Test erzeugte render: true 12,5 MB Markdown gegenueber 11,0 MB von render: false, ein Anstieg von 14%. Der zusaetzliche Inhalt stammte fast ausschliesslich von JavaScript-geladenen Elementen auf der Startseite und Blog-Index-Seiten. Einzelne Produktseiten und Blog-Artikel waren zwischen den Modi nahezu identisch. Fuer Websites mit ueberwiegend servergerendertem Inhalt erfasst render: false ueber 90% des nuetzlichen Texts bei null Kosten und 5-facher Geschwindigkeit.

Funktioniert Cloudflare /crawl zuverlaessig auf allen Shopify Stores?

Das haengt vom Store und dem Render-Modus ab. In unseren Tests ueber fuenf Shopify Stores: Store A (grosser Katalog) erreichte 100% Erfolg mit render: false. Store B (mittelgrosse Bekleidung) erreichte 96% Erfolg mit beiden Modi. Store C (Gesundheit und Nahrungsergaenzung) erreichte 40% bei einer 5-Seiten-Stichprobe und 89% bei einem 100-Seiten-Crawl mit render: false, wobei unser erster Test keine robuste Fehlerbehebung hatte und einige Fehlschlaege behebbar gewesen sein koennten. Store D (kleiner Store) gab 429-Fehler mit render: false zurueck, erreichte aber 100% mit render: true. Store E (grosser Multi-Kategorie, ~1.200 Seiten) erreichte 100% Erfolg mit render: false und 100% bei einer 100-seitigen gerenderten Stichprobe mit Resource-Blocking-Optimierungen. Wir haben die Stores C und D nicht erneut mit verbesserter Fehlerbehandlung getestet. Testen Sie beide Modi auf Ihrem spezifischen Store, bevor Sie sich auf eine Crawl-Strategie festlegen.

Wie lang ist die Wall-Clock-Zeit fuer einen 500-seitigen Cloudflare /crawl mit render false?

In unserem Test wurde ein 500-seitiger render: false Crawl in etwa 18 Minuten mit einer 100%igen Erfolgsrate abgeschlossen. Ein 256-seitiger Crawl auf einem anderen Store wurde in etwa 5 Minuten abgeschlossen. Ein 100-seitiger Crawl wurde in etwa 3,5 Minuten abgeschlossen. Diese Wall-Clock-Zeiten sind Schaetzungen basierend auf Polling-Intervallen, keine praezisen Messungen. Die Wall-Clock-Zeit besteht hauptsaechlich aus Cloudflares internem Warteschlangen- und HTTP-Abruf-Overhead, nicht aus Browser-Rendering, da mit render: false keine Browser-Sekunden verbraucht werden.

Wie viele Server-Anfragen erzeugt ein Cloudflare /crawl mit render true?

In unserer Server-Log-Analyse erzeugte ein einzelner render: true Crawl von 25 Seiten 2.234 Gesamtanfragen: 2.071 GETs und 163 POSTs. Das sind etwa 89 Server-Anfragen pro tatsaechlich gerenderter Seite. Nur 1,1% der Anfragen waren tatsaechlicher Seiteninhalt. Die restlichen 98,9% waren JavaScript-Dateien (75%), Analytics-Beacons (6,3%), CSS (4,3%), Tracking-Pixel (3,4%) und Checkout-Preloads (3,3%). Wenn Sie Bot-Traffic ueberwachen oder Serverlast verwalten, erwarten Sie, dass ein gerenderter Crawl 89-mal so viele Anfragen wie die tatsaechlichen Seitenaufrufe in Ihren Server-Logs erzeugt.

Welchen User-Agent verwendet Cloudflare /crawl und aus welchem IP-Bereich kommt es?

Der Crawler identifiziert sich als CloudflareBrowserRenderingCrawler/1.0 bei 100% der Anfragen. In unseren Logs kamen alle Anfragen von 23 einzigartigen IPs im 104.28.x.x-Bereich, verteilt auf 5 US-Cloudflare-Rechenzentren: ATL (38%), ORD (25%), MIA (23%), EWR (9%) und IAD (5%). Es gibt keine User-Agent-Rotation oder IP-Verschleierung. Der Crawler ist ein signierter, identifizierbarer Bot von Design her.

Verfaelscht Cloudflare /crawl Shopify-Analytics und Besucherzahlen?

Wir glauben ja, haben es aber nicht direkt in Shopifys Berichterstattung bestaetigt. Da render: true JavaScript ausfuehrt, loest es Shopifys vollstaendigen Analytics-Stack auf jeder Seite aus: Monorail-Beacons, /api/collect-Tracking-Events, Shop-Pay-Checkout-Preloads und Web-Pixel-Sandbox-Skripte. In unserem Test waren 163 von 2.234 Anfragen POST-Anfragen an Shopify-Analytics-Endpoints. Dies sind dieselben Events, die fuer echte Kunden ausgeloest werden. Wenn Shopify diese als echte Sitzungen zaehlt, wuerden Ihre Sitzungszahlen, Seitenaufrufe und Conversion-Funnel-Daten verfaelscht.

Wie erkennt man Cloudflare /crawl in Server-Logs im Vergleich zu echtem Browser-Traffic?

Zwei zuverlaessige Fingerabdruck-Luecken: Cloudflares Browser-Renderer laesst sec-ch-ua Client-Hints-Header weg (ein echter Chrome-Browser sendet diese immer), und alle Anfragen verwenden HTTP/1.1 statt HTTP/2 oder HTTP/3, die ein echter Browser aushandeln wuerde. Er sendet korrekte sec-fetch-dest-, sec-fetch-mode- und sec-fetch-site-Header, die echtem Chrome entsprechen. Der User-Agent ist immer CloudflareBrowserRenderingCrawler/1.0 und alle IPs liegen im 104.28.x.x-Bereich.