การใช้ Indexing API

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

หลักเกณฑ์

หลักเกณฑ์ต่อไปนี้ใช้เมื่อใช้ Indexing API

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

สิ่งที่คุณทําได้ด้วย API

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

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

ตัวอย่าง
อัปเดต URL

ส่งคำขอ HTTP POST ต่อไปนี้ไปยังปลายทาง https://indexing.googleapis.com/v3/urlNotifications:publish เช่น

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
นำ URL ออก

ส่งคำขอ HTTP POST ต่อไปนี้ไปยังปลายทาง https://indexing.googleapis.com/v3/urlNotifications:publish เช่น

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

ส่งคำขอ HTTP GET ไปยังปลายทาง https://indexing.googleapis.com/v3/urlNotifications/metadata

พารามิเตอร์

ตารางต่อไปนี้อธิบายช่องที่จำเป็นสำหรับเมธอดทั้งหมด (อัปเดตและนำ URL ออก)

ฟิลด์
url

จำเป็น

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

type

จำเป็น

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

อัปเดต URL

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

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

นำ URL ออก

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

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

  1. ส่งคำขอ 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 มีโควต้าเริ่มต้นสำหรับการทดสอบ หากต้องการใช้ API ให้ขอการอนุมัติและโควต้า

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

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

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

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

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

หากต้องการลดจำนวนการเชื่อมต่อ 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==

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