← All Articles

Ecco le Migliori Impostazioni di Cloudflare /crawl per Qualsiasi Sito Web

Impostazioni di configurazione dell'endpoint Cloudflare /crawl per diversi tipi di sito

L’endpoint /crawl di Cloudflare Browser Rendering e uno dei modi piu veloci per estrarre contenuti da siti web su larga scala, ma le impostazioni predefinite non sono ottimali per la maggior parte dei casi d’uso. Dopo aver eseguito crawl su decine di siti, dai negozi Shopify alle SPA React fino ai siti di documentazione, queste sono le impostazioni che producono costantemente i migliori risultati.

Questa guida spiega cosa fa ogni impostazione, quando modificarla e i comandi specifici che funzionano meglio per i tipi di sito piu comuni.

La Decisione Piu Importante: La Modalita di Rendering

Ogni crawl inizia con una scelta: Cloudflare deve caricare la pagina in un browser headless, oppure recuperare semplicemente l’HTML grezzo?

render: false (--no-render) recupera l’HTML senza eseguire JavaScript. E veloce, gratuito durante il periodo beta e produce un output pulito per qualsiasi sito che serve il contenuto nella risposta HTML iniziale.

render: true (l’impostazione predefinita) carica ogni pagina in un’istanza headless di Chromium, esegue JavaScript, attende che la pagina si stabilizzi e poi estrae il contenuto. E piu lento, consuma ore browser e costa denaro dopo le 10 ore/mese gratuite.

Quando Ha Senso Ogni Modalita

Tipo di Sito Modalita Consigliata Motivo
Negozi Shopify --no-render Prodotti, collezioni e pagine sono renderizzati lato server
Siti WordPress --no-render Il contenuto e nella risposta HTML iniziale
Siti statici e blog --no-render Nessun contenuto dipendente da JavaScript
Siti Hugo, Jekyll, Astro --no-render HTML pre-compilato al momento del deploy
SPA React o Vue render: true Il contenuto viene caricato tramite JavaScript dopo il caricamento iniziale della pagina
Siti con dati a caricamento lazy render: true Recensioni, prezzi e raccomandazioni potrebbero richiedere JS

Nei nostri test, i siti Shopify hanno restituito contenuti identici per circa il 90% tra le due modalita di rendering. Il contenuto aggiuntivo dal rendering era principalmente composto da elementi UI dinamici come i drawer del carrello e i widget di raccomandazione, non dati significativi sui prodotti. Trattiamo il confronto completo delle modalita di rendering con benchmark comparativi in Pro e Contro dell’Endpoint Cloudflare Crawl con i Negozi Shopify.

La regola generale: inizia con --no-render. Se i risultati mancano di contenuti di cui hai bisogno, passa alla modalita render.

Il flag --source controlla come Cloudflare trova le pagine da crawlare.

--source sitemaps legge il sitemap.xml del sito e crawla solo gli URL elencati al suo interno. E prevedibile, copre le pagine che il proprietario del sito considera canoniche ed evita il crawling di pagine duplicate o di scarso valore.

--source links parte dall’URL fornito e segue i link <a href> che trova su ogni pagina. Scopre le pagine come farebbe un motore di ricerca, ma puo perdere pagine orfane e potrebbe crawlare paginazioni, filtri o altri pattern URL di scarso valore.

--source all (l’impostazione predefinita) combina entrambi i metodi.

Quale Usare

Usa --source sitemaps quando il sito ha una sitemap completa e ben mantenuta. La maggior parte dei siti Shopify e WordPress ce l’ha. Questa e l’opzione piu affidabile per l’estrazione completa dei contenuti del sito.

Usa --source links o all quando la sitemap e mancante, incompleta o vuoi specificamente verificare la struttura dei link interni del sito.

Blocco Risorse per i Crawl con Render-True

Questa e l’ottimizzazione singola piu impattante per i crawl con render-true. Per impostazione predefinita, il browser headless carica ogni immagine, font, foglio di stile e file multimediale su ogni pagina. Questo e uno spreco quando hai bisogno solo del contenuto testuale.

Aggiungi --block-resources image media font stylesheet a qualsiasi crawl con render-true. L’effetto e significativo:

  • Velocita: il tempo di crawl scende da circa 7 secondi per pagina a circa 2 secondi per pagina
  • Costo: le ore browser consumate si riducono del 60-70%
  • Affidabilita: le pagine che si bloccavano indefinitamente in attesa di asset CDN lenti ora vengono completate normalmente

Il browser esegue comunque JavaScript e costruisce il DOM. Semplicemente salta il download degli asset che non influenzano il contenuto testuale.

La Condizione di Attesa

Il flag --wait-until indica al browser quando smettere di attendere e estrarre il contenuto. L’impostazione predefinita attende che tutta l’attivita di rete sia terminata, il che e lento e non necessario per l’estrazione del contenuto.

--wait-until domcontentloaded indica al browser di estrarre il contenuto non appena il DOM e pronto. Per l’estrazione del testo, questo e quasi sempre sufficiente. Il JavaScript che carica il contenuto sara stato eseguito, ma i ping di analytics in background e le chiamate alle reti pubblicitarie non ritarderanno il crawl.

Comandi Consigliati per Tipo di Sito

Negozio Shopify (Sito Completo)

python crawl.py run https://example.com \
  --limit 500 \
  --format markdown \
  --no-render \
  --source sitemaps \
  -o results.json

Veloce, gratuito e copre l’intero catalogo prodotti. Le sitemap di Shopify sono complete, quindi --source sitemaps garantisce una copertura totale senza crawlare collezioni paginate o pagine dei risultati di ricerca.

Negozio Shopify (Solo Prodotti)

python crawl.py run https://example.com \
  --limit 1000 \
  --format markdown \
  --no-render \
  --include-patterns "https://example.com/products/**" \
  -o products.json

Il flag --include-patterns limita il crawl agli URL corrispondenti al pattern fornito. Utile quando hai bisogno solo delle pagine prodotto e vuoi saltare collezioni, articoli del blog e pagine di policy.

WordPress o Blog Statico

python crawl.py run https://example.com \
  --limit 500 \
  --format markdown \
  --no-render \
  --source sitemaps \
  -o results.json

Stesse impostazioni di Shopify. I siti WordPress sono renderizzati lato server e hanno sitemap affidabili. I generatori di siti statici (Hugo, Jekyll, Eleventy, Astro) producono HTML pre-compilato, quindi render-false cattura tutto.

SPA React o Vue

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 e l’impostazione predefinita, quindi non serve alcun flag. Le aggiunte fondamentali sono --block-resources e --wait-until domcontentloaded. Senza di queste, il crawl sara lento e costoso.

Se la SPA non ha una sitemap, passa a --source links.

Sito di Documentazione

python crawl.py run https://docs.example.com \
  --limit 500 \
  --format markdown \
  --no-render \
  --depth 5 \
  --exclude-patterns "*/changelog/**" "*/archive/**" \
  -o docs.json

I siti di documentazione hanno spesso strutture di link profonde. Aumenta --depth per seguire gerarchie di pagine annidate. Usa --exclude-patterns per saltare pagine di changelog, versioni archiviate o altri contenuti di cui non hai bisogno.

Benchmark delle Prestazioni

Questi numeri provengono da crawl reali su negozi Shopify e di e-commerce a marzo 2026. I nomi dei siti sono stati resi anonimi.

Sito Pagine Modalita Dimensione Contenuto Tempo Browser Tempo Totale
Negozio integratori (bot-protected) 89/100 no-render 5,9 MB 0s ~3,5 min
Brand abbigliamento (catalogo grande) 500/500 no-render 77,1 MB 0s ~18 min
Brand abbigliamento (catalogo grande) 4/5 render-true 0,6 MB 0,9s ~10s
Brand outdoor DTC 256/266 no-render 11,0 MB 0s ~5 min
Brand outdoor DTC 256/266 render-true 12,5 MB 1.338s ~25 min
Negozio abbigliamento medico 1.200 no-render grande 0s ~55 min

Schemi chiave dai dati:

  • No-render e da 5 a 10 volte piu veloce di render-true per lo stesso sito
  • No-render non consuma tempo browser (gratuito durante la beta)
  • Il tempo effettivo scala linearmente con il numero di pagine per i crawl no-render
  • I siti con direttive crawl-delay nel robots.txt saranno lenti indipendentemente dalle impostazioni, perche il crawler le rispetta

Ottimizzazione dei Costi

Il piano Workers Paid costa $5/mese. Oltre a questo, i costi derivano dalle ore browser consumate dai crawl con render-true.

Livello gratuito: 10 ore browser/mese. Un crawl di 500 pagine con render-true e blocco risorse utilizza circa 15-20 minuti di tempo browser. Puoi eseguire oltre 30 crawl ottimizzati al mese all’interno del livello gratuito.

Senza blocco risorse: lo stesso crawl di 500 pagine potrebbe utilizzare oltre 60 minuti di tempo browser, riducendo la tua capacita gratuita a circa 10 crawl al mese.

I crawl no-render sono gratuiti durante il periodo beta. Per i siti renderizzati lato server, non c’e motivo di usare render-true.

Formula dei Costi

Browser cost = (pages x seconds_per_page) / 3600 x $0.09

A 2 secondi per pagina (render-true ottimizzato): 500 pagine = 0,28 ore = $0,025

A 7 secondi per pagina (non ottimizzato): 500 pagine = 0,97 ore = $0,087

La differenza e piccola per singolo crawl ma si accumula quando si eseguono crawl giornalieri o settimanali su piu siti.

Limiti da Conoscere

Risorsa Limite
Pagine per crawl 100.000
Job di crawl al giorno Illimitati (Workers Paid)
Ore browser 10 ore/mese gratuite, poi $0,09/ora
Richieste API 600/minuto
Browser concorrenti 30 per account
Durata del job 7 giorni massimo, risultati disponibili 14 giorni

Problemi Comuni e Soluzioni

Errori 403 sulla maggior parte delle pagine: il sito ha protezione anti-bot (Cloudflare Bot Management, Akamai, Datadome). Questo non puo essere aggirato tramite l’endpoint /crawl. Il crawl verra completato ma la maggior parte delle pagine restituira errori.

Il crawl con render-true si blocca verso la fine: una o piu pagine hanno risorse a caricamento lento che bloccano il browser. Aggiungi --block-resources image media font stylesheet e --wait-until domcontentloaded.

Contenuto mancante in modalita no-render: il sito carica il contenuto tramite JavaScript. Passa a render-true con le ottimizzazioni di blocco risorse e attesa.

Lo script si blocca a meta crawl: il job di crawl continua a essere eseguito sui server di Cloudflare. Controlla lo stato e recupera i risultati quando termina:

python crawl.py status <job_id>
python crawl.py results <job_id> -o out.json

Risultati vuoti con la fonte sitemaps: la sitemap del sito potrebbe essere mancante o bloccata. Passa a --source links o --source all.

Limitazioni Note

Prima di costruire un flusso di lavoro attorno all’endpoint /crawl, tieni presente questi vincoli:

  • Risoluzione URL relativi non corretta: il convertitore markdown di Cloudflare risolve incorrettamente gli URL relativi come //www.example.com/path anteponendo l’URL della pagina. Questo crea percorsi malformati nell’output, in particolare sui siti Shopify.
  • Contenuto boilerplate in ogni pagina: menu di navigazione, mega menu e footer appaiono nel markdown di ogni pagina. Per un tipico sito Shopify, circa il 90% del contenuto per pagina e contenuto template ripetuto. Consulta la nostra analisi dei rapporti di boilerplate su crawl reali di negozi Shopify.
  • Nessuna estrazione di dati strutturati: JSON-LD, schema.org e i dati OpenGraph non vengono analizzati in modalita no-render. Render-true cattura i tag OG di base nei metadati ma non lo schema completo.
  • Nessun rilevamento 404: il crawl elabora solo URL attivi. I link morti e i link interni rotti non vengono segnalati.
  • URL di partenza singolo: l’API accetta un URL e si espande a raggiera. Non accetta una lista di URL. Per il recupero batch di URL, usa invece gli endpoint /markdown o /scrape.

Domande Frequenti

Devo usare render true o render false con Cloudflare /crawl?

Usa render false (--no-render) per i siti con rendering lato server come Shopify, WordPress e siti statici. Usa render true solo per le single-page app costruite con React, Vue o Angular dove il contenuto viene caricato tramite JavaScript. Nei nostri test, i siti Shopify hanno restituito contenuti identici per circa il 90% in entrambe le modalita.

Quanto costa Cloudflare Browser Rendering /crawl?

Un piano Workers Paid costa $5/mese. I crawl con render-false non consumano tempo browser e sono gratuiti durante la beta. I crawl con render-true utilizzano ore browser: 10 ore/mese sono gratuite, poi $0,09/ora. Bloccare immagini, font e fogli di stile durante i crawl con render-true riduce significativamente il tempo browser.

Qual e la migliore fonte di scoperta URL per Cloudflare /crawl?

Usa --source sitemaps per i siti con sitemap complete come Shopify e WordPress. Questo garantisce una copertura prevedibile e completa. Usa --source links o all quando la sitemap potrebbe essere incompleta o vuoi scoprire le pagine come farebbe un motore di ricerca.

Perche il mio crawl Cloudflare con render-true si blocca sulle ultime pagine?

Le pagine con risorse a caricamento lento come immagini di grandi dimensioni o script di terze parti possono bloccare il browser headless per oltre 60 secondi. Risolvi aggiungendo --block-resources image media font stylesheet e --wait-until domcontentloaded al tuo comando di crawl.