Inilah Tetapan Cloudflare /crawl Terbaik untuk Mana-mana Laman Web
Endpoint /crawl Cloudflare Browser Rendering adalah salah satu cara terpantas untuk mengekstrak kandungan laman web secara berskala, tetapi tetapan lalai tidak optimum untuk kebanyakan kes penggunaan. Selepas menjalankan crawl merentasi berpuluh-puluh laman, daripada kedai Shopify hingga React SPA dan laman dokumentasi, inilah tetapan yang secara konsisten memberikan hasil terbaik.
Panduan ini merangkumi fungsi setiap tetapan, bila perlu mengubahnya, dan arahan khusus yang paling berkesan untuk jenis laman biasa.
Keputusan Paling Penting: Mod Render
Setiap crawl bermula dengan satu pilihan: patutkah Cloudflare memuat halaman dalam pelayar headless, atau hanya mengambil HTML mentah?
render: false (--no-render) mengambil HTML tanpa menjalankan JavaScript. Ia pantas, percuma semasa tempoh beta, dan menghasilkan output bersih untuk mana-mana laman yang menyajikan kandungan dalam respons HTML awal.
render: true (lalai) memuat setiap halaman dalam contoh Chromium headless, menjalankan JavaScript, menunggu halaman stabil, kemudian mengekstrak kandungan. Ini lebih perlahan, menggunakan jam pelayar, dan memerlukan kos selepas 10 jam/bulan percuma.
Bila Setiap Mod Sesuai
| Jenis Laman | Mod Disyorkan | Sebab |
|---|---|---|
| Kedai Shopify | --no-render |
Produk, koleksi, dan halaman dirender oleh pelayan |
| Laman WordPress | --no-render |
Kandungan terdapat dalam respons HTML awal |
| Laman statik dan blog | --no-render |
Tiada kandungan bergantung pada JavaScript |
| Laman Hugo, Jekyll, Astro | --no-render |
HTML pra-bina semasa deploy |
| React atau Vue SPA | render: true |
Kandungan dimuat melalui JavaScript selepas muat halaman awal |
| Laman dengan data lazy-loaded | render: true |
Ulasan, harga, dan cadangan mungkin memerlukan JS |
Dalam ujian kami, laman Shopify mengembalikan kandungan yang lebih kurang 90% sama antara mod render. Kandungan tambahan daripada rendering kebanyakannya adalah elemen UI dinamik seperti laci troli dan widget cadangan, bukan data produk yang bermakna. Kami merangkumi perbandingan penuh mod render dengan penanda aras perbandingan langsung dalam Kebaikan dan Keburukan Endpoint Cloudflare Crawl dengan Kedai Shopify.
Peraturan am: mulakan dengan --no-render. Jika hasilnya tidak mengandungi kandungan yang anda perlukan, tukar kepada mod render.
Penemuan URL: Peta Laman vs Pautan
Bendera --source mengawal cara Cloudflare mencari halaman untuk dicrawl.
--source sitemaps membaca sitemap.xml laman dan hanya mencrawl URL yang disenaraikan di sana. Ini boleh diramal, merangkumi halaman yang dianggap kanonik oleh pemilik laman, dan mengelak mencrawl halaman berganda atau bernilai rendah.
--source links bermula di URL yang diberikan dan mengikuti pautan <a href> yang dijumpai di setiap halaman. Ini menemui halaman seperti cara enjin carian, tetapi boleh terlepas halaman yatim dan mungkin mencrawl ke dalam corak URL pagination, penapis, atau bernilai rendah yang lain.
--source all (lalai) menggabungkan kedua-dua kaedah.
Yang Mana Perlu Digunakan
Gunakan --source sitemaps apabila laman mempunyai peta laman yang lengkap dan diselenggara dengan baik. Kebanyakan laman Shopify dan WordPress memilikinya. Ini adalah pilihan paling boleh dipercayai untuk pengekstrakan kandungan keseluruhan laman.
Gunakan --source links atau all apabila peta laman tiada, tidak lengkap, atau anda secara khusus ingin mengaudit struktur pautan dalaman laman.
Penyekatan Sumber untuk Crawl Render-True
Ini adalah pengoptimuman tunggal yang paling berkesan untuk crawl render-true. Secara lalai, pelayar headless memuat setiap imej, fon, helaian gaya, dan fail media di setiap halaman. Ini membazir apabila anda hanya memerlukan kandungan teks.
Tambah --block-resources image media font stylesheet pada mana-mana crawl render-true. Kesannya ketara:
- Kelajuan: masa crawl turun daripada lebih kurang 7 saat setiap halaman kepada lebih kurang 2 saat setiap halaman
- Kos: jam pelayar yang digunakan dipotong sebanyak 60-70%
- Kebolehpercayaan: halaman yang sebelum ini tergantung selama-lamanya menunggu aset CDN yang perlahan kini selesai dengan normal
Pelayar masih menjalankan JavaScript dan membina DOM. Ia hanya melangkau memuat turun aset yang tidak mempengaruhi kandungan teks.
Syarat Tunggu
Bendera --wait-until memberitahu pelayar bila untuk berhenti menunggu dan mengekstrak kandungan. Lalai menunggu semua aktiviti rangkaian selesai, yang perlahan dan tidak perlu untuk pengekstrakan kandungan.
--wait-until domcontentloaded memberitahu pelayar untuk mengekstrak kandungan sebaik sahaja DOM siap. Untuk pengekstrakan teks, ini hampir selalu mencukupi. JavaScript yang memuat kandungan sudah dilaksanakan, tetapi ping analitik latar belakang dan panggilan rangkaian iklan tidak akan melambatkan crawl.
Arahan Disyorkan Mengikut Jenis Laman
Kedai Shopify (Keseluruhan Laman)
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Pantas, percuma, dan merangkumi keseluruhan katalog produk. Peta laman Shopify adalah menyeluruh, jadi --source sitemaps memberikan liputan lengkap tanpa mencrawl ke dalam koleksi berpaginasi atau halaman hasil carian.
Kedai Shopify (Produk Sahaja)
python crawl.py run https://example.com \
--limit 1000 \
--format markdown \
--no-render \
--include-patterns "https://example.com/products/**" \
-o products.json
Bendera --include-patterns mengehadkan crawl kepada URL yang sepadan dengan corak yang diberikan. Berguna apabila anda hanya memerlukan halaman produk dan ingin melangkau koleksi, catatan blog, dan halaman polisi.
WordPress atau Blog Statik
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Tetapan yang sama seperti Shopify. Laman WordPress dirender oleh pelayan dan mempunyai peta laman yang boleh dipercayai. Penjana laman statik (Hugo, Jekyll, Eleventy, Astro) menghasilkan HTML pra-bina, jadi render-false menangkap semuanya.
React atau 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 adalah lalai, jadi tiada bendera diperlukan. Tambahan kritikal adalah --block-resources dan --wait-until domcontentloaded. Tanpa ini, crawl akan perlahan dan mahal.
Jika SPA tidak mempunyai peta laman, tukar kepada --source links.
Laman Dokumentasi
python crawl.py run https://docs.example.com \
--limit 500 \
--format markdown \
--no-render \
--depth 5 \
--exclude-patterns "*/changelog/**" "*/archive/**" \
-o docs.json
Laman dokumentasi sering mempunyai struktur pautan yang mendalam. Tingkatkan --depth untuk mengikuti hierarki halaman bersarang. Gunakan --exclude-patterns untuk melangkau halaman log perubahan, versi arkib, atau kandungan lain yang tidak anda perlukan.
Penanda Aras Prestasi
Nombor ini datang daripada crawl sebenar merentasi kedai Shopify dan e-dagang pada Mac 2026. Nama laman telah dianonimkan.
| Laman | Halaman | Mod | Saiz Kandungan | Masa Pelayar | Jumlah Masa |
|---|---|---|---|---|---|
| Kedai suplemen (dilindungi bot) | 89/100 | no-render | 5.9 MB | 0s | ~3.5 min |
| Jenama pakaian (katalog besar) | 500/500 | no-render | 77.1 MB | 0s | ~18 min |
| Jenama pakaian (katalog besar) | 4/5 | render-true | 0.6 MB | 0.9s | ~10s |
| Jenama luar DTC | 256/266 | no-render | 11.0 MB | 0s | ~5 min |
| Jenama luar DTC | 256/266 | render-true | 12.5 MB | 1,338s | ~25 min |
| Kedai pakaian perubatan | 1,200 | no-render | besar | 0s | ~55 min |
Corak utama daripada data:
- No-render adalah 5 hingga 10 kali lebih pantas daripada render-true untuk laman yang sama
- No-render tidak menggunakan masa pelayar (percuma semasa beta)
- Masa jam dinding berskala secara linear dengan bilangan halaman untuk crawl no-render
- Laman dengan arahan crawl-delay
robots.txtakan perlahan tanpa mengira tetapan, kerana crawler menghormatinya
Pengoptimuman Kos
Pelan Workers Paid berharga $5/bulan. Selain itu, kos datang daripada jam pelayar yang digunakan oleh crawl render-true.
Peringkat percuma: 10 jam pelayar/bulan. Satu crawl render-true 500 halaman dengan penyekatan sumber menggunakan lebih kurang 15-20 minit masa pelayar. Anda boleh menjalankan 30+ crawl yang dioptimumkan sebulan dalam peringkat percuma.
Tanpa penyekatan sumber: crawl 500 halaman yang sama boleh menggunakan 60+ minit masa pelayar, memotong kapasiti percuma anda kepada lebih kurang 10 crawl sebulan.
Crawl no-render adalah percuma semasa tempoh beta. Untuk laman yang dirender oleh pelayan, tiada sebab untuk menggunakan render-true.
Formula Kos
Browser cost = (pages x seconds_per_page) / 3600 x $0.09
Pada 2 saat setiap halaman (render-true dioptimumkan): 500 halaman = 0.28 jam = $0.025
Pada 7 saat setiap halaman (tidak dioptimumkan): 500 halaman = 0.97 jam = $0.087
Perbezaannya kecil bagi setiap crawl tetapi berganda apabila menjalankan crawl harian atau mingguan merentasi berbilang laman.
Had yang Perlu Diketahui
| Sumber | Had |
|---|---|
| Halaman setiap crawl | 100,000 |
| Kerja crawl sehari | Tanpa had (Workers Paid) |
| Jam pelayar | 10 jam/bulan percuma, kemudian $0.09/jam |
| Permintaan API | 600/minit |
| Pelayar serentak | 30 setiap akaun |
| Jangka hayat kerja | Maksimum 7 hari, hasil tersedia 14 hari |
Masalah Biasa dan Penyelesaian
Ralat 403 pada kebanyakan halaman: laman mempunyai perlindungan bot (Cloudflare Bot Management, Akamai, Datadome). Ini tidak boleh dipintas melalui endpoint /crawl. Crawl akan selesai tetapi kebanyakan halaman akan mengembalikan ralat.
Crawl render-true tergantung berhampiran penghujung: satu atau lebih halaman mempunyai sumber yang lambat dimuat yang menyekat pelayar. Tambah --block-resources image media font stylesheet dan --wait-until domcontentloaded.
Kandungan hilang dalam mod no-render: laman memuat kandungan melalui JavaScript. Tukar kepada render-true dengan pengoptimuman penyekatan sumber dan tunggu.
Skrip ranap semasa crawl: kerja crawl terus berjalan di pelayan Cloudflare. Semak status dan ambil hasil apabila ia selesai:
python crawl.py status <job_id>
python crawl.py results <job_id> -o out.json
Hasil kosong daripada sumber peta laman: peta laman laman mungkin tiada atau disekat. Tukar kepada --source links atau --source all.
Had yang Diketahui
Sebelum membina aliran kerja di sekitar endpoint /crawl, sedari kekangan ini:
- Resolusi URL relatif yang rosak: penukar markdown Cloudflare menyelesaikan URL relatif seperti
//www.example.com/pathsecara salah dengan menambah URL halaman di hadapan. Ini mewujudkan laluan yang cacat dalam output, terutamanya pada laman Shopify. - Kandungan boilerplate dalam setiap halaman: menu navigasi, mega menu, dan footer muncul dalam markdown untuk setiap halaman. Untuk laman Shopify biasa, lebih kurang 90% kandungan setiap halaman adalah kandungan templat berulang. Lihat analisis kami tentang nisbah boilerplate merentasi crawl Shopify sebenar.
- Tiada pengekstrakan data berstruktur: JSON-LD, schema.org, dan data OpenGraph tidak dihurai dalam mod no-render. Render-true menangkap tag OG asas dalam metadata tetapi bukan skema penuh.
- Tiada pengesanan 404: crawl hanya memproses URL yang aktif. Pautan mati dan pautan dalaman yang rosak tidak dilaporkan.
- URL permulaan tunggal: API menerima satu URL dan merangkak ke luar. Ia tidak menerima senarai URL. Untuk pengambilan URL secara pukal, gunakan endpoint
/markdownatau/scrapesebagai ganti.
Soalan Lazim
Patutkah saya gunakan render true atau render false dengan Cloudflare /crawl?
Gunakan render false (--no-render) untuk laman yang dirender oleh pelayan seperti Shopify, WordPress, dan laman statik. Gunakan render true hanya untuk aplikasi halaman tunggal yang dibina dengan React, Vue, atau Angular di mana kandungan dimuat melalui JavaScript. Dalam ujian, laman Shopify mengembalikan kandungan yang lebih kurang 90% sama dalam kedua-dua mod.
Berapakah kos Cloudflare Browser Rendering /crawl?
Pelan Workers Paid berharga $5/bulan. Crawl render-false tidak menggunakan masa pelayar dan percuma semasa beta. Crawl render-true menggunakan jam pelayar: 10 jam/bulan adalah percuma, kemudian $0.09/jam. Menyekat imej, fon, dan helaian gaya semasa crawl render-true mengurangkan masa pelayar dengan ketara.
Apakah sumber penemuan URL terbaik untuk Cloudflare /crawl?
Gunakan --source sitemaps untuk laman dengan peta laman lengkap seperti Shopify dan WordPress. Ini memberikan liputan yang boleh diramal dan menyeluruh. Gunakan --source links atau all apabila peta laman mungkin tidak lengkap atau anda ingin menemui halaman seperti cara enjin carian melakukannya.
Mengapa crawl render-true Cloudflare saya tergantung pada halaman terakhir?
Halaman dengan sumber yang lambat dimuat seperti imej besar atau skrip pihak ketiga boleh menyekat pelayar headless selama 60+ saat. Perbaiki ini dengan menambah --block-resources image media font stylesheet dan --wait-until domcontentloaded pada arahan crawl anda.