Sử dụng API Lập chỉ mục

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 sự kiện phát trực tiếp hoặc trang tin tuyển dụng 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à mình đã gửi tới Google. API Lập chỉ mục chỉ có thể dùng để thu thập dữ liệu các trang có loại dữ liệu có cấu trúc JobPosting hoặc BroadcastEvent nhúng trong VideoObject.

Nguyên tắc

Bạn cần tuân thủ các nguyên tắc sau khi sử dụng API Lập chỉ mục.

  • Chính sách của chúng tôi về nội dung rác áp dụng cho nội dung được gửi bằng API Lập chỉ mục.
  • Tất cả lệnh gọi đến https://indexing.googleapis.com/v3/UrlNotifications:publish đều PHẢI sử 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. Không tìm cách lách các quy định giới hạn gửi nội dung của chúng tôi, chẳng hạn như bằng cách sử dụng nhiều tài khoản.
  • 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ác thao tác mà bạn có thể thực hiện với API Lập chỉ mục

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 hoạ các thao tác mà bạn có thể thực hiện với API Lập chỉ mục:

Ví dụ
Cập nhật một URL

Gửi yêu cầu HTTP POST sau đây đến điểm cuối https://indexing.googleapis.com/v3/urlNotifications:publish. Ví dụ:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Xoá một URL

Gửi yêu cầu HTTP POST sau đây đến điểm cuối https://indexing.googleapis.com/v3/urlNotifications:publish. Ví dụ:

{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_DELETED"
}
Kiểm tra trạng thái thông báo

Gửi yêu cầu HTTP GET đến điểm cuối https://indexing.googleapis.com/v3/urlNotifications/metadata.

Tham 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.

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 được gửi trước đó, hãy làm theo các bước sau:

  1. Gửi yêu cầu HTTP POST đến điểm cuối sau:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. 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"
    }
  3. 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ồi HTTP 200 nghĩa là Google có thể sớm tìm cách thu thập lại dữ liệu đối với URL này. Phần nội dung của phản hồi chứa đối tượng UrlNotificationMetadata, 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.
  4. 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ể của API Lập chỉ mục.
  5. 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.
  6. API Lập chỉ mục cung cấp cho bạn hạn mức mặc định để kiểm thử. Để sử dụng API này, hãy yêu cầu phê duyệt và hạn 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 cụ thể, hãy thông báo cho Google để chúng tôi có thể xoá trang đó khỏi chỉ mục của Google và không tìm cách thu thập lại dữ liệu và lập chỉ mục lại vớ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 phải 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 sau:

  1. Gửi yêu cầu POST đến điểm cuối sau:
    https://indexing.googleapis.com/v3/urlNotifications:publish
  2. 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"
    }
  3. 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ồi HTTP 200 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ượng UrlNotificationMetadata, 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.
  4. 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ể của API Lập chỉ mục.
  5. API Lập chỉ mục cung cấp cho bạn hạn mức mặc định để kiểm thử. Để sử dụng API này, hãy yêu cầu phê duyệt và hạn 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 đối với 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 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 sau:

  1. 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/ (dấu gạch chéo lên) bằng %2F.
    https://indexing.googleapis.com/v3/urlNotifications/metadata?url=ENCODED_URL

    Ví dụ:

    GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
  2. API Lập chỉ mục phản hồi bằng HTTP 200, trong đó phần nội dung chính là 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"
      }
    }
  3. 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ể của API Lập chỉ mục.
  4. API Lập chỉ mục cung cấp cho bạn hạn mức mặc định để kiểm thử. Để sử dụng API này, hãy yêu cầu phê duyệt và hạn mức.

Gửi yêu cầu lập chỉ mục hàng loạt

Để 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, các thư viện ứng dụng API 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 làm theo các ví dụ về yêu cầu hàng loạt trên các trang này, có thể bạn sẽ 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 phần Lấy mã truy cập.

Phần nội dung của ví dụ về yêu cầu hàng loạt sau đây chứa 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.