การใช้ Indexing API

ภาพรวม

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

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

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

อัปเดต URL

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
นำ URL ออก

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
รับสถานะการแจ้งเตือน

GET https://indexing.googleapis.com/v3/urlNotifications/metadata

พารามิเตอร์

ตารางต่อไปนี้อธิบายช่องที่จำเป็นสำหรับเมธอดทั้งหมด (อัปเดตและนำ 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 ไปยังปลายทางต่อไปนี้
    POST 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 ออก

หลังจากที่คุณลบหน้าเว็บออกจากเซิร์ฟเวอร์ โปรดแจ้งให้ Google ทราบเพื่อให้เรานำหน้าดังกล่าวออกจากดัชนี และเราจะได้ไม่พยายามรวบรวมข้อมูล URL นั้นอีก ก่อนส่งคำขอให้นำหน้าเว็บออก คุณต้องนำหน้าเว็บออกจากเซิร์ฟเวอร์และ URL ต้องแสดงรหัสสถานะ 404 หรือ 410

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

  1. ส่งคำขอ POST ไปยังปลายทางต่อไปนี้
    POST 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
    GET 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==

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