การใช้ 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" } 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 ที่ส่งมาก่อนหน้านี้ ให้ทำตามขั้นตอนด้านล่าง
- ส่งคำขอ
POST
ไปยังปลายทางต่อไปนี้Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- ในเนื้อหาของคำขอ ให้ระบุตำแหน่งของหน้าเว็บโดยใช้ไวยากรณ์ต่อไปนี้
{ "url": "content_location", "type": "URL_UPDATED" }
- Google จะตอบกลับการเรียก Indexing API ที่สำเร็จด้วย
HTTP 200
การตอบกลับว่าHTTP 200
หมายความว่า Google อาจลองรวบรวมข้อมูล URL นี้อีกครั้งในอีกไม่ช้า ส่วนเนื้อหาของการตอบกลับจะมาพร้อมออบเจ็กต์UrlNotificationMetadata
ซึ่งมีฟิลด์ที่ตรงกับฟิลด์ที่คำขอสถานะการแจ้งเตือนแสดงผล - หากไม่ได้รับการตอบกลับว่า
HTTP 200
โปรดดูข้อผิดพลาดเฉพาะ Indexing API - หากเนื้อหาในหน้าเว็บมีการเปลี่ยนแปลง ให้ส่งการแจ้งเตือนการอัปเดตอีกครั้ง ซึ่งจะเรียกให้ Google รวบรวมข้อมูลหน้าเว็บนั้นใหม่
- คุณอาจต้องการโควต้าเพิ่มเติมจากค่าเริ่มต้น หากต้องการดูโควต้าปัจจุบันและขอเพิ่ม โปรดดูโควต้า
นำ URL ออก
หลังจากที่คุณลบหน้าเว็บออกจากเซิร์ฟเวอร์หรือเพิ่มแท็ก <meta name="robots" content="noindex" />
ในส่วน <head>
ของหน้าเว็บหนึ่งๆ โปรดแจ้งให้ Google ทราบเพื่อให้เรานำหน้าดังกล่าวออกจากดัชนี แล้วเราจะไม่พยายามรวบรวมข้อมูลและจัดทำดัชนีหน้านั้นอีก ก่อนจะขอให้นำ URL ออก คุณต้องแสดงรหัสสถานะ 404 หรือ 410 หรือหน้าเว็บมีแท็ก meta
<meta name="robots" content="noindex" />
หากต้องการขอให้นำหน้าเว็บออกจากดัชนี ให้ทำตามขั้นตอนด้านล่าง
- ส่งคำขอ
POST
ไปยังปลายทางต่อไปนี้Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- ระบุ URL ที่ต้องการนำออกในส่วนเนื้อหาของคำขอโดยใช้ไวยากรณ์ดังต่อไปนี้
{ "url": "content_location", "type": "URL_DELETED" }
เช่น
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google จะตอบกลับการเรียก Indexing API ที่สำเร็จด้วย
HTTP 200
การตอบกลับว่าHTTP 200
หมายความว่า Google อาจนำ URL นี้ออกจากดัชนี ส่วนเนื้อหาของการตอบกลับจะมาพร้อมออบเจ็กต์UrlNotificationMetadata
ซึ่งมีฟิลด์ที่ตรงกับฟิลด์ที่คำขอสถานะการแจ้งเตือนแสดงผล - หากไม่ได้รับการตอบกลับว่า
HTTP 200
โปรดดูข้อผิดพลาดเฉพาะ Indexing API - คุณอาจต้องการโควต้าเพิ่มเติมจากค่าเริ่มต้น หากต้องการดูโควต้าปัจจุบันและขอเพิ่ม โปรดดูโควต้า
รับสถานะการแจ้งเตือน
คุณใช้ Indexing API เพื่อตรวจสอบเวลาล่าสุดที่ Google ได้รับการแจ้งเตือนแต่ละประเภทสำหรับ URL แต่ละรายการได้ คำขอ GET
ไม่ได้บอกเวลาที่ Google จะจัดทำดัชนีหรือนำ URL ออก แต่จะแสดงว่าคุณส่งคำขอสำเร็จหรือไม่เท่านั้น
หากต้องการดูสถานะการแจ้งเตือน ให้ทำตามขั้นตอนด้านล่าง
- ส่งคำขอ
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
- 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" } }
- หากไม่ได้รับการตอบกลับว่า
HTTP 200
โปรดดูข้อผิดพลาดเฉพาะ Indexing 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==
ดูข้อมูลเพิ่มเติมที่การส่งคำขอแบบกลุ่ม