डायनामिक रेंडरिंग के साथ शुरू करना

फ़िलहाल, JavaScript को प्रोसेस करना मुश्किल है और सभी सर्च इंजन क्रॉलर इसे पूरी तरह से या तुरंत प्रोसेस नहीं कर पा रहे हैं. हमें उम्मीद है कि आने वाले समय में इस समस्या को ठीक किया जा सकता है, लेकिन हमारा सुझाव है कि तब तक इस समस्या को हल करने के लिए डायनामिक रेंडरिंग को एक विकल्प के तौर पर इस्तेमाल किया जा सकता है. डायनामिक रेंडरिंग का मतलब उपयोगकर्ता-एजेंट के हिसाब से क्लाइंट-साइड पर रेंडर की गई और पहले से रेंडर की गई सामग्री के बीच स्विच करना है.

साइटें जिन्हें डायनामिक रेंडरिंग का इस्तेमाल करना चाहिए

डायनामिक रेंडरिंग इंडेक्स करने लायक, सार्वजनिक JavaScript के ज़रिए तैयार की गई ऐसी सामग्री के लिए बेहतर है, जो तेजी से बदलती है. यह आपकी ज़रूरत की ऐसी सामग्री के लिए भी अच्छी है, जो उन JavaScript सुविधाओं, जिनके साथ क्रॉलर काम नहीं करता का इस्तेमाल करती है. हर साइट को डायनामिक रेंडरिंग का इस्तेमाल करने की ज़रूरत नहीं होती और ध्यान देने वाली बात यह है कि डायनामिक रेंडरिंग क्रॉलर के लिए समस्या ठीक करने वाले एक विकल्प के तौर पर काम करती है.

समझना कि डायनामिक रेंडरिंग कैसे काम करती है

डायनामिक रेंडरिंग के लिए आपके वेब सर्वर को क्रॉलर का पता लगाने की ज़रूरत होती है (उदाहरण के लिए, उपयोगकर्ता एजेंट की जांच करके). क्रॉलर की ओर से किए गए अनुरोध को रेंडर करने वाले को भेजा जाता है और उपयोगकर्ता जो अनुरोध करते हैं, उन्हें सामान्य तरह से पेश किया जाता है. जहां ज़रूरत होती है, डायनामिक रेंडरिंग करने वाला सामग्री के उस को वर्शन को पेश करता है, जो क्रॉलर के हिसाब से सही होता है. उदाहरण के लिए, यह एक स्टैटिक HTML वर्शन को पेश कर सकता है. आप डायनामिक रेंडरर को सभी पेज के लिए या फिर हर पेज के हिसाब से चालू कर सकते हैं.

एक इमेज जो दिखाती है कि डायनामिक रेंडरिंग कैसे काम करती है. इमेज में सर्वर को शुरुआती HTML और JavaScript की सामग्री को सीधे ब्राउज़र में वेब पेज पर खोलते हुए दिखाया गया है.इससे उलट, इमेज में सर्वर को शुरूआती HTML और JavaScript की सामग्री को एक रेंडरर में पेश करते हुए दिखाया गया है, जो शुरूआती HTML और JavaScript को स्टैटिक HTML में बदलता है. सामग्री में बदलाव होने के बाद रेंडरर स्टैटिक HTML को क्रॉलर में भेजता है.

डायनामिक रेंडरिंग लागू करना

अपनी सामग्री के लिए डायनामिक रेंडरिंग को चालू करने के लिए हमारे सामान्य दिशा-निर्देशों का पालन करें. आपको कॉन्फ़िगर करने से जुड़ी अपनी खास जानकारी देनी होगी, क्योंकि डायनामिक रेंडरिंग लागू करने के दौरान उनमें काफ़ी बदलाव होता है.

  1. डायनामिक रेंडरर को इंस्टॉल और कॉन्फ़िगर करें, ताकि आपकी सामग्री को ऐसे स्टैटिक HTML में बदला जा सके जो क्रॉलर के इस्तेमाल करने के लिए आसान हो. आम तौर पर इस्तेमाल होने वाले कुछ डायनामिक रेंडरर हैं Puppeteer, Rendertron, और prerender.io.
  2. ऐसे उपयोगकर्ता एजेंट चुनें, जिनको आपके हिसाब से आपका स्टैटिक HTML मिलना चाहिए. साथ ही, उपयोगकर्ता एजेंट को अपडेट करने या जोड़ने के बारे में कॉन्फ़िगर करने से जुड़ी अपनी खास जानकारी देखें. रेंडरट्रॉन मिडलवेयर में सामान्य उपयोगकर्ता एजेंट की सूची का एक उदाहरण यहां दिया गया है:
    export const botUserAgents = [
      'googlebot',
      'google-structured-data-testing-tool',
      'bingbot',
      'linkedinbot',
      'mediapartners-google',
    ];
  3. अगर प्री-रेन्डरिंग आपके सर्वर को धीमा कर देती है या आपको काफ़ी ज़्यादा प्री-रेंडरिंग अनुरोध दिखाई देते हैं, तो आप प्री-रेन्डरिंग सामग्री के लिए कैश लागू कर सकते हैं या इस बात की पुष्टि कर सकते हैं कि अनुरोध वैध क्रॉलर से हैं.
  4. तय करें कि उपयोगकर्ता एजेंट को डेस्कटॉप या मोबाइल सामग्री की ज़रूरत है या नहीं. सही डेस्कटॉप या मोबाइल वर्शन उपलब्ध कराने के लिए डायनामिक तरीके से दिखाने कि सुविधा का इस्तेमाल करें. यहां एक उदाहरण दिया गया है कि कैसे कॉन्फ़िगरेशन से यह तय हो सकता है कि उपयोगकर्ता एजेंट को डेस्कटॉप या मोबाइल सामग्री की ज़रूरत है या नहीं.
    isPrerenderedUA = userAgent.matches(botUserAgents)
    isMobileUA = userAgent.matches(['mobile', 'android'])
    
    if (!isPrerenderedUA) { // serve regular, client-side rendered content } else { // serve the mobile version if needed servePreRendered(isMobileUA) }
  5. आपके चुने गए क्रॉलर को स्टैटिक HTML देने के लिए अपने सर्वर को कॉन्फ़िगर करें. अपनी तकनीक के हिसाब से आप कई तरीकों से ऐसा कर सकते हैं; कुछ उदाहरण नीचे दिए गए हैं:
    • क्रॉलर से डायनामिक रेंडरर को मिल रहे प्रॉक्सी अनुरोध के ज़रिए.
    • अपनी डिप्लॉयमेंट की प्रोसेस के तहत पहले से रेंडर करके और अपने सर्वर से स्टैटिक HTML क्रॉलर को भेजकर.
    • अपने कस्टम सर्वर कोड में डायनामिक रेंडरिंग बनाकर.
    • क्रॉलर को पहले से रेंडर करने की सेवा के ज़रिए स्टैटिक सामग्री भेजकर.
    • अपने सर्वर के लिए एक मिडलवेयर का इस्तेमाल करके (जैसे, रेंडरट्रॉन मिडलवेयर).

अपने कॉन्फ़िगरेशन की पुष्टि करना

डायनामिक रेंडरिंग लागू करने के बाद, इस बात की पुष्टि करें कि सब कुछ आपकी उम्मीद के मुताबिक काम कर रहा है. इसके लिए आप नीचे दिए गए टेस्ट की मदद से यूआरएल की जाँच कर सकते हैं.

  1. मोबाइल फ़्रेंडली टेस्ट की मदद से अपनी मोबाइल सामग्री की जाँच करें, ताकि यह पक्का हो सके कि Google आपकी सामग्री देख सकता है.

    हो गया पूरा हुआ : आपके मोबाइल की सामग्री वैसी ही दिखाई दे रही है जैसी आप उपयोगकर्ता को दिखाना चाह रहे थे.

    गड़बड़ी फिर से कोशिश करें : अगर आपको जो सामग्री दिख रही है वो आपकी उम्मीद के मुताबिक नहीं है, तो समस्या का हल वाले भाग को देखें.

  2. Google के रूप में प्राप्त करें की मदद से अपनी डेस्कटॉप सामग्री की जाँच करें, ताकि यह पक्का हो सके कि डेस्कटॉप सामग्री रेंडर किए गए पेज पर भी दिखाई दे रही है (Googlebot पर आपकी सामग्री रेंडर किए गए पेज के तौर पर ही दिखाई देती है).

    हो गया पूरा हुआ : डेस्कटॉप सामग्री वैसी ही दिखाई दे रही है जैसी आप उपयोगकर्ता को दिखाना चाह रहे थे.

    गड़बड़ी फिर से कोशिश करें : अगर आपको जो सामग्री दिख रही है, वो आपकी उम्मीद के मुताबिक नहीं है तो, समस्या का हल वाले भाग को देखें.

  3. अगर आप व्यवस्थित डेटा का इस्तेमाल करते हैं, तो व्यवस्थित डेटा टेस्टिंग टूल की मदद से टेस्ट कर लें कि आपका व्यवस्थित डेटा ठीक से रेंडर हो रहा है.

    हो गया पूरा हुआ : व्यवस्थित डेटा आपकी उम्मीद के मुताबिक दिखाई देता है.

    गड़बड़ी फिर से कोशिश करें : अगर आपकी उम्मीद के मुताबिक व्यवस्थित डेटा दिखाई नहीं देता, तो समस्या का हल वाले भाग को देखें.

समस्या का हल करना

अगर आपकी सामग्री मोबाइल के मुताबिक बने टेस्ट में गड़बड़ियां दिखा रही है या अगर यह 'Google सर्च' के नतीजों में नहीं दिखाई दे रही है, तो नीचे दी गई सूची में बताई गई सबसे आम समस्याओं को हल करने की कोशिश करें. अगर आपको अभी भी समस्या हो रही है, तो वेबमास्टर फ़ोरम में एक नया विषय पोस्ट करें.

सामग्री पूरी नहीं है या अलग दिख रही है

गड़बड़ी समस्या किस वजह से हुई : हो सकता है कि आपका रेंडरर सही तरीके से कॉन्फ़िगर न हुआ हो या हो सकता है कि आपका वेब ऐप्लिकेशन आपके रेंडरिंग सॉल्यूशन के साथ काम न करता हो. कभी-कभी समय खत्म हो जाने की वजह से भी सामग्री सही तरह से रेंडर नहीं हो पाती.

हो गया समस्या को हल करें : अपने डायनामिक रेंडरिंग सेटअप को डीबग करने के लिए अपने खास रेंडरिंग सॉल्यूशन के दस्तावेज़ देखें.

जवाब देने में ज़्यादा समय लगना

गड़बड़ी समस्या किस वजह से हुई : मांग के आधार पर पेज को रेंडर करने के लिए हेडलेस ब्राउज़र का इस्तेमाल करने पर अक्सर जवाब देने का समय बढ़ जाता है. इस वजह से क्रॉलर अनुरोध को रद्द कर सकते हैं, जिससे आपकी सामग्री इंडेक्स नहीं हो पाएगी. जवाब देने में लगने वाले ज़्यादा समय की वजह से आपकी सामग्री को क्रॉल और इंडेक्स करते समय क्रॉलर, अपना क्रॉल रेट कम कर सकते हैं.

हो गया समस्या को हल करें

  1. पहले से रेंडर किए गए HTML के लिए कैश सेट करें या अपने बिल्ड प्रोसेस के तहत अपनी सामग्री का स्टैटिक वर्शन बनाएं.
  2. पक्का करें कि आपके कॉन्फ़िगरेशन में कैश चालू हो (उदाहरण के लिए, क्रॉलर को आपके कैश की ओर भेजकर)
  3. जाँच लें कि क्रॉलर मोबाइल के मुताबिक बने टेस्ट या वेब पेज टेस्ट जैसे टेस्टिंग टूल का इस्तेमाल करके आपकी सामग्री जल्दी से ले पाएं (Google क्रॉलर उपयोगकर्ता एजेंट की सूची में शामिल कस्टम उपयोगकर्ता एजेंट स्ट्रिंग की मदद से). आपके अनुरोधों का समय खत्म नहीं होना चाहिए.

व्यवस्थित डेटा नहीं मिल रहा

गड़बड़ी समस्या क्यों हुई : व्यवस्थित डेटा उपयोगकर्ता एजेंट का न होना या आउटपुट में JSON-LD स्क्रिप्ट टैग को शामिल न करना, व्यवस्थित डेटा से जुड़ी गड़बड़ी की वजह हो सकती हैं.

हो गया समस्या को हल करें

  1. यह पक्का करने के लिए कि व्यवस्थित डेटा पेज पर मौजूद है, व्यवस्थित डेटा टेस्टिंग टूल का इस्तेमाल करें. फिर पहले से रेंडर की गई सामग्री का टेस्ट करने के लिए व्यवस्थित डेटा टेस्टिंग टूल के लिए उपयोगकर्ता एजेंट को कॉन्फ़िगर करें.
  2. पक्का करें कि आपकी सामग्री के डायनामिक तरीके से रेंडर किए गए HTML में JSON-LD स्क्रिप्ट टैग शामिल हैं. ज़्यादा जानकारी के लिए अपने रेंडरिंग करने से जुड़े दस्तावेज़ को देखें.

निम्न के बारे में फ़ीडबैक भेजें...