क्या AI क्रॉलर JavaScript से रेंडर हुआ कंटेंट पढ़ सकते हैं?
अक्सर नहीं। Googlebot JavaScript को बाद के चरण में रेंडर करता है, पर ज़्यादातर AI क्रॉलर ऐसा करना दस्तावेज़ित नहीं करते, और Google खुद कहती है कि सभी बॉट JavaScript नहीं चला सकते। अगर आपका टेक्स्ट स्क्रिप्ट चलने के बाद ही दिखता है, तो AI क्रॉलर को खाली पेज मिल सकता है। मुख्य कंटेंट को सर्वर-साइड रेंडरिंग या स्टैटिक पेजों से शुरुआती HTML में परोसें।
सिंगल-पेज ऐप और क्लाइंट-साइड फ़्रेमवर्क हर जगह हैं, और ब्राउज़र में वे ठीक दिखते हैं। जो क्रॉलर सिर्फ़ वही HTML पढ़ता है जो आपका सर्वर भेजता है, उसे कुछ और दिखता है: एक <div id="root"></div>, कुछ स्क्रिप्ट टैग और बहुत कम या बिल्कुल नहीं टेक्स्ट। AI उत्तरों के लिए उस पेज में उद्धृत करने लायक कुछ नहीं है।
इस पेज पर
AI क्रॉलर JavaScript कंटेंट क्यों चूक जाते हैं?
JavaScript चलाना महंगा है। क्रॉलर को स्क्रिप्ट डाउनलोड करनी होती हैं, उन्हें ब्राउज़र इंजन में चलाना होता है और डेटा लोड होने का इंतज़ार करना होता है। Google Search के लिए यह करती है: वह क्रॉल करती है, पेजों को रेंडरिंग की कतार में रखती है, और संसाधन होने पर उन्हें headless Chromium से रेंडर करती है। फिर भी Google सर्वर-साइड रेंडरिंग या प्रीरेंडरिंग की सलाह देती है क्योंकि यह उपयोगकर्ताओं और क्रॉलर दोनों के लिए तेज़ है, और बताती है कि सभी बॉट JavaScript नहीं चला सकते।
OpenAI, Anthropic और Perplexity अपने क्रॉलर दस्तावेज़ों में नहीं कहतीं कि उनके एजेंट JavaScript चलाते हैं। Apple कहती है कि Applebot पेजों को ब्राउज़र में रेंडर कर सकता है। साफ़ बयान के बिना, AI क्रॉलर के बारे में सुरक्षित धारणा यही है कि वे सिर्फ़ शुरुआती HTML पढ़ते हैं।
मैं कैसे जांचूं कि क्रॉलर को क्या मिलता है?
रेंडर किए पेज को नहीं, कच्चे HTML को देखें। ब्राउज़र के डेवलपर टूल स्क्रिप्ट चलने के बाद का DOM दिखाते हैं, जो क्रॉलर को नहीं मिलता। view-source इस्तेमाल करें, या कमांड लाइन से कच्चा HTML सहेजकर उसमें खोजें:
curl -s -o page.html \
-A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
https://example.com/page
# Is a sentence from your main text in the raw HTML?
grep -c "a sentence from your main content" page.html
नतीजा 0 का मतलब है कि वह वाक्य सर्वर द्वारा भेजे HTML में नहीं है, इसलिए स्क्रिप्ट न चलाने वाले क्रॉलर उसे नहीं पाएंगे। फ़ाइल पर एक नज़र बाकी बता देती है: सर्वर-रेंडर लेख में उसका पूरा टेक्स्ट वहां होता है; क्लाइंट-साइड ढांचे में खाली रूट एलिमेंट और स्क्रिप्ट की सूची होती है।
कौन-से पेज सबसे ज़्यादा जोखिम में हैं?
- React, Vue, Angular या Svelte से बने सिंगल-पेज ऐप, जो सब कुछ ब्राउज़र में रेंडर करते हैं।
- वे पेज जो लोड होने के बाद API से अपना मुख्य टेक्स्ट लाते हैं, जैसे प्रोडक्ट विवरण, कीमतें या रिव्यू।
- टैब, अकॉर्डियन या «और लोड करें» सेक्शन के भीतर का कंटेंट, जो सिर्फ़ क्लिक पर मांगा जाता है।
- लॉगिन, पेवॉल या कंसेंट वॉल के पीछे के पेज, जिन्हें क्रॉलर पार नहीं कर सकता।
- वे पेज जो
noindexया canonical URL सिर्फ़ JavaScript से सेट करते हैं। Google चेतावनी देती है कि जब उसे मूल HTML मेंnoindexदिखता है तो वह रेंडरिंग पूरी तरह छोड़ सकती है।
सिर्फ़ JavaScript वाले कंटेंट को कैसे ठीक करूं?
इलाज यह है कि ज़रूरी कंटेंट पहले जवाब में भेजें। अपने स्टैक में जो सबसे हल्का विकल्प संभव हो, चुनें:
- सर्वर-साइड रेंडरिंग (SSR): Next.js, Nuxt, SvelteKit और Angular SSR जैसे फ़्रेमवर्क पेज को सर्वर पर रेंडर करके ब्राउज़र में hydrate करते हैं।
- स्टैटिक जनरेशन या प्रीरेंडरिंग: जो पेज कम बदलते हैं, जैसे लेख, डॉक्स और लैंडिंग पेज, उनका HTML डिप्लॉय के समय बनाएं।
- प्रोग्रेसिव एन्हांसमेंट: टेक्स्ट, हेडिंग, लिंक, कीमतें और JSON-LD को HTML में रखें और JavaScript सिर्फ़ इंटरैक्शन के लिए इस्तेमाल करें।
- जो मायने रखता है उसे इनलाइन रखें: अगर टैब कंटेंट छिपाते हैं, तो पूरा कंटेंट HTML में रखें और क्लिक पर फ़ेच करने की जगह CSS या स्क्रिप्ट से उसकी दृश्यता बदलें।
आपको पूरा ऐप एक साथ बदलने की ज़रूरत नहीं है। उन पेजों से शुरू करें जिनका हवाला आप चाहते हैं: लेख, डॉक्यूमेंटेशन, प्रोडक्ट और प्राइसिंग पेज। अकाउंट एरिया और डैशबोर्ड क्लाइंट-साइड रह सकते हैं, क्योंकि वे वैसे भी लॉगिन के पीछे हैं।
user agent के आधार पर क्रॉलर को उपयोगकर्ताओं से अलग पेज परोसने से बचें। सबके लिए एक ही HTML रेंडर करना संभालने में सरल है और cloaking को लेकर किसी भी संदेह से बचाता है।
क्या लॉगिन, कंसेंट और पेवॉल स्क्रीन भी AI क्रॉलर को रोकती हैं?
हां। क्रॉलर लॉग इन नहीं करता, कुकी बैनर पर क्लिक नहीं करता और चैलेंज हल नहीं करता। Anthropic कहती है कि उसके बॉट CAPTCHA बायपास करने की कोशिश नहीं करेंगे। अगर कंसेंट मैनेजर HTML में पेज की जगह फ़ुल-स्क्रीन ओवरले रख देता है, या पहली बार आने वालों को कंसेंट पेज पर रीडायरेक्ट करता है, तो क्रॉलर को आपके कंटेंट की जगह वही मिलता है।
पक्का करें कि सार्वजनिक पेज कंसेंट की स्थिति से स्वतंत्र रूप से अपना कंटेंट HTML में रेंडर करें, और बैनर पेज की जगह नहीं, उसके ऊपर ओवरले हो। जिन पेजों का हवाला आप चाहते हैं उन्हें लॉगिन वॉल से बाहर रखें, और देखें कि क्रॉलर साइन-इन पेज पर रीडायरेक्ट न हो रहा हो।
AISeeWhy सिर्फ़-JavaScript पेज कैसे पहचानता है?
AISeeWhy स्क्रिप्ट चलाए बिना, हर क्रॉलर को मिलने वाला शुरुआती HTML पढ़ता है। जब पेज में दिखने वाला टेक्स्ट लगभग न हो पर फ़्रेमवर्क का रूट एलिमेंट और स्क्रिप्ट हों, तो वह P1 निष्कर्ष देता है कि कंटेंट को JavaScript चाहिए। वह उन रीडायरेक्ट को भी चिह्नित करता है जो क्रॉलर को ब्राउज़र वाले पेज से कहीं और भेजते हैं।
अक्सर पूछे जाने वाले प्रश्न
क्या Googlebot JavaScript रेंडर करता है?
हां। Google HTML क्रॉल करती है, पेजों को रेंडरिंग की कतार में रखती है और संसाधन होने पर उन्हें headless Chromium से रेंडर करती है। Google फिर भी सर्वर-साइड रेंडरिंग या प्रीरेंडरिंग की सलाह देती है।
क्या ChatGPT, Claude और Perplexity के क्रॉलर JavaScript चलाते हैं?
उनके वेंडर के क्रॉलर दस्तावेज़ ऐसा नहीं कहते। जब तक कोई वेंडर कुछ और न कहे, मानें कि क्रॉलर शुरुआती HTML पढ़ता है और पक्का करें कि आपका कंटेंट उसमें हो।
क्या बॉट के लिए डायनामिक रेंडरिंग अच्छा विचार है?
यह अस्थायी उपाय के रूप में काम करता है, पर संभालने के लिए दूसरा रेंडरिंग पथ जोड़ देता है। सर्वर-साइड रेंडरिंग या स्टैटिक HTML सबको वही कंटेंट देते हैं और लंबे समय का सरल समाधान हैं।
क्या JavaScript से जोड़ा गया JSON-LD गिना जाता है?
Google उसे रेंडरिंग के बाद पढ़ सकती है, पर स्क्रिप्ट न चलाने वाले क्रॉलर उसे नहीं देखेंगे। JSON-LD को शुरुआती HTML में रखें।
स्रोत
- Google Search Central: JavaScript SEO की बुनियादी बातें
- Apple: Applebot के बारे में
- OpenAI: OpenAI क्रॉलरों का अवलोकन
- Anthropic: क्या Anthropic वेब से डेटा क्रॉल करती है, और साइट मालिक क्रॉलर को कैसे ब्लॉक कर सकते हैं?
- Perplexity: Perplexity क्रॉलर