As Melhores Configuracoes do Cloudflare /crawl para Qualquer Website
O endpoint /crawl do Cloudflare Browser Rendering e uma das formas mais rapidas de extrair conteudo de websites em escala, mas as configuracoes padrao nao sao otimas para a maioria dos casos de uso. Apos executar crawls em dezenas de sites, desde lojas Shopify ate SPAs React e sites de documentacao, estas sao as configuracoes que consistentemente entregam os melhores resultados.
Este guia abrange o que cada configuracao faz, quando altera-la e os comandos especificos que funcionam melhor para tipos comuns de sites.
A Decisao Mais Importante: Modo de Renderizacao
Todo crawl comeca com uma escolha: o Cloudflare deve carregar a pagina num navegador headless ou apenas buscar o HTML bruto?
render: false (--no-render) busca o HTML sem executar JavaScript. E rapido, gratuito durante o periodo beta e produz uma saida limpa para qualquer site que serve conteudo na resposta HTML inicial.
render: true (o padrao) carrega cada pagina numa instancia headless de Chromium, executa JavaScript, espera a pagina estabilizar e entao extrai o conteudo. Isto e mais lento, consome horas de navegador e custa dinheiro apos as 10 horas/mes gratuitas.
Quando Cada Modo Faz Sentido
| Tipo de Site | Modo Recomendado | Razao |
|---|---|---|
| Lojas Shopify | --no-render |
Produtos, colecoes e paginas sao renderizados no servidor |
| Sites WordPress | --no-render |
O conteudo esta na resposta HTML inicial |
| Sites estaticos e blogs | --no-render |
Sem conteudo dependente de JavaScript |
| Sites Hugo, Jekyll, Astro | --no-render |
HTML pre-construido no momento do deploy |
| SPAs React ou Vue | render: true |
O conteudo carrega via JavaScript apos o carregamento inicial da pagina |
| Sites com dados carregados sob demanda | render: true |
Avaliacoes, precos e recomendacoes podem requerer JS |
Nos nossos testes, sites Shopify retornaram aproximadamente 90% de conteudo identico entre os modos de renderizacao. O conteudo extra da renderizacao era maioritariamente elementos dinamicos de UI como gavetas de carrinho e widgets de recomendacao, nao dados significativos de produtos. Cobrimos a comparacao completa dos modos de renderizacao com benchmarks comparativos em Pros e Contras do Endpoint Cloudflare Crawl com Lojas Shopify.
A regra geral: comece com --no-render. Se os resultados estiverem a faltar conteudo de que precisa, mude para o modo de renderizacao.
Descoberta de URLs: Sitemaps vs Links
A flag --source controla como o Cloudflare encontra paginas para rastrear.
--source sitemaps le o sitemap.xml do site e apenas rastreia URLs listados la. Isto e previsivel, cobre as paginas que o proprietario do site considera canonicas e evita rastrear paginas duplicadas ou de baixo valor.
--source links comeca no URL fornecido e segue links <a href> que encontra em cada pagina. Isto descobre paginas da mesma forma que um motor de busca faria, mas pode perder paginas orfas e pode rastrear paginacao, filtros ou outros padroes de URL de baixo valor.
--source all (o padrao) combina ambos os metodos.
Qual Usar
Use --source sitemaps quando o site tem um sitemap completo e bem mantido. A maioria dos sites Shopify e WordPress tem. Esta e a opcao mais fiavel para extracao completa de conteudo do site.
Use --source links ou all quando o sitemap esta em falta, incompleto, ou quando quer especificamente auditar a estrutura de links internos do site.
Bloqueio de Recursos para Crawls com Render-True
Esta e a otimizacao individual mais impactante para crawls com render-true. Por padrao, o navegador headless carrega cada imagem, fonte, folha de estilo e ficheiro de media em cada pagina. Isto e desperdicado quando so precisa do conteudo de texto.
Adicione --block-resources image media font stylesheet a qualquer crawl com render-true. O efeito e significativo:
- Velocidade: o tempo de crawl cai de aproximadamente 7 segundos por pagina para aproximadamente 2 segundos por pagina
- Custo: as horas de navegador consumidas sao reduzidas em 60-70%
- Fiabilidade: paginas que ficariam penduradas indefinidamente a esperar por recursos lentos de CDN agora completam normalmente
O navegador continua a executar JavaScript e a construir o DOM. Apenas ignora o download de recursos que nao afetam o conteudo de texto.
A Condicao de Espera
A flag --wait-until diz ao navegador quando parar de esperar e extrair conteudo. O padrao espera que toda a atividade de rede termine, o que e lento e desnecessario para extracao de conteudo.
--wait-until domcontentloaded diz ao navegador para extrair conteudo assim que o DOM estiver pronto. Para extracao de texto, isto e quase sempre suficiente. JavaScript que carrega conteudo ja tera sido executado, mas pings de analytics em segundo plano e chamadas de redes publicitarias nao atrasarao o crawl.
Comandos Recomendados por Tipo de Site
Loja Shopify (Site Completo)
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Rapido, gratuito e cobre todo o catalogo de produtos. Os sitemaps do Shopify sao abrangentes, entao --source sitemaps oferece cobertura completa sem rastrear colecoes paginadas ou paginas de resultados de pesquisa.
Loja Shopify (Apenas Produtos)
python crawl.py run https://example.com \
--limit 1000 \
--format markdown \
--no-render \
--include-patterns "https://example.com/products/**" \
-o products.json
A flag --include-patterns restringe o crawl a URLs que correspondem ao padrao fornecido. Util quando so precisa de paginas de produtos e quer ignorar colecoes, posts de blog e paginas de politicas.
WordPress ou Blog Estatico
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
As mesmas configuracoes do Shopify. Sites WordPress sao renderizados no servidor e tem sitemaps fiaveis. Geradores de sites estaticos (Hugo, Jekyll, Eleventy, Astro) produzem HTML pre-construido, entao render-false captura tudo.
SPA React ou 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 o padrao, entao nenhuma flag e necessaria. As adicoes criticas sao --block-resources e --wait-until domcontentloaded. Sem estas, o crawl sera lento e caro.
Se a SPA nao tiver um sitemap, mude para --source links.
Site de Documentacao
python crawl.py run https://docs.example.com \
--limit 500 \
--format markdown \
--no-render \
--depth 5 \
--exclude-patterns "*/changelog/**" "*/archive/**" \
-o docs.json
Sites de documentacao frequentemente tem estruturas de links profundas. Aumente --depth para seguir hierarquias de paginas aninhadas. Use --exclude-patterns para ignorar paginas de changelog, versoes arquivadas ou outro conteudo de que nao precisa.
Benchmarks de Desempenho
Estes numeros vem de crawls reais em lojas Shopify e de e-commerce em marco de 2026. Os nomes dos sites foram anonimizados.
| Site | Paginas | Modo | Tamanho do Conteudo | Tempo de Navegador | Tempo Total |
|---|---|---|---|---|---|
| Loja de suplementos (protegida contra bots) | 89/100 | no-render | 5.9 MB | 0s | ~3.5 min |
| Marca de vestuario (catalogo grande) | 500/500 | no-render | 77.1 MB | 0s | ~18 min |
| Marca de vestuario (catalogo grande) | 4/5 | render-true | 0.6 MB | 0.9s | ~10s |
| Marca DTC outdoor | 256/266 | no-render | 11.0 MB | 0s | ~5 min |
| Marca DTC outdoor | 256/266 | render-true | 12.5 MB | 1,338s | ~25 min |
| Loja de vestuario medico | 1,200 | no-render | grande | 0s | ~55 min |
Padroes-chave dos dados:
- No-render e 5 a 10 vezes mais rapido que render-true para o mesmo site
- No-render consome zero tempo de navegador (gratuito durante o beta)
- O tempo real escala linearmente com a contagem de paginas para crawls no-render
- Sites com diretivas crawl-delay no
robots.txtserao lentos independentemente das configuracoes, porque o crawler respeita-as
Otimizacao de Custos
O plano Workers Paid custa $5/mes. Alem disso, os custos vem das horas de navegador consumidas por crawls com render-true.
Nivel gratuito: 10 horas de navegador/mes. Um crawl render-true de 500 paginas com bloqueio de recursos usa aproximadamente 15-20 minutos de tempo de navegador. Pode executar mais de 30 crawls otimizados por mes dentro do nivel gratuito.
Sem bloqueio de recursos: o mesmo crawl de 500 paginas poderia usar mais de 60 minutos de tempo de navegador, reduzindo a sua capacidade gratuita para aproximadamente 10 crawls por mes.
Crawls no-render sao gratuitos durante o periodo beta. Para sites renderizados no servidor, nao ha razao para usar render-true.
Formula de Custo
Browser cost = (pages x seconds_per_page) / 3600 x $0.09
A 2 segundos por pagina (render-true otimizado): 500 paginas = 0.28 horas = $0.025
A 7 segundos por pagina (nao otimizado): 500 paginas = 0.97 horas = $0.087
A diferenca e pequena por crawl, mas acumula-se quando executa crawls diarios ou semanais em multiplos sites.
Limites a Conhecer
| Recurso | Limite |
|---|---|
| Paginas por crawl | 100,000 |
| Trabalhos de crawl por dia | Ilimitado (Workers Paid) |
| Horas de navegador | 10 hrs/mes gratuitas, depois $0.09/hr |
| Pedidos API | 600/minuto |
| Navegadores simultaneos | 30 por conta |
| Tempo de vida do trabalho | 7 dias max, resultados disponiveis 14 dias |
Problemas Comuns e Solucoes
Erros 403 na maioria das paginas: o site tem protecao contra bots (Cloudflare Bot Management, Akamai, Datadome). Isto nao pode ser contornado atraves do endpoint /crawl. O crawl sera concluido, mas a maioria das paginas retornara erros.
Crawl com render-true trava perto do fim: uma ou mais paginas tem recursos de carregamento lento a bloquear o navegador. Adicione --block-resources image media font stylesheet e --wait-until domcontentloaded.
Conteudo em falta no modo no-render: o site carrega conteudo via JavaScript. Mude para render-true com as otimizacoes de bloqueio de recursos e espera.
Script crasha a meio do crawl: o trabalho de crawl continua a correr nos servidores do Cloudflare. Verifique o estado e obtenha os resultados quando terminar:
python crawl.py status <job_id>
python crawl.py results <job_id> -o out.json
Resultados vazios com fonte sitemaps: o sitemap do site pode estar em falta ou bloqueado. Mude para --source links ou --source all.
Limitacoes Conhecidas
Antes de construir um fluxo de trabalho em torno do endpoint /crawl, esteja ciente destas restricoes:
- Resolucao incorreta de URLs relativos: o conversor de markdown do Cloudflare resolve incorretamente URLs relativos como
//www.example.com/pathao prefixar o URL da pagina. Isto cria caminhos malformados na saida, particularmente em sites Shopify. - Conteudo padrao em todas as paginas: menus de navegacao, mega menus e rodapes aparecem no markdown de cada pagina. Para um site Shopify tipico, aproximadamente 90% do conteudo por pagina e conteudo de template repetido. Veja a nossa analise de proporcoes de conteudo padrao em crawls reais de Shopify.
- Sem extracao de dados estruturados: JSON-LD, schema.org e dados OpenGraph nao sao analisados no modo no-render. Render-true captura tags OG basicas nos metadados, mas nao o schema completo.
- Sem detecao de 404: o crawl apenas processa URLs ativos. Links mortos e links internos quebrados nao sao reportados.
- URL inicial unico: a API aceita um URL e navega para fora. Nao aceita uma lista de URLs. Para busca de URLs em lote, use os endpoints
/markdownou/scrapeem vez disso.
Perguntas Frequentes
Devo usar render true ou render false com o Cloudflare /crawl?
Use render false (--no-render) para sites renderizados no servidor como Shopify, WordPress e sites estaticos. Use render true apenas para aplicacoes de pagina unica construidas com React, Vue ou Angular onde o conteudo carrega via JavaScript. Nos testes, sites Shopify retornaram aproximadamente 90% de conteudo identico em ambos os modos.
Quanto custa o Cloudflare Browser Rendering /crawl?
Um plano Workers Paid custa $5/mes. Crawls com render-false consomem zero tempo de navegador e sao gratuitos durante o beta. Crawls com render-true usam horas de navegador: 10 horas/mes sao gratuitas, depois $0.09/hora. Bloquear imagens, fontes e folhas de estilo durante crawls com render-true reduz significativamente o tempo de navegador.
Qual e a melhor fonte de descoberta de URLs para o Cloudflare /crawl?
Use --source sitemaps para sites com sitemaps completos como Shopify e WordPress. Isso oferece cobertura previsivel e completa. Use --source links ou all quando o sitemap pode estar incompleto ou quando voce quer descobrir paginas da mesma forma que um motor de busca faria.
Por que meu crawl Cloudflare com render-true trava nas ultimas paginas?
Paginas com recursos de carregamento lento, como imagens grandes ou scripts de terceiros, podem bloquear o navegador headless por mais de 60 segundos. Corrija isso adicionando --block-resources image media font stylesheet e --wait-until domcontentloaded ao seu comando de crawl.