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 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"
}
Xoá một 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_DELETED"
}
Kiểm tra trạng thái thông báo

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:

  1. 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
  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 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ượ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ể liên quan đến 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.

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 của Google và không cố gắng 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ả lại 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:

  1. 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
  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 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ượ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ể liên quan đến 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 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:

  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.
    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
    
  2. 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"
      }
    }
    
  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ể liên quan đến 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 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.