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 xóa 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 tin tuyển dụng hoặc phát trực tiếp.

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 trang web độc lập để thông báo rằng Google có thể thu thập dữ liệu hoặc xóa trang này khỏi chỉ mục của Google.

Các 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 URL

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}
Xóa một URL

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

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

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à xóa 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 xóa.

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à xóa yêu cầu URL.

  • Tất cả các cuộc gọi đến https://indexing.googleapis.com/v3/UrlNotutions:publish PHẢI sử dụng "application/json" làm tiêu đề Content-Type.
  • Bạn chỉ có thể gửi 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ư đã 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 các 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 nội dung tại một URL đã gửi trước đó đã được cập nhật, hãy làm theo các bước dưới đây:

  1. Gửi yêu cầu POST đến điểm cuối sau:
    POST 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 API lập chỉ mục thành công bằng HTTP 200. Phản hồi HTTP 200 có nghĩa là Google có thể cố gắng thu thập lại dữ liệu URL này sớm. 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. 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.

Xóa một URL

Sau khi bạn xóa một trang khỏi máy chủ của mình, hãy thông báo cho Google để chúng tôi có thể xóa trang khỏi chỉ mục của Google và không cố gắng thu thập lại dữ liệu về URL đó. Trước khi yêu cầu xóa, bạn phải xóa trang khỏi máy chủ của mình và URL phải trả về mã trạng thái 404 hoặc 410.

Để yêu cầu xóa 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:

  1. Gửi yêu cầu POST đến điểm cuối sau:
    POST https://indexing.googleapis.com/v3/urlNotifications:publish
  2. Xác định URL mà bạn muốn xóa 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 API lập chỉ mục thành công bằng HTTP 200. Phản hồi HTTP 200 có nghĩa là Google có thể xóa 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. 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 xóa 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.

Để lấy trạng thái của một thông báo, hãy làm theo các bước dưới đây:

  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ã hóa URL. Ví dụ: thay : (dấu hai chấm) bằng %3A và thay / (dấu gạch chéo lên) bằng %2F.
    GET 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
    
  2. API lập chỉ mục phản hồi bằng HTTP 200, với nội dung chứa thông tin chi tiết về thông báo. Ví dụ sau đây hiển thị nội dung của một phản hồi chứa thông tin về thông báo cập nhật và xóa:
    {
      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. 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 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 cuộc gọi tới API lập chỉ mục vào một yêu cầu HTTP. Bạn thực hiện điều này trong một yêu cầu nhiều phần đượ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 xóa:

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.

Gửi phản hồi về...