किसी भी वेबसाइट के लिए सर्वश्रेष्ठ Cloudflare /crawl सेटिंग्स
Cloudflare का Browser Rendering /crawl एंडपॉइंट बड़े पैमाने पर वेबसाइट कंटेंट निकालने के सबसे तेज़ तरीकों में से एक है, लेकिन डिफ़ॉल्ट सेटिंग्स अधिकांश उपयोग के मामलों के लिए सर्वोत्तम नहीं हैं। Shopify स्टोर से लेकर React SPAs से लेकर डॉक्यूमेंटेशन साइट्स तक, दर्जनों साइट्स पर क्रॉल चलाने के बाद, ये वे सेटिंग्स हैं जो लगातार सर्वोत्तम परिणाम देती हैं।
यह गाइड बताती है कि प्रत्येक सेटिंग क्या करती है, इसे कब बदलना है, और सामान्य साइट प्रकारों के लिए कौन से विशिष्ट कमांड सबसे अच्छे काम करते हैं।
सबसे महत्वपूर्ण निर्णय: रेंडर मोड
हर क्रॉल एक विकल्प से शुरू होता है: क्या Cloudflare को पेज को हेडलेस ब्राउज़र में लोड करना चाहिए, या सिर्फ़ रॉ HTML फ़ेच करना चाहिए?
render: false (--no-render) JavaScript को निष्पादित किए बिना HTML फ़ेच करता है। यह तेज़ है, बीटा अवधि के दौरान मुफ़्त है, और किसी भी ऐसी साइट के लिए क्लीन आउटपुट देता है जो प्रारंभिक HTML रिस्पॉन्स में कंटेंट प्रदान करती है।
render: true (डिफ़ॉल्ट) प्रत्येक पेज को एक हेडलेस Chromium इंस्टेंस में लोड करता है, JavaScript निष्पादित करता है, पेज के स्थिर होने की प्रतीक्षा करता है, फिर कंटेंट निकालता है। यह धीमा है, ब्राउज़र घंटे खर्च करता है, और मुफ़्त 10 घंटे/माह के बाद पैसे खर्च होते हैं।
प्रत्येक मोड कब सही रहता है
| साइट का प्रकार | अनुशंसित मोड | कारण |
|---|---|---|
| Shopify स्टोर | --no-render |
प्रोडक्ट, कलेक्शन, और पेज सर्वर-रेंडर्ड हैं |
| WordPress साइट्स | --no-render |
कंटेंट प्रारंभिक HTML रिस्पॉन्स में है |
| स्टैटिक साइट्स और ब्लॉग | --no-render |
JavaScript-निर्भर कंटेंट नहीं है |
| Hugo, Jekyll, Astro साइट्स | --no-render |
डिप्लॉय समय पर प्री-बिल्ट HTML |
| React या Vue SPAs | render: true |
प्रारंभिक पेज लोड के बाद JavaScript के माध्यम से कंटेंट लोड होता है |
| लेज़ी-लोडेड डेटा वाली साइट्स | render: true |
रिव्यू, प्राइसिंग, और रिकमंडेशन के लिए JS ज़रूरी हो सकता है |
हमारे परीक्षण में, Shopify साइट्स ने रेंडर मोड के बीच लगभग 90% समान कंटेंट दिया। रेंडरिंग से अतिरिक्त कंटेंट ज़्यादातर डायनामिक UI एलीमेंट्स जैसे कार्ट ड्रॉअर और रिकमंडेशन विजेट थे, सार्थक प्रोडक्ट डेटा नहीं। हम Shopify स्टोर के साथ Cloudflare Crawl एंडपॉइंट के फ़ायदे और नुकसान में आमने-सामने बेंचमार्क के साथ पूर्ण रेंडर मोड तुलना प्रस्तुत करते हैं।
सामान्य नियम: --no-render से शुरू करें। यदि परिणामों में आवश्यक कंटेंट गायब है, तो रेंडर मोड पर स्विच करें।
URL डिस्कवरी: Sitemaps बनाम Links
--source फ़्लैग नियंत्रित करता है कि Cloudflare क्रॉल करने के लिए पेज कैसे खोजता है।
--source sitemaps साइट की sitemap.xml पढ़ता है और केवल वहाँ सूचीबद्ध URLs को क्रॉल करता है। यह अनुमानित है, उन पेजों को कवर करता है जिन्हें साइट मालिक कैनोनिकल मानता है, और डुप्लिकेट या कम-मूल्य वाले पेजों को क्रॉल करने से बचता है।
--source links दिए गए URL से शुरू होता है और प्रत्येक पेज पर मिलने वाले <a href> लिंक्स को फ़ॉलो करता है। यह उसी तरह पेज खोजता है जैसे एक सर्च इंजन करता है, लेकिन अनाथ पेजों को मिस कर सकता है और पेजिनेशन, फ़िल्टर, या अन्य कम-मूल्य वाले URL पैटर्न में क्रॉल कर सकता है।
--source all (डिफ़ॉल्ट) दोनों विधियों को जोड़ता है।
कौन सा उपयोग करें
जब साइट के पास पूर्ण, अच्छी तरह से बनाए रखा गया साइटमैप हो तो --source sitemaps का उपयोग करें। अधिकांश Shopify और WordPress साइट्स के पास है। पूर्ण-साइट कंटेंट निष्कर्षण के लिए यह सबसे विश्वसनीय विकल्प है।
जब साइटमैप गायब हो, अधूरा हो, या आप विशेष रूप से साइट के आंतरिक लिंक ढाँचे का ऑडिट करना चाहते हों तो --source links या all का उपयोग करें।
Render-True क्रॉल के लिए रिसोर्स ब्लॉकिंग
यह render-true क्रॉल के लिए सबसे प्रभावशाली अनुकूलन है। डिफ़ॉल्ट रूप से, हेडलेस ब्राउज़र प्रत्येक पेज पर हर इमेज, फ़ॉन्ट, स्टाइलशीट, और मीडिया फ़ाइल लोड करता है। जब आपको केवल टेक्स्ट कंटेंट चाहिए तो यह व्यर्थ है।
किसी भी render-true क्रॉल में --block-resources image media font stylesheet जोड़ें। प्रभाव महत्वपूर्ण है:
- गति: क्रॉल समय प्रति पेज लगभग 7 सेकंड से घटकर प्रति पेज लगभग 2 सेकंड हो जाता है
- लागत: खर्च किए गए ब्राउज़र घंटे 60-70% कम हो जाते हैं
- विश्वसनीयता: जो पेज धीमे CDN एसेट्स की प्रतीक्षा में अनिश्चित काल तक लटके रहते, अब सामान्य रूप से पूरे होते हैं
ब्राउज़र अभी भी JavaScript निष्पादित करता है और DOM बनाता है। यह बस उन एसेट्स को डाउनलोड करना छोड़ देता है जो टेक्स्ट कंटेंट को प्रभावित नहीं करते।
वेट कंडीशन
--wait-until फ़्लैग ब्राउज़र को बताता है कि प्रतीक्षा कब बंद करनी है और कंटेंट निकालना है। डिफ़ॉल्ट सभी नेटवर्क गतिविधि समाप्त होने की प्रतीक्षा करता है, जो धीमा और कंटेंट निष्कर्षण के लिए अनावश्यक है।
--wait-until domcontentloaded ब्राउज़र को DOM तैयार होते ही कंटेंट निकालने के लिए कहता है। टेक्स्ट निष्कर्षण के लिए, यह लगभग हमेशा पर्याप्त है। कंटेंट लोड करने वाला JavaScript निष्पादित हो चुका होगा, लेकिन बैकग्राउंड एनालिटिक्स पिंग और ऐड नेटवर्क कॉल क्रॉल में देरी नहीं करेंगे।
साइट प्रकार के अनुसार अनुशंसित कमांड
Shopify स्टोर (पूर्ण साइट)
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
तेज़, मुफ़्त, और पूर्ण प्रोडक्ट कैटलॉग को कवर करता है। Shopify साइटमैप व्यापक हैं, इसलिए --source sitemaps पेजिनेटेड कलेक्शन या सर्च रिज़ल्ट पेजों में क्रॉल किए बिना पूर्ण कवरेज देता है।
Shopify स्टोर (केवल प्रोडक्ट)
python crawl.py run https://example.com \
--limit 1000 \
--format markdown \
--no-render \
--include-patterns "https://example.com/products/**" \
-o products.json
--include-patterns फ़्लैग क्रॉल को दिए गए पैटर्न से मेल खाने वाले URLs तक सीमित करता है। तब उपयोगी जब आपको केवल प्रोडक्ट पेज चाहिए और कलेक्शन, ब्लॉग पोस्ट, और पॉलिसी पेज छोड़ना चाहते हैं।
WordPress या स्टैटिक ब्लॉग
python crawl.py run https://example.com \
--limit 500 \
--format markdown \
--no-render \
--source sitemaps \
-o results.json
Shopify के समान सेटिंग्स। WordPress साइट्स सर्वर-रेंडर्ड हैं और उनके पास विश्वसनीय साइटमैप हैं। स्टैटिक साइट जनरेटर (Hugo, Jekyll, Eleventy, Astro) प्री-बिल्ट HTML उत्पन्न करते हैं, इसलिए render-false सब कुछ कैप्चर करता है।
React या 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 डिफ़ॉल्ट है, इसलिए किसी फ़्लैग की आवश्यकता नहीं है। महत्वपूर्ण अतिरिक्त --block-resources और --wait-until domcontentloaded हैं। इनके बिना, क्रॉल धीमा और महँगा होगा।
यदि SPA के पास साइटमैप नहीं है, तो --source links पर स्विच करें।
डॉक्यूमेंटेशन साइट
python crawl.py run https://docs.example.com \
--limit 500 \
--format markdown \
--no-render \
--depth 5 \
--exclude-patterns "*/changelog/**" "*/archive/**" \
-o docs.json
डॉक्यूमेंटेशन साइट्स में अक्सर गहरे लिंक ढाँचे होते हैं। नेस्टेड पेज पदानुक्रमों को फ़ॉलो करने के लिए --depth बढ़ाएँ। चेंजलॉग पेज, आर्काइव किए गए संस्करणों, या अन्य अनावश्यक कंटेंट को छोड़ने के लिए --exclude-patterns का उपयोग करें।
परफॉर्मेंस बेंचमार्क
ये नंबर मार्च 2026 में Shopify और ई-कॉमर्स स्टोर में वास्तविक क्रॉल से आए हैं। साइट के नाम गोपनीय रखे गए हैं।
| साइट | पेज | मोड | कंटेंट साइज़ | ब्राउज़र समय | कुल समय |
|---|---|---|---|---|---|
| सप्लीमेंट स्टोर (बॉट-प्रोटेक्टेड) | 89/100 | no-render | 5.9 MB | 0s | ~3.5 मिनट |
| अपैरल ब्रांड (बड़ा कैटलॉग) | 500/500 | no-render | 77.1 MB | 0s | ~18 मिनट |
| अपैरल ब्रांड (बड़ा कैटलॉग) | 4/5 | render-true | 0.6 MB | 0.9s | ~10s |
| DTC आउटडोर ब्रांड | 256/266 | no-render | 11.0 MB | 0s | ~5 मिनट |
| DTC आउटडोर ब्रांड | 256/266 | render-true | 12.5 MB | 1,338s | ~25 मिनट |
| मेडिकल अपैरल स्टोर | 1,200 | no-render | बड़ा | 0s | ~55 मिनट |
डेटा से प्रमुख पैटर्न:
- No-render एक ही साइट के लिए render-true से 5 से 10 गुना तेज़ है
- No-render शून्य ब्राउज़र समय खर्च करता है (बीटा के दौरान मुफ़्त)
- No-render क्रॉल के लिए वॉल-क्लॉक समय पेज काउंट के साथ रैखिक रूप से बढ़ता है
robots.txtcrawl-delay निर्देशों वाली साइट्स सेटिंग्स की परवाह किए बिना धीमी होंगी, क्योंकि क्रॉलर उनका सम्मान करता है
लागत अनुकूलन
Workers Paid प्लान $5/माह है। इसके अलावा, लागत render-true क्रॉल द्वारा खर्च किए गए ब्राउज़र घंटों से आती है।
मुफ़्त टियर: 10 ब्राउज़र घंटे/माह। रिसोर्स ब्लॉकिंग के साथ 500-पेज render-true क्रॉल लगभग 15-20 मिनट ब्राउज़र समय का उपयोग करता है। आप मुफ़्त टियर के भीतर प्रति माह 30+ अनुकूलित क्रॉल चला सकते हैं।
रिसोर्स ब्लॉकिंग के बिना: वही 500-पेज क्रॉल 60+ मिनट ब्राउज़र समय का उपयोग कर सकता है, जिससे आपकी मुफ़्त क्षमता लगभग 10 क्रॉल प्रति माह तक सीमित हो जाती है।
No-render क्रॉल मुफ़्त हैं बीटा अवधि के दौरान। सर्वर-रेंडर्ड साइट्स के लिए, render-true का उपयोग करने का कोई कारण नहीं है।
लागत फ़ॉर्मूला
Browser cost = (pages x seconds_per_page) / 3600 x $0.09
प्रति पेज 2 सेकंड पर (अनुकूलित render-true): 500 पेज = 0.28 घंटे = $0.025
प्रति पेज 7 सेकंड पर (अनऑप्टिमाइज़्ड): 500 पेज = 0.97 घंटे = $0.087
प्रति क्रॉल अंतर छोटा है लेकिन कई साइट्स पर दैनिक या साप्ताहिक क्रॉल चलाने पर बढ़ता जाता है।
जानने योग्य सीमाएँ
| रिसोर्स | सीमा |
|---|---|
| प्रति क्रॉल पेज | 100,000 |
| प्रति दिन क्रॉल जॉब | असीमित (Workers Paid) |
| ब्राउज़र घंटे | 10 घंटे/माह मुफ़्त, फिर $0.09/घंटा |
| API अनुरोध | 600/मिनट |
| समवर्ती ब्राउज़र | 30 प्रति अकाउंट |
| जॉब लाइफ़टाइम | अधिकतम 7 दिन, परिणाम 14 दिन उपलब्ध |
सामान्य समस्याएँ और समाधान
अधिकांश पेजों पर 403 त्रुटियाँ: साइट में बॉट सुरक्षा है (Cloudflare Bot Management, Akamai, Datadome)। /crawl एंडपॉइंट के माध्यम से इसे बायपास नहीं किया जा सकता। क्रॉल पूरा होगा लेकिन अधिकांश पेज त्रुटियाँ लौटाएँगे।
Render-true क्रॉल अंत के पास रुक जाता है: एक या अधिक पेजों में धीमे-लोड होने वाले रिसोर्स ब्राउज़र को ब्लॉक कर रहे हैं। --block-resources image media font stylesheet और --wait-until domcontentloaded जोड़ें।
No-render मोड में कंटेंट गायब: साइट JavaScript के माध्यम से कंटेंट लोड करती है। रिसोर्स ब्लॉकिंग और वेट ऑप्टिमाइज़ेशन के साथ render-true पर स्विच करें।
स्क्रिप्ट क्रॉल के बीच में क्रैश हो जाती है: क्रॉल जॉब Cloudflare के सर्वर पर चलती रहती है। स्थिति जाँचें और पूरा होने पर परिणाम प्राप्त करें:
python crawl.py status <job_id>
python crawl.py results <job_id> -o out.json
Sitemaps सोर्स से खाली परिणाम: साइट का साइटमैप गायब या ब्लॉक हो सकता है। --source links या --source all पर स्विच करें।
ज्ञात सीमाएँ
/crawl एंडपॉइंट के आसपास वर्कफ़्लो बनाने से पहले, इन प्रतिबंधों से अवगत रहें:
- टूटा हुआ रिलेटिव URL रिज़ॉल्यूशन: Cloudflare का मार्कडाउन कनवर्टर
//www.example.com/pathजैसे रिलेटिव URLs को पेज URL प्रीपेंड करके गलत तरीके से रिज़ॉल्व करता है। यह आउटपुट में विकृत पाथ बनाता है, विशेषकर Shopify साइट्स पर। - हर पेज में बॉयलरप्लेट कंटेंट: नेव मेन्यू, मेगा मेन्यू, और फ़ुटर हर पेज के मार्कडाउन में दिखाई देते हैं। एक सामान्य Shopify साइट के लिए, प्रति पेज लगभग 90% कंटेंट दोहराया गया टेम्पलेट कंटेंट है। हमारा वास्तविक Shopify क्रॉल में बॉयलरप्लेट अनुपात का विश्लेषण देखें।
- कोई स्ट्रक्चर्ड डेटा निष्कर्षण नहीं: JSON-LD, schema.org, और OpenGraph डेटा no-render मोड में पार्स नहीं होते। Render-true मेटाडेटा में बेसिक OG टैग कैप्चर करता है लेकिन पूर्ण स्कीमा नहीं।
- कोई 404 डिटेक्शन नहीं: क्रॉल केवल लाइव URLs को प्रोसेस करता है। डेड लिंक्स और टूटे आंतरिक लिंक्स रिपोर्ट नहीं किए जाते।
- एकल शुरुआती URL: API एक URL स्वीकार करता है और बाहर की ओर स्पाइडर करता है। यह URL सूची स्वीकार नहीं करता। बैच URL फ़ेचिंग के लिए, इसके बजाय
/markdownया/scrapeएंडपॉइंट का उपयोग करें।
अक्सर पूछे जाने वाले प्रश्न
क्या मुझे Cloudflare /crawl के साथ render true या render false का उपयोग करना चाहिए?
Shopify, WordPress, और स्टैटिक साइट्स जैसी सर्वर-रेंडर्ड साइट्स के लिए render false (--no-render) का उपयोग करें। render true का उपयोग केवल React, Vue, या Angular से बनी सिंगल-पेज ऐप्स के लिए करें जहाँ कंटेंट JavaScript के माध्यम से लोड होता है। परीक्षण में, Shopify साइट्स ने दोनों मोड में लगभग 90% समान कंटेंट दिया।
Cloudflare Browser Rendering /crawl की लागत कितनी है?
Workers Paid प्लान की लागत $5/माह है। Render-false क्रॉल शून्य ब्राउज़र समय खर्च करते हैं और बीटा के दौरान मुफ़्त हैं। Render-true क्रॉल ब्राउज़र घंटों का उपयोग करते हैं: 10 घंटे/माह मुफ़्त हैं, फिर $0.09/घंटा। Render-true क्रॉल के दौरान इमेज, फ़ॉन्ट, और स्टाइलशीट को ब्लॉक करने से ब्राउज़र समय काफ़ी कम हो जाता है।
Cloudflare /crawl के लिए सबसे अच्छा URL डिस्कवरी सोर्स क्या है?
Shopify और WordPress जैसी पूर्ण साइटमैप वाली साइट्स के लिए --source sitemaps का उपयोग करें। यह अनुमानित, पूर्ण कवरेज देता है। जब साइटमैप अधूरा हो या आप सर्च इंजन की तरह पेज खोजना चाहते हों तो --source links या all का उपयोग करें।
मेरा Cloudflare render-true क्रॉल अंतिम पेजों पर क्यों रुक जाता है?
बड़ी इमेज या थर्ड-पार्टी स्क्रिप्ट जैसे धीमे-लोड होने वाले रिसोर्स वाले पेज हेडलेस ब्राउज़र को 60+ सेकंड तक ब्लॉक कर सकते हैं। इसे ठीक करने के लिए अपने क्रॉल कमांड में --block-resources image media font stylesheet और --wait-until domcontentloaded जोड़ें।