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

खास जानकारी

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

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

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

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

Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
यूआरएल हटाना

Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
सूचना के बारे में अपडेट पाना

Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint

पैरामीटर

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

फ़ील्ड
url

ज़रूरी

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

type

ज़रूरी

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

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

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

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

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

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

  1. नीचे दिए गए एंडपॉइंट पर POST अनुरोध सबमिट करें:
    Send a HTTP POST request to 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. आपको डिफ़ॉल्ट रूप से तय किए गए कोटा से ज़्यादा बार अनुरोध भेजने की ज़रूरत पड़ सकती है. अपना मौजूदा कोटा देखने और उसे बढ़ाने का अनुरोध करने के लिए, कोटा देखें.

यूआरएल हटाना

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

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

  1. नीचे दिए गए एंडपॉइंट पर POST का अनुरोध भेजें:
    Send a HTTP POST request to 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 का इस्तेमाल करके, जानें कि Google को किसी यूआरएल के बारे में अलग-अलग तरह की सूचनाएं पिछली बार कब मिली थीं. GET के अनुरोध से आपको यह नहीं पता चलता है कि Google आपके यूआरएल को कब इंडेक्स करता है या हटाता है. इससे सिर्फ़ यह पता चलता है कि आपका अनुरोध पूरी तरह सबमिट हुआ या नहीं.

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

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

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