साइटलिंक के लिए खोज बॉक्स (WebSite) का स्ट्रक्चर्ड डेटा

'साइटलिंक के लिए खोज बॉक्स' की मदद से, लोग आपकी साइट या ऐप्लिकेशन को खोज नतीजों वाले पेज पर जल्दी खोज सकते हैं. इस खोज बॉक्स में रीयल-टाइम सुझाव और अन्य सुविधाएं होती हैं.

जब Google Search पर आपकी वेबसाइट, खोज के नतीजे के तौर पर दिखती है, तब आपकी वेबसाइट के साथ अपने-आप एक खोज बॉक्स भी दिख सकता है. इसके लिए, आपको अलग से कुछ करने की ज़रूरत नहीं है. इस खोज बॉक्स को Google Search मैनेज करता है. हालांकि, WebSite स्ट्रक्चर्ड डेटा को जोड़कर, जानकारी साफ़ तौर पर दिखाई जा सकती है. इससे Google को आपकी साइट को अच्छे से समझने में भी मदद मिल सकती है.

अगर Google Search ने आपकी साइट के लिए, पहले ही 'साइटलिंक के लिए खोज बॉक्स' तैयार कर दिया है, तो WebSite स्ट्रक्चर्ड डेटा जोड़कर, 'साइटलिंक के लिए खोज बॉक्स' में दिखने वाले नतीजों को मैनेज किया जा सकता है.

'साइटलिंक के लिए खोज बॉक्स' को दिखाने का तरीका

अपनी साइट को खोज बॉक्स के साथ Google Search के नतीजों में दिखाने के लिए, यह तरीका अपनाएं:

  1. अपनी वेबसाइट या Android ऐप्लिकेशन पर काम करने वाला सर्च इंजन इंस्टॉल करें.

    Sitelinks की खोज क्वेरी, उपयोगकर्ता को आपकी साइट या ऐप्लिकेशन के खोज नतीजों वाले पेज पर भेज देती है. इसलिए, इस सुविधा को चालू करने के लिए आपको एक ऐसे सर्च इंजन की ज़रूरत होगी जो वेबसाइट या Android ऐप्लिकेशन के साथ काम करता हो.

    • वेबसाइटें: अपनी वेबसाइट के लिए एक सर्च इंजन सेट अप करें. यह सुविधा, उपयोगकर्ता की क्वेरी को टारगेट पेज तक पहुंचाती है. इसके लिए, आपके स्ट्रक्चर्ड डेटा में तय किए गए सिंटैक्स का इस्तेमाल किया जाता है. इसके लिए ज़रूरी है कि UTF-8 कोड में बदली गई क्वेरी, आपके सर्च इंजन पर काम करती हों.
    • ऐप्लिकेशन: अपने ऐप्लिकेशन पर, सर्च इंजन लागू करने का तरीका जानने के लिए, Android डेवलपर साइट पर Search की खास जानकारी देखें. आपका Android ऐप्लिकेशन, Search के नतीजों वाले ACTION_VIEW इंटेंट के साथ काम करना चाहिए. इसके लिए, अपने मार्कअप की potentialAction.target प्रॉपर्टी में मेल खाने वाला डेटा यूआरआई तय करें.
  2. अपनी साइट के लिए, होम पेज पर WebSite स्ट्रक्चर्ड डेटा एलिमेंट का इस्तेमाल करें. इस सुविधा को चालू करने के लिए, ऐप्लिकेशन से जुड़ी एक वेबसाइट होनी ज़रूरी है. वेबसाइट सिर्फ़ एक पेज की भी हो सकती है. इस बारे में कुछ और दिशा-निर्देश:
    • इस मार्कअप को सिर्फ़ होम पेज पर जोड़ें, किसी दूसरे पेज पर नहीं.
    • अगर आपने पहले से ही साइट के नाम की सुविधा के लिए, WebSite स्ट्रक्चर्ड डेटा लागू किया हुआ है, तो पक्का करें कि आपने साइट के नाम वाली प्रॉपर्टी उसी नोड में नेस्ट की हों. दूसरे शब्दों में, अगर हो सके, तो अपने होम पेज पर एक और WebSite स्ट्रक्चर्ड डेटा ब्लॉक बनाने से बचें.
    • वेबसाइट के लिए हमेशा एक SearchAction बनाना चाहिए. अगर वेबसाइट में, खोज ऐप्लिकेशन की सुविधा मिलती है, तो दूसरा विकल्प भी बनाया जा सकता है. अगर ऐप्लिकेशन, आपका पसंदीदा खोज ब्राउज़र है, तो भी आपके पास वेबसाइट के लिए एक SearchAction होना चाहिए. इससे यह पक्का होता है कि अगर उपयोगकर्ता, खोज के लिए Android फ़ोन का इस्तेमाल नहीं कर रहा है या उसने आपके Android ऐप्लिकेशन को इंस्टॉल नहीं किया है, तो भी खोज के नतीजे उसे आपकी वेबसाइट पर ले जाएं.
    • इस्तेमाल किए जाने वाले फ़ॉर्मैट के मुताबिक, यह जानें कि पेज पर स्ट्रक्चर्ड डेटा कहां डालना है.
  3. दिशा-निर्देशों का पालन करें.
  4. ज़्यादा बेहतर नतीजों (रिच रिज़ल्ट) की जांच का इस्तेमाल करके, अपने कोड की पुष्टि करें.
  5. अपने सर्च इंजन के इस्तेमाल की पुष्टि करें. इसके लिए, अपने स्ट्रक्चर्ड डेटा से WebSite.potentialAction.target यूआरएल को कॉपी करें और {search_term_string} को जांच क्वेरी से बदलें. इसके बाद, उस यूआरएल को वेब ब्राउज़र पर खोलें. उदाहरण के लिए, अगर आपकी वेबसाइट example.com है और "kittens" क्वेरी को आज़माकर देखना है, तो आपको https://www.example.com/search/?q=kittens ब्राउज़ करना होगा.
  6. rel="canonical" लिंक एलिमेंट का इस्तेमाल करके अपने डोमेन के होम पेज के सभी वैरिएंट पर, पसंदीदा कैननिकल यूआरएल सेट करें. यह आपके मार्कअप के लिए, सही यूआरएल चुनने में Google Search की मदद करता है. आपके सर्वर पर UTF-8 की कैरेक्टर एन्कोडिंग काम करनी चाहिए.
  7. ऐप्लिकेशन के लिए वही इंटेंट फ़िल्टर लगाएं जिससे आपके मार्कअप के ऐप्लिकेशन टारगेट में दिया हुआ यूआरएल सही तरह से काम कर सके. Google Search यूआरएल के लिए इंटेंट फ़िल्टर कैसे बनाना है, यह जानने के लिए Android के लिए Firebase ऐप्लिकेशन सूची देखें.
  8. स्ट्रक्चर्ड डेटा वाले कुछ पेजों को डिप्लॉय करें. इसके बाद, यूआरएल जांचने वाला टूल इस्तेमाल करके देखें कि Google को पेज कैसा दिखेगा. पक्का करें कि Google आपका पेज ऐक्सेस कर सकता हो. साथ ही, देखें कि उस पेज को robots.txt फ़ाइल और noindex टैग से ब्लॉक न किया गया हो या लॉग इन करना ज़रूरी न हो. अगर पेज ठीक लगता है, तो Google को अपने यूआरएल फिर से क्रॉल करने के लिए कहा जा सकता है.
  9. Google को आगे होने वाले बदलावों की जानकारी देने के लिए, हमारा सुझाव है कि आप साइटमैप सबमिट करें. Search Console साइटमैप एपीआई की मदद से, इसे ऑटोमेट भी किया जा सकता है.

उदाहरण

यहां Google पर "Pinterest" के लिए खोज के नतीजे का एक उदाहरण दिया गया है, जिससे Pinterest की वेबसाइट के लिए, 'साइटलिंक का खोज बॉक्स' दिखता है:

'साइटलिंक के लिए खोज बॉक्स' इस्तेमाल में है

यहां कुछ ऐसे मार्कअप के उदाहरण दिए गए हैं जिनकी मदद से, 'साइटलिंक के लिए खोज बॉक्स' जोड़ा जाएगा, जो वेबसाइट के मुताबिक सर्च इंजन का इस्तेमाल करता है:

JSON-LD

यहां JSON-LD में एक उदाहरण दिया गया है:


<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
माइक्रोडेटा

यहां माइक्रोडेटा में एक उदाहरण दिया गया है:


<div itemscope itemtype="https://schema.org/WebSite">
  <meta itemprop="url" content="https://www.example.com/"/>
  <form itemprop="potentialAction" itemscope itemtype="https://schema.org/SearchAction">
    <meta itemprop="target" content="https://query.example.com/search?q={search_term_string}"/>
    <input itemprop="query-input" type="text" name="search_term_string" required/>
    <input type="submit"/>
  </form>
</div>
  

यहां JSON-LD में साइट और ऐप्लिकेशन का उदाहरण दिया गया है:

<html>
  <head>
    <title>The title of the page</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "WebSite",
      "url": "https://www.example.com/",
      "potentialAction": [{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://query.example.com/search?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      },{
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
        },
        "query-input": "required name=search_term_string"
      }]
    }
    </script>
  </head>
  <body>
  </body>
</html>

दिशा-निर्देश

अपनी साइट को रिच रिज़ल्ट के तौर पर दिखाने के लिए, आपको इन दिशा-निर्देशों का पालन करना होगा.

Google Search आपकी साइट पर 'साइटलिंक के लिए खोज बॉक्स' जोड़ सकता है, फिर चाहे यहां बताया गया स्ट्रक्चर्ड डेटा उसमें शामिल हो या न हो. हालांकि, इसे रोकने के लिए यहां दिए गए meta टैग को अपने होम पेज पर जोड़ा जा सकता है:

<meta name="google" content="nositelinkssearchbox">

अलग-अलग तरह के स्ट्रक्चर्ड डेटा की जानकारी

अपने कॉन्टेंट को 'साइटलिंक के लिए खोज बॉक्स' के साथ दिखाने के लिए, ज़रूरी प्रॉपर्टी को शामिल करें.

बदला गया WebSite किस तरह का है

Google Search, वेबसाइट और ऐप्लिकेशन दोनों के खोज बॉक्स के लिए, बदले गए WebSite स्ट्रक्चर्ड डेटा का इस्तेमाल करता है. WebSite की पूरी जानकारी, schema.org पर दी गई है. हालांकि, Google Search पूरी तरह से मानकों का पालन नहीं करता है. Google पर काम करने वाली प्रॉपर्टी ये हैं:

ज़रूरी प्रॉपर्टी
potentialAction

एक या दो SearchAction ऑब्जेक्ट की कैटगरी

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

डेस्कटॉप खोज केस चालू करने के लिए, आपको एक वेबसाइट SearchAction बनाना चाहिए. अगर ऐप्लिकेशन में खोजने की सुविधा भी मौजूद है, तो आपके ऐप्लिकेशन के लिए अलग से एक SearchAction ऑब्जेक्ट दिया जा सकता है. हर SearchAction ऑब्जेक्ट में, नेस्ट की गई ये प्रॉपर्टी शामिल होनी चाहिए:

वेबसाइट का उदाहरण

नीचे दिया गया उदाहरण https://query.example.com/search?q=user%20search%20string को एक जीईटी अनुरोध भेजता है.

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]

ऐप्लिकेशन का उदाहरण

नीचे दिया गया उदाहरण android-app://com.example/https/query.example.com/search/?q=user_search_string को एक Android इंटेंट भेजता है.

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "android-app://com.example/https/query.example.com/search/?q={search_term_string}"
  }
  "query-input": "required name=search_term_string"
}]
potentialAction.query-input

Text

लिटरल स्ट्रिंग required name = search-term का इस्तेमाल करें. target में इस्तेमाल किए गए प्लेसहोल्डर का भी इस्तेमाल किया जा सकता है. यह पक्का करें कि दोनों प्लेसहोल्डर वैल्यू, एक-दूसरे से मेल खाती हों. उदाहरण के लिए, target और query-input प्रॉपर्टी में दोनों प्लेसहोल्डर वैल्यू, search-term स्ट्रिंग का इस्तेमाल करती हैं:

"potentialAction": [{
  "@type": "SearchAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://query.example.com/search?q={search-term}"
  }
  "query-input": "required name=search-term"
}]
potentialAction.target

EntryPoint

urlTemplate प्रॉपर्टी वाला एक EntryPoint ऑब्जेक्ट.

urlTemplate एक ऐसी स्ट्रिंग होनी चाहिए जो इस फ़ॉर्मैट में हो: search_handler_uri{search_term_string}

उदाहरण के लिए:

https://query.example.com/search?q={search_term_string}
search_handler_uri वेबसाइटों के लिए, उस हैंडलर का यूआरएल जिसे खोज क्वेरी मिलती है और जो क्वेरी पर कार्रवाई करता है; ऐप्लिकेशन के लिए, आपके सर्च इंजन के लिए इंटेंट हैंडलर का वह यूआरआई जो क्वेरी पर कार्रवाई करता है.
search_term_string

एक प्लेसहोल्डर स्ट्रिंग, जो उपयोगकर्ता की खोज क्वेरी से बदली जाती है. ऐसा तब होता है, जब उपयोगकर्ता खोज बॉक्स में "खोजें" बटन पर क्लिक करता है. यह पक्का करें कि आप यहां जिस भी प्लेसहोल्डर स्ट्रिंग का इस्तेमाल करें वह query-input प्रॉपर्टी के लिए, name एलिमेंट की वैल्यू से भी मेल खाती हो.

url

URL

खोजी जा रही साइट का यूआरएल बताता है. अपनी साइट के कैननिकल होम पेज पर सेट करें. उदाहरण के लिए: https://www.example.org

Search Console की मदद से, ज़्यादा बेहतर नतीजों (रिच रिज़ल्ट) पर नज़र रखना

Search Console एक ऐसा टूल है जिसकी मदद से, आप Google Search में अपने पेज की परफ़ॉर्मेंस पर नज़र रख सकते हैं. Google Search के नतीजों में अपनी साइट को शामिल कराने के लिए, आपको Search Console में साइन अप करने की ज़रूरत नहीं है. हालांकि, इससे आपको यह समझने में मदद मिलेगी कि Google आपकी साइट को कैसे देखता है. साथ ही, इसकी मदद से, साइट की परफ़ॉर्मेंस को भी बेहतर बनाया जा सकता है. हमारा सुझाव है कि आप इन मामलों में Search Console देखें:

  1. पहली बार स्ट्रक्चर्ड डेटा इस्तेमाल करने के बाद
  2. नए टेंप्लेट जारी करने या कोड को अपडेट करने के बाद
  3. समय-समय पर ट्रैफ़िक का विश्लेषण करते समय

पहली बार स्ट्रक्चर्ड डेटा इस्तेमाल करने के बाद

जब Google, आपके पेजों को इंडेक्स कर ले, तब ज़्यादा बेहतर नतीजों (रिच रिज़ल्ट) की स्थिति वाली रिपोर्ट का इस्तेमाल करके, उन गड़बड़ियों को देखें जिन्हें ठीक करने की ज़रूरत है. आम तौर पर, मान्य आइटम की संख्या में बढ़ोतरी होगी और अमान्य आइटम की संख्या में कोई बढ़ोतरी नहीं होगी. अगर आपको स्ट्रक्चर्ड डेटा में गड़बड़ियां मिलती हैं, तो:

  1. अमान्य आइटम ठीक करें.
  2. लाइव यूआरएल की जांच करें और देखें कि गड़बड़ी ठीक हुई है या नहीं.
  3. स्थिति की रिपोर्ट का इस्तेमाल करके, पुष्टि करने का अनुरोध करें.

नए टेंप्लेट जारी करने या कोड को अपडेट करने के बाद

अपनी वेबसाइट में अहम बदलाव करने पर, स्ट्रक्चर्ड डेटा के अमान्य आइटम की संख्या में बढ़ोतरी पर नज़र रखें.
  • अगर आपको अमान्य आइटम की संख्या में बढ़ोतरी दिखती है, तो हो सकता है कि आपने ऐसा नया टेंप्लेट रोल आउट किया हो जो काम नहीं करता हो. इसके अलावा, यह भी हो सकता है कि आपकी साइट, मौजूदा टेंप्लेट से नए और खराब तरीके से इंटरैक्ट कर रही हो.
  • अगर आपको मान्य आइटम की संख्या में कमी दिखती है, यानी वह अमान्य आइटम की संख्या में बढ़ोतरी से मेल नहीं खाती है, तो हो सकता है कि अब आप पेजों में स्ट्रक्चर्ड डेटा एम्बेड नहीं कर रहे हैं. गड़बड़ी की वजह जानने के लिए, यूआरएल जांचने वाले टूल का इस्तेमाल करें.

समय-समय पर ट्रैफ़िक का विश्लेषण करना

परफ़ॉर्मेंस रिपोर्ट का इस्तेमाल करके, Google Search से आने वाले ट्रैफ़िक का विश्लेषण करें. आपको डेटा से पता चलेगा कि आपका पेज Search में, ज़्यादा बेहतर नतीजे (रिच रिज़ल्ट) के तौर पर कितनी बार दिखता है. साथ ही, यह भी पता चलेगा कि लोग उस पर कितनी बार क्लिक करते हैं और खोज के नतीजों में आपकी साइट के दिखने की औसत जगह क्या है. आपके पास इन नतीजों को Search Console API की मदद से अपने-आप देखने का भी विकल्प है.

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

अगर आपको स्ट्रक्चर्ड डेटा लागू करने या डीबग करने में कोई समस्या आ रही है, तो यहां कुछ ऐसे रिसॉर्स दिए गए हैं जिनसे आपको मदद मिल सकती है.