Indexing API का इस्तेमाल करना

Google इंडेक्स में मौजूद अपने पेजों को अपडेट करने या हटाने के बारे में Google को बताने के लिए, Indexing API का इस्तेमाल किया जा सकता है. जैसे, नौकरी के विज्ञापन या लाइव स्ट्रीमिंग वाले इवेंट के पेज. इसके लिए किए गए अनुरोधों में, वेब पेज की जगह के बारे में बताना ज़रूरी है. Google को भेजी गई सूचनाओं की स्थिति भी देखी जा सकती है. Indexing API की मदद से, सिर्फ़ उन पेजों को क्रॉल किया जा सकता है जिनमें JobPosting हो या BroadcastEvent को VideoObject में एम्बेड किया गया हो.

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

Indexing API का इस्तेमाल करते समय, यहां दिए गए दिशा-निर्देश लागू होते हैं.

  • Indexing API का इस्तेमाल करके सबमिट किए गए कॉन्टेंट पर, स्पैम की रोकथाम के लिए बनी हमारी नीतियां लागू होती हैं.
  • https://indexing.googleapis.com/v3/UrlNotifications:publish को किए जाने वाले सभी अनुरोधों में, Content-Type हेडर के तौर पर "application/json" का इस्तेमाल करना ज़रूरी है.
  • इंडेक्स करने के कई अनुरोध एक साथ भेजना, इस लिंक के मुताबिक, यूआरएल अपडेट करने वाले अनुरोध के मुख्य हिस्से में, सिर्फ़ एक यूआरएल सबमिट किया जा सकता है या एक साथ ज़्यादा से ज़्यादा 100 अनुरोध भेजा जा सकता है. अनुरोध सबमिट करने की तय सीमाओं से ज़्यादा अनुरोध न करें. जैसे, अलग-अलग खातों से अनुरोध करना.
  • इन उदाहरणों में दिया गया अनुरोध का मुख्य हिस्सा, content वैरिएबल की वैल्यू है. इस वैरिएबल का इस्तेमाल, ऐक्सेस टोकन के उदाहरणों में किया जाता है.

एपीआई का इस्तेमाल करके क्या-क्या किया जा सकता है

Indexing API को अनुरोध भेजते समय किसी वेब पेज के पते के बारे में सटीक जानकारी दें. इससे Google को सूचना मिलेगी कि वह इस पेज को क्रॉल कर सकता है या इसे इंडेक्स से हटा सकता है.

Indexing API से कई काम किए जा सकते हैं. इनमें से कुछ के उदाहरण नीचे दिए गए हैं:

उदाहरण
यूआरएल अपडेट करना

https://indexing.googleapis.com/v3/urlNotifications:publish एंडपॉइंट पर, यहां दिए गए एचटीटीपी POST का इस्तेमाल करके अनुरोध भेजें. उदाहरण के लिए:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
यूआरएल हटाना

https://indexing.googleapis.com/v3/urlNotifications:publish एंडपॉइंट पर, यहां दिए गए एचटीटीपी POST का इस्तेमाल करके अनुरोध भेजें. उदाहरण के लिए:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
सूचना की स्थिति पाना

https://indexing.googleapis.com/v3/urlNotifications/metadata एंडपॉइंट पर एचटीटीपी GET का इस्तेमाल करके अनुरोध भेजें.

पैरामीटर

नीचे दिए टेबल में उन फ़ील्ड के बारे में बताया गया है जो किसी यूआरएल में बदलाव करने और उसे हटाने के सभी तरीकों के लिए ज़रूरी हैं:

फ़ील्ड
url

ज़रूरी

वेबसाइट में मौजूद उस चीज़ की जगह की पूरी जानकारी जिसे आपको अपडेट करना या हटाना है.

type

ज़रूरी

सबमिट की गई सूचना किस तरह की है.

यूआरएल अपडेट करना

किसी नए यूआरएल को क्रॉल कराने या पहले सबमिट किए गए यूआरएल में हुए बदलाव के बारे में Google को जानकारी देने के लिए, यह तरीका अपनाएं:

  1. यहां दिए गए एंडपॉइंट पर एचटीटीपी POST का इस्तेमाल करके अनुरोध सबमिट करें:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. अनुरोध के मुख्य हिस्से में इस सिंटैक्स का इस्तेमाल करके, पेज का पता बताएं:
    {
      "url": "CONTENT_LOCATION",
      "type": "URL_UPDATED"
    }
  3. Google HTTP 200 जवाब के साथ, Indexing API के अनुरोध पूरे करता है. HTTP 200 मैसेज का मतलब है कि Google इस यूआरएल को जल्द ही फिर से क्रॉल करने की कोशिश कर सकता है. इस जवाब के मुख्य हिस्से में एक UrlNotificationMetadata ऑब्जेक्ट होता है. इस ऑब्जेक्ट के फ़ील्ड में, सूचना के अपडेट के अनुरोध से मिली वैल्यू होती हैं.
  4. अगर आपको HTTP 200 जवाब नहीं मिलता है, तो Indexing API से जुड़ी खास गड़बड़ियां देखें.
  5. अगर पेज के कॉन्टेंट में बदलाव किया जाता है, तो इसकी सूचना Google को दें. Google इस पेज को फिर से क्रॉल करेगा.
  6. Indexing API, टेस्टिंग के लिए डिफ़ॉल्ट कोटा देता है. एपीआई का इस्तेमाल करने के लिए, कोटा और उस पर अनुमति पाने का अनुरोध करें.

यूआरएल हटाना

अपने सर्वर से किसी पेज को मिटाने या दिए गए पेज के <head> सेक्शन में <meta name="robots" content="noindex" /> टैग जोड़ने के बाद, Google को इसकी सूचना दें. इससे हम पेज को अपने इंडेक्स से हटा पाएंगे. साथ ही, उसे दोबारा क्रॉल और इंडेक्स नहीं करेंगे. पेज को हटाने का अनुरोध करने से पहले, यह ज़रूरी है कि यूआरएल 404 या 410 स्टेटस कोड दिखाए या फिर, पेज में <meta name="robots" content="noindex" /> meta टैग होना चाहिए.

हमारे इंडेक्स से किसी पेज को हटाने का अनुरोध करने के लिए, यह तरीका अपनाएं:

  1. नीचे दिए गए एंडपॉइंट पर POST अनुरोध सबमिट करें:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. अनुरोध के कोड में उस पेज का यूआरएल डालें जिसे आपको इंडेक्स से हटाना है. इसके लिए, नीचे दिए गए सिंटैक्स का इस्तेमाल करें:
    {
      "url": "CONTENT_LOCATION",
      "type": "URL_DELETED"
    }

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

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. Google HTTP 200 जवाब के साथ, Indexing API के अनुरोध पूरे करता है. HTTP 200 जवाब का मतलब है कि Google इस यूआरएल को इंडेक्स से हटा सकता है. इस जवाब के मुख्य हिस्से में एक UrlNotificationMetadata ऑब्जेक्ट होता है. इस ऑब्जेक्ट के फ़ील्ड में, सूचना के अपडेट के अनुरोध से मिली वैल्यू होती हैं.
  4. अगर आपको HTTP 200 जवाब नहीं मिलता है, तो Indexing API से जुड़ी खास गड़बड़ियां देखें.
  5. Indexing API, टेस्टिंग के लिए डिफ़ॉल्ट कोटा देता है. एपीआई का इस्तेमाल करने के लिए, कोटा और उस पर अनुमति पाने का अनुरोध करें.

सूचना की स्थिति पाना

Indexing API का इस्तेमाल करके, जानें कि Google को किसी यूआरएल के बारे में अलग-अलग तरह की सूचनाएं पिछली बार कब मिली थीं. GET के अनुरोध से आपको यह नहीं पता चलता है कि Google आपके यूआरएल को कब इंडेक्स करता है या हटाता है. इससे सिर्फ़ यह पता चलता है कि आपका अनुरोध पूरी तरह सबमिट हुआ या नहीं.

सूचना की स्थिति पाने के लिए, यह तरीका अपनाएं:

  1. यहां दिए गए एंडपॉइंट पर GET अनुरोध सबमिट करें: आपको जो यूआरएल डालना है उस यूआरएल के डेटा को कोड में बदलना ज़रूरी है. उदाहरण के लिए, : (कोलन) को %3A से बदलें और / (फ़ॉरवर्ड स्लैश) को %2F से बदलें.
    https://indexing.googleapis.com/v3/urlNotifications/metadata?url=ENCODED_URL

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

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
  2. Indexing API HTTP 200 मैसेज के साथ जवाब देता है, जिसमें एक पेलोड होता है. इसमें सूचना के बारे में जानकारी होती है. इस उदाहरण में अनुरोध का मुख्य हिस्सा दिखाया गया है. इसमें, सूचना में हुए बदलाव और सूचना मिटाने की जानकारी दी गई है.
    {
      url: "http://foo.com",
      latest_update: {
        type: "URL_UPDATED",
        notify_time: "2017-07-31T19:30:54.524457662Z"
      },
      latest_remove: {
        type: "URL_DELETED",
        notify_time: "2017-08-31T19:30:54.524457662Z"
      }
    }
  3. अगर आपको HTTP 200 जवाब नहीं मिलता है, तो Indexing API से जुड़ी खास गड़बड़ियां देखें.
  4. Indexing API, टेस्टिंग के लिए डिफ़ॉल्ट कोटा देता है. एपीआई का इस्तेमाल करने के लिए, कोटा और उस पर अनुमति पाने का अनुरोध करें.

इंडेक्स करने के कई अनुरोध एक साथ भेजना

क्लाइंट के बनाए जाने वाले एचटीटीपी कनेक्शन को कम करने के लिए, Indexing API के ज़्यादा से ज़्यादा 100 अनुरोधों को एक एचटीटीपी अनुरोध में भेजा जा सकता है. कई हिस्सों वाले इस अनुरोध को बैच कहा जाता है.

Indexing API को कई अनुरोध एक साथ भेजने के लिए, इस एंडपॉइंट का इस्तेमाल करें:

https://indexing.googleapis.com/batch

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

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

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

बैच में अनुरोध भेजने के कोड के दिए गए उदाहरण में, सूचना में बदलाव करने और उसे हटाने के कोड के बारे में बताया गया है:

POST /batch HTTP/1.1
Host: indexing.googleapis.com
Content-Length: content_length
Content-Type: multipart/mixed; boundary="===============7330845974216740156=="
Authorization: Bearer oauth2_token

--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2>

POST /v3/urlNotifications:publish [1]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/42", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1>

POST /v3/urlNotifications:publish [2]
Content-Type: application/json
accept: application/json
content-length: 75

{ "url": "http://example.com/widgets/1", "type": "URL_UPDATED" }
--===============7330845974216740156==
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3>

POST /v3/urlNotifications:publish [3]
Content-Type: application/json
accept: application/json
content-length: 58

{ "url": "http://example.com/jobs/43", "type": "URL_DELETED" }
--===============7330845974216740156==

ज़्यादा जानकारी के लिए, बैच में अनुरोध भेजने का तरीका देखें.