การใช้ Indexing API

ภาพรวม

คุณใช้ Indexing API เพื่อบอกให้ Google อัปเดตหรือนำหน้าเว็บออกจากดัชนีของ Google ได้ โดยคำขอต้องระบุตำแหน่งของหน้าเว็บ คุณยังดูสถานะการแจ้งเตือนที่ส่งให้ Google ได้ด้วย ปัจจุบันคุณใช้ Indexing API เพื่อรวบรวมข้อมูลหน้าเว็บที่มี JobPosting หรือ BroadcastEvent ที่ฝังใน VideoObject ได้เท่านั้น

เมื่อคุณส่งคำขอไปยัง Indexing API ให้ระบุตำแหน่งของหน้าเว็บที่ทำงานทั้งหมดในตัวเองเพื่อแจ้งให้ Google ทราบว่ารวบรวมข้อมูลหรือนำหน้านี้ออกจากดัชนีได้

ตัวอย่างต่อไปนี้แสดงการดำเนินการที่คุณทำได้ด้วย Indexing API

อัปเดต URL

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"
}
นำ URL ออก

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 ออก)

ช่อง
url

จำเป็น

ตำแหน่งของรายการที่มีคุณสมบัติครบถ้วน ซึ่งคุณต้องการให้อัปเดตหรือนำออก

type

จำเป็น

ประเภทการแจ้งเตือนที่คุณส่ง

หลักเกณฑ์

คำขออัปเดต URL และคำขอนำออกจะต้องเป็นไปตามหลักเกณฑ์ต่อไปนี้

  • การเรียกไปยัง https://indexing.googleapis.com/v3/UrlNotifications:publish ทั้งหมดต้องใช้ "application/json" เป็นส่วนหัว Content-Type
  • คุณส่ง URL ได้เพียง 1 รายการในส่วนเนื้อหาของคำขออัปเดต หรือส่งรวมกันเป็นกลุ่มได้สูงสุด 100 คำขอตามที่อธิบายไว้ในส่วนส่งคำขอให้จัดทำดัชนีแบบกลุ่ม
  • เนื้อหาของคำขอในตัวอย่างเหล่านี้เป็นค่าของตัวแปร content ที่ใช้ในตัวอย่างโทเค็นเพื่อการเข้าถึง

อัปเดต URL

หากต้องการแจ้งให้ Google ทราบว่ามี URL ใหม่ที่ต้องการให้รวบรวมข้อมูลหรือมีการอัปเดตเนื้อหาใน URL ที่ส่งมาก่อนหน้านี้ ให้ทำตามขั้นตอนด้านล่าง

  1. ส่งคำขอ POST ไปยังปลายทางต่อไปนี้
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. ในเนื้อหาของคำขอ ให้ระบุตำแหน่งของหน้าเว็บโดยใช้ไวยากรณ์ต่อไปนี้
    {
      "url": "content_location",
      "type": "URL_UPDATED"
    }
  3. Google จะตอบกลับการเรียก Indexing API ที่สำเร็จด้วย HTTP 200 การตอบกลับว่า HTTP 200 หมายความว่า Google อาจลองรวบรวมข้อมูล URL นี้อีกครั้งในอีกไม่ช้า ส่วนเนื้อหาของการตอบกลับจะมาพร้อมออบเจ็กต์ UrlNotificationMetadata ซึ่งมีฟิลด์ที่ตรงกับฟิลด์ที่คำขอสถานะการแจ้งเตือนแสดงผล
  4. หากไม่ได้รับการตอบกลับว่า HTTP 200 โปรดดูข้อผิดพลาดเฉพาะ Indexing API
  5. หากเนื้อหาในหน้าเว็บมีการเปลี่ยนแปลง ให้ส่งการแจ้งเตือนการอัปเดตอีกครั้ง ซึ่งจะเรียกให้ Google รวบรวมข้อมูลหน้าเว็บนั้นใหม่
  6. คุณอาจต้องการโควต้าเพิ่มเติมจากค่าเริ่มต้น หากต้องการดูโควต้าปัจจุบันและขอเพิ่ม โปรดดูโควต้า

นำ URL ออก

หลังจากที่คุณลบหน้าเว็บออกจากเซิร์ฟเวอร์หรือเพิ่มแท็ก <meta name="robots" content="noindex" /> ในส่วน <head> ของหน้าเว็บหนึ่งๆ โปรดแจ้งให้ Google ทราบเพื่อให้เรานำหน้าดังกล่าวออกจากดัชนี แล้วเราจะไม่พยายามรวบรวมข้อมูลและจัดทำดัชนีหน้านั้นอีก ก่อนจะขอให้นำ URL ออก คุณต้องแสดงรหัสสถานะ 404 หรือ 410 หรือหน้าเว็บมีแท็ก meta <meta name="robots" content="noindex" />

หากต้องการขอให้นำหน้าเว็บออกจากดัชนี ให้ทำตามขั้นตอนด้านล่าง

  1. ส่งคำขอ POST ไปยังปลายทางต่อไปนี้
    Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
  2. ระบุ URL ที่ต้องการนำออกในส่วนเนื้อหาของคำขอโดยใช้ไวยากรณ์ดังต่อไปนี้
    {
      "url": "content_location",
      "type": "URL_DELETED"
    }

    เช่น

    {
      "url": "https://careers.google.com/jobs/google/technical-writer",
      "type": "URL_DELETED"
    }
  3. Google จะตอบกลับการเรียก Indexing API ที่สำเร็จด้วย HTTP 200 การตอบกลับว่า HTTP 200 หมายความว่า Google อาจนำ URL นี้ออกจากดัชนี ส่วนเนื้อหาของการตอบกลับจะมาพร้อมออบเจ็กต์ UrlNotificationMetadata ซึ่งมีฟิลด์ที่ตรงกับฟิลด์ที่คำขอสถานะการแจ้งเตือนแสดงผล
  4. หากไม่ได้รับการตอบกลับว่า HTTP 200 โปรดดูข้อผิดพลาดเฉพาะ Indexing API
  5. คุณอาจต้องการโควต้าเพิ่มเติมจากค่าเริ่มต้น หากต้องการดูโควต้าปัจจุบันและขอเพิ่ม โปรดดูโควต้า

รับสถานะการแจ้งเตือน

คุณใช้ Indexing API เพื่อตรวจสอบเวลาล่าสุดที่ Google ได้รับการแจ้งเตือนแต่ละประเภทสำหรับ URL แต่ละรายการได้ คำขอ GET ไม่ได้บอกเวลาที่ Google จะจัดทำดัชนีหรือนำ URL ออก แต่จะแสดงว่าคุณส่งคำขอสำเร็จหรือไม่เท่านั้น

หากต้องการดูสถานะการแจ้งเตือน ให้ทำตามขั้นตอนด้านล่าง

  1. ส่งคำขอ GET ไปยังปลายทางต่อไปนี้ URL ที่คุณระบุต้องมีการเข้ารหัส URL เช่น แทนที่ : (เครื่องหมายทวิภาค) ด้วย %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. คุณอาจต้องการโควต้าเพิ่มเติมจากค่าเริ่มต้น หากต้องการดูโควต้าปัจจุบันและขอเพิ่ม โปรดดูโควต้า

ส่งคำขอให้จัดทำดัชนีแบบกลุ่ม

หากต้องการลดจำนวนการเชื่อมต่อ HTTP ที่ไคลเอ็นต์ต้องสร้าง คุณอาจรวมการเรียกใช้ Indexing API ได้สูงถึง 100 ครั้งไว้ในคำขอ HTTP รายการเดียว ซึ่งจะทำได้โดยส่งคำขอที่มีข้อมูลหลายส่วนหรือที่เรียกว่ากลุ่ม

เวลาส่งคำขอแบบกลุ่มไปยัง Indexing API ให้ใช้ปลายทางต่อไปนี้

https://indexing.googleapis.com/batch

ส่วนเนื้อหาของคำขอแบบกลุ่มจะมีข้อมูลหลายส่วน แต่ละส่วนเป็นคำขอ HTTP ที่สมบูรณ์ในตัวเอง โดยมีกริยา, URL, ส่วนหัว และเนื้อหาของตัวเอง ข้อมูลแต่ละส่วนภายในคำขอแบบกลุ่มจะต้องมีขนาดไม่เกิน 1 MB

ไลบรารีของไคลเอ็นต์ API ของ 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==

ดูข้อมูลเพิ่มเติมที่การส่งคำขอแบบกลุ่ม