Sử dụng API Lập chỉ mục
Tổng quan
Bạn có thể sử dụng API Lập chỉ mục để yêu cầu Google cập nhật hoặc xoá các trang khỏi chỉ mục của Google.
Các yêu cầu này phải xác định vị trí của một trang web. Bạn cũng có thể kiểm tra trạng thái của thông báo mà bạn đã gửi tới Google. Hiện tại, bạn chỉ có thể sử dụng API Lập chỉ mục để thu thập dữ liệu các trang có dữ liệu có cấu trúc
JobPosting
hoặc
BroadcastEvent
nhúng trong
VideoObject
.
Khi bạn gửi yêu cầu tới API Lập chỉ mục, hãy xác định vị trí của một trang web độc lập để thông báo rằng Google có thể thu thập dữ liệu hoặc xoá trang đó khỏi chỉ mục của Google.
Những ví dụ sau đây minh họa các thao tác mà bạn có thể thực hiện với API Lập chỉ mục:
Cập nhật một URLSend 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 |
Thông số
Bảng sau đây mô tả các trường cần thiết cho tất cả các phương thức (cập nhật và xoá URL):
Trường | |
---|---|
url |
Bắt buộc Vị trí đủ điều kiện của mục mà bạn muốn cập nhật hoặc xoá. |
type |
Bắt buộc Loại thông báo mà bạn đã gửi. |
Nguyên tắc
Các nguyên tắc sau áp dụng đối với việc cập nhật và xoá yêu cầu URL.
- Tất cả lệnh gọi đến https://indexing.googleapis.com/v3/UrlNotifications:publish đều PHẢI dùng "application/json" làm tiêu đề
Content-Type
. - Bạn chỉ có thể gửi duy nhất một URL trong phần nội dung của yêu cầu cập nhật hoặc kết hợp tối đa 100 yêu cầu trong một đợt, như được mô tả trong phần Gửi yêu cầu lập chỉ mục hàng loạt.
- Phần nội dung yêu cầu trong những ví dụ này là giá trị của biến
content
dùng trong các ví dụ về mã truy cập.
Cập nhật một URL
Để thông báo cho Google về một URL mới cần thu thập dữ liệu hoặc về nội dung cập nhật tại một URL đã gửi trước đó, hãy làm theo các bước dưới đây:
- Gửi yêu cầu
POST
đến điểm cuối sau:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Trong phần nội dung của yêu cầu, hãy xác định vị trí của trang bằng cú pháp sau:
{ "url": "content_location", "type": "URL_UPDATED" }
- Google phản hồi các lệnh gọi thành công qua API Lập chỉ mục bằng mã
HTTP 200
. Phản hồiHTTP 200
có nghĩa là Google có thể cố gắng thu thập lại dữ liệu đối với URL này trong thời gian ngắn. Phần nội dung của phản hồi chứa đối tượngUrlNotificationMetadata
, trong đó có các trường tương ứng với các trường được trả về trong một yêu cầu trạng thái thông báo. - Nếu bạn không nhận được phản hồi
HTTP 200
, hãy xem phần Các lỗi cụ thể liên quan đến API Lập chỉ mục. - Nếu nội dung của trang thay đổi, hãy gửi một thông báo cập nhật khác để Google thu thập lại dữ liệu của trang.
- Bạn có thể cần định mức cao hơn mức mặc định. Để xem định mức hiện tại của bạn và yêu cầu định mức cao hơn, hãy xem phần Định mức.
Xoá một URL
Sau khi bạn xoá một trang khỏi máy chủ hoặc thêm thẻ <meta name="robots" content="noindex" />
vào phần <head>
của một trang nhất định, hãy thông báo cho Google để chúng tôi có thể xoá trang đó khỏi chỉ mục và không cố gắng thu thập lại dữ liệu và lập chỉ mục lại trang đó nữa. Trước khi bạn gửi yêu cầu xoá, URL phải trả về mã trạng thái 404 hoặc 410, hoặc trang có chứa thẻ meta
<meta name="robots" content="noindex" />
.
Để yêu cầu xoá một trang khỏi chỉ mục của chúng tôi, hãy làm theo các bước dưới đây:
- Gửi yêu cầu
POST
đến điểm cuối sau:Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- Xác định URL mà bạn muốn xoá trong phần nội dung của yêu cầu bằng cú pháp sau:
{ "url": "content_location", "type": "URL_DELETED" }
Ví dụ:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google phản hồi các lệnh gọi thành công qua API Lập chỉ mục bằng mã
HTTP 200
. Phản hồiHTTP 200
có nghĩa là Google có thể xoá URL này khỏi chỉ mục. Phần nội dung của phản hồi chứa đối tượngUrlNotificationMetadata
, trong đó có các trường tương ứng với các trường được trả về trong một yêu cầu trạng thái thông báo. - Nếu bạn không nhận được phản hồi
HTTP 200
, hãy xem phần Các lỗi cụ thể liên quan đến API Lập chỉ mục. - Bạn có thể cần định mức cao hơn mức mặc định. Để xem định mức hiện tại của bạn và yêu cầu định mức cao hơn, hãy xem phần Định mức.
Kiểm tra trạng thái thông báo
Bạn có thể sử dụng API lập chỉ mục để kiểm tra thời điểm cuối cùng mà Google nhận được từng loại thông báo cho một URL nhất định. Yêu cầu GET
không cho bạn biết thời điểm Google lập chỉ mục hoặc xoá một URL mà chỉ cho biết liệu bạn có gửi yêu cầu thành công hay không.
Để biết trạng thái của một thông báo, hãy làm theo các bước dưới đây:
- Gửi yêu cầu
GET
đến điểm cuối sau. Các URL bạn xác định phải được mã hoá URL. Ví dụ: thay thế:
(dấu hai chấm) bằng%3A
và/
(dấu gạch chéo lên) bằng%2F
.Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
Ví dụ:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
- API lập chỉ mục phản hồi bằng
HTTP 200
, trong đó phần nội dung chính là thông tin chi tiết về thông báo. Ví dụ sau đây thể hiện nội dung của một phản hồi chứa thông tin về một thông báo cập nhật và xoá:{ 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" } }
- Nếu bạn không nhận được phản hồi
HTTP 200
, hãy xem phần Các lỗi cụ thể liên quan đến API Lập chỉ mục. - Bạn có thể cần định mức cao hơn mức mặc định. Để xem định mức hiện tại của bạn và yêu cầu định mức cao hơn, hãy xem phần Định mức.
Gửi yêu cầu hàng loạt về việc lập chỉ mục
Để giảm số lượng kết nối HTTP mà ứng dụng của bạn phải thực hiện, bạn có thể kết hợp tối đa 100 lệnh gọi tới API Lập chỉ mục vào một yêu cầu HTTP duy nhất. Thao tác này nằm trong một yêu cầu gồm nhiều phần và được gọi là một yêu cầu hàng loạt.
Khi gửi yêu cầu hàng loạt đến API lập chỉ mục, hãy sử dụng điểm cuối sau:
https://indexing.googleapis.com/batch
Phần nội dung của một yêu cầu hàng loạt chứa nhiều phần. Mỗi phần là một yêu cầu HTTP hoàn chỉnh, với động từ, URL, tiêu đề và nội dung riêng. Mỗi phần trong một yêu cầu hàng loạt không được vượt quá kích thước 1MB.
Để giúp bạn gửi các yêu cầu hàng loạt dễ dàng hơn, API Client Libraries của Google có hỗ trợ chức năng tạo yêu cầu hàng loạt. Để biết thêm thông tin về việc tạo yêu cầu hàng loạt bằng thư viện ứng dụng, hãy xem các trang dành riêng cho các ngôn ngữ sau:
Nếu sử dụng các ví dụ về yêu cầu hàng loạt trên các trang này, bạn có thể cần cập nhật mã của mình để phản ánh các yêu cầu triển khai được mô tả trong Lấy mã truy cập.
Phần nội dung của yêu cầu hàng loạt mẫu sau đây bao gồm thông báo cập nhật và thông báo xoá:
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==
Để biết thêm thông tin, hãy xem phần Gửi yêu cầu hàng loạt.