डायनैमिक सर्विंग (उपयोगकर्ता के डिवाइस के हिसाब से पेज दिखाना)

डायनैमिक तरीके से दिखाने की सुविधा एक ऐसा सेट अप है, जिसमें उपयोगकर्ता-एजेंट के अनुरोध के हिसाब से, सर्वर एक ही यूआरएल पर अलग-अलग एचटीएमएल (और सीएसएस) का इस्तेमाल करके पेज लोड करता है.

इस सेट अप में यह तुरंत पता नहीं चलता कि साइट, मोबाइल उपयोगकर्ता एजेंट के लिए एचटीएमएल में बदलाव करती है (डेस्कटॉप उपयोगकर्ता एजेंट से क्रॉल करते समय मोबाइल सामग्री "छिप" जाती है). इसलिए, हम सुझाव देते हैं कि सर्वर यह अनुरोध करने का एक संकेत भेजे कि स्मार्टफ़ोन के लिए Googlebot भी पेज को क्रॉल करे. इससे मोबाइल सामग्री का पता लग जाएगा. यह संकेत Vary HTTP हेडर का इस्तेमाल करके भेजा जाता है.

डायनामिक सर्विंग सुविधा हर डिवाइस के लिए अलग-अलग कोड का इस्तेमाल करती है, लेकिन यूआरएल वही रहता है.

कम शब्दों में कहा जाए तो…

  • उपयोगकर्ता-एजेंट के आधार पर अपने बदलावों का संकेत देने के लिए 'Vary HTTP हेडर' का इस्तेमाल करें.
  • उपयोगकर्ता-एजेंट स्ट्रिंग की ठीक से पहचान करें.

Vary HTTP हेडर

'Vary HTTP हेडर' से दो ज़रूरी और उपयोगी नतीजे निकाले जा सकते हैं:

  • यह इंटरनेट सेवा देने वाली कंपनियों (ISP) में और दूसरी जगह इस्तेमाल किए जाने वाले कैशिंग सर्वर को संकेत देता है. इस संकेत के ज़रिए बताया जाता है कि उन्हें उपयोगकर्ता एजेंट के हिसाब से यह तय करना चाहिए कि पेज को कैश का इस्तेमाल करके खोला जाए या नहीं. 'Vary HTTP हेडर' के बिना, कैश गलती से मोबाइल उपयोगकर्ताओं के लिए 'डेस्कटॉप एचटीएमएल पेज' के कैश का इस्तेमाल कर पेज खोल सकता है या डेस्कटॉप उपयोगकर्ताओं के लिए 'मोबाइल एचटीएमएल पेज' के कैश का इस्तेमाल कर पेज खोल सकता है.
  • इससे Googlebot को आपकी मोबाइल के मुताबिक बनाई गई सामग्री तेज़ी से खोजने में मदद मिलती है, क्योंकि मान्य Vary HTTP हेडर उन संकेतों में से एक होता है, जिन्हें हम मोबाइल के मुताबिक बनाई गई सामग्री दिखाने वाले यूआरएल को क्रॉल करने के लिए इस्तेमाल कर सकते हैं.

जब सर्वर को कोई पेज लोड करने का अनुरोध मिलता है, तो सर्वर की ओर से ब्राउज़र को भेजे जाने वाले जवाब में Vary HTTP हेडर भी शामिल होता है. जैसे:

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

Vary हेडर ब्राउज़र को बताता है कि पेज के लिए अनुरोध करने वाले उपयोगकर्ता एजेंट के आधार पर, लोड होने वाले पेज की सामग्री अलग-अलग होगी. अगर आपके सर्वर में पहले से ही Vary HTTP हेडर का इस्तेमाल हो रहा है, तो आप पहले से इस्तेमाल हो रही सूची में User-Agent जोड़ सकते हैं.

उपयोगकर्ता-एजेंट की सही तरीके से पहचान करना

उपयोगकर्ता-एजेंट की पहचान करने (कभी-कभी इसे उपयोगकर्ता-एजेंट "स्निफ़िंग" भी कहा जाता है) में आम तौर पर गड़बड़ी होने की संभावना रहती है. इसकी कई वजहें हैं, लेकिन आम तौर पर तीन तरह की गड़बड़ियां होती हैं:

  1. उपयोगकर्ता-एजेंट की पहचान करने के लिए, उपयोगकर्ता-एजेंट स्ट्रिंग (या सबस्ट्रिंग) की एक सूची का इस्तेमाल कर मिलान किया जाता है. इन सूचियों का लगातार रखरखाव करना और उन्हें अपडेट करते रहना ज़रूरी होता है, नहीं तो इनके ज़रिए नए उपयोगकर्ता-एजेंट का मिलान नहीं हो पाएगा. असल में, ऐसी सूचियों का ठीक से रखरखाव नहीं किया जाता और वे पुरानी होती हैं, जिससे आपके उपयोगकर्ताओं का अनुभव खराब होता है.
  2. उपयोगकर्ता-एजेंट का मिलान करते समय, गलत मिलान होना बहुत आम बात है, जिसमें किसी डेस्कटॉप उपयोगकर्ता-एजेंट को मोबाइल उपयोगकर्ता-एजेंट या मोबाइल उपयोगकर्ता-एजेंट को डेस्कटॉप उपयोगकर्ता-एजेंट समझ लिया जाता है. इसी तरह से, साइटों के साथ होने वाली एक आम गलती यह है कि वे अनजाने में टैबलेट डिवाइस को स्मार्टफ़ोन मान लेती हैं. अगर आप अपनी साइट को एक्सेस करने वाले ब्राउज़र के उपयोगकर्ता-एजेंट की पहचान कर रहे हैं, तो पुष्टि करें कि पहचान करने के लिए सामान्य मोबाइल स्ट्रिंग (जैसे कि, केवल “Android” शब्द की जाँच करना) के बजाय खास तौर पर स्मार्टफ़ोन से जुड़े स्ट्रिंग (जैसे कि, “Android” और “मोबाइल”, दोनों शब्दों की जाँच करना) का इस्तेमाल किया जा रहा हो. हमारे ब्लॉग पोस्ट में ज़्यादा जानें.

  3. उपयोगकर्ता-एजेंट की पहचान करते समय क्लोकिंग के बारे में होशियार रहें. उपयोगकर्ता-एजेंट की पहचान करते समय, साइट को उपयोगकर्ता-एजेंट स्ट्रिंग में डिवाइस का नाम ढूंढकर उसकी श्रेणी या प्रकार की पहचान करनी चाहिए; इसे खास तौर पर Googlebot को नहीं ढूंढना चाहिए. सभी Googlebot उपयोगकर्ता एजेंट को खास मोबाइल डिवाइस के रूप में पहचाना जाता है. आपको हर डिवाइस के Googlebot उपयोगकर्ता एजेंट को ठीक वैसा ही रिस्पॉन्स देना चाहिए, जैसा आप इन डिवाइस को देते हैं.

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