Tổng quan về trình thu thập dữ liệu và trình tìm nạp của Google (tác nhân người dùng)
Google sử dụng trình thu thập dữ liệu và trình tìm nạp để thực hiện hành động cho các sản phẩm của Google, theo cách tự động hoặc kích hoạt theo yêu cầu của người dùng. Trình thu thập dữ liệu (đôi khi còn gọi là "robot" hoặc "spider") là thuật ngữ chung để chỉ mọi chương trình có chức năng tự động phát hiện và quét các trang web. Trình tìm nạp đóng vai trò như một chương trình giống như wget, thường thay mặt người dùng thực hiện một yêu cầu. Ứng dụng khách của Google được chia thành ba loại:
Các trình thu thập dữ liệu chung | Các trình thu thập dữ liệu chung dùng cho các sản phẩm của Google (chẳng hạn như Googlebot). Các trình thu thập dữ liệu này luôn tuân thủ các quy tắc trong tệp robots.txt đối với hoạt động thu thập dữ tin tự động. |
Trình thu thập dữ liệu theo trường hợp đặc biệt |
Trình thu thập dữ liệu theo trường hợp đặc biệt tương tự như trình thu thập dữ liệu chung, tuy nhiên sẽ được một số sản phẩm cụ thể sử dụng trong trường hợp có thoả thuận về quá trình thu thập dữ liệu giữa trang web được thu thập dữ tin và sản phẩm của Google. Ví dụ: AdsBot bỏ qua tác nhân người dùng chung trong tệp robots.txt (* ) khi có sự cho phép của nhà xuất bản quảng cáo.
|
Trình tìm nạp do người dùng kích hoạt | Trình tìm nạp do người dùng kích hoạt là một trong số các công cụ và chức năng sản phẩm mà người dùng cuối kích hoạt hoạt động tìm nạp. Ví dụ: Google Site Verifier thực hiện hành động theo yêu cầu của người dùng. |
Thuộc tính kỹ thuật của các trình thu thập dữ liệu và trình tìm nạp của Google
Chúng tôi đã thiết kế để có thể cho phép hàng nghìn máy chạy các trình thu thập dữ liệu và trình tìm nạp của Google cùng lúc nhằm cải thiện hiệu suất và quy mô tương ứng với sự phát triển của môi trường web. Để tối ưu hoá mức sử dụng băng thông, các ứng dụng khách này được phân phối trên nhiều trung tâm dữ liệu trên toàn thế giới để được ở gần những trang web mà chúng có thể truy cập. Do đó, nhật ký của bạn có thể cho thấy các lượt truy cập từ một vài địa chỉ IP. Google chủ yếu truy cập từ các địa chỉ IP ở Hoa Kỳ. Trong trường hợp phát hiện thấy một trang web chặn yêu cầu từ Hoa Kỳ, có thể Google sẽ cố gắng thu thập dữ liệu qua địa chỉ IP ở các quốc gia khác.
Các giao thức truyền dữ liệu được hỗ trợ
Các trình thu thập dữ liệu và trình tìm nạp của Google hỗ trợ HTTP/1.1 và HTTP/2. Trình thu thập dữ liệu sẽ sử dụng phiên bản giao thức mang lại hiệu suất thu thập dữ liệu tốt nhất và có thể chuyển đổi giao thức giữa các phiên thu thập dữ liệu tuỳ thuộc vào số liệu thống kê thu thập dữ liệu trước đó. Phiên bản giao thức mặc định mà trình thu thập dữ liệu của Google sử dụng là HTTP/1.1; việc thu thập dữ liệu qua HTTP/2 có thể giúp tiết kiệm tài nguyên điện toán (ví dụ: CPU, RAM) cho trang web của bạn và Googlebot, nhưng trang web sẽ không nhận được lợi ích cụ thể nào về sản phẩm của Google (ví dụ: không tăng thứ hạng trên Google Tìm kiếm).
Để chọn không cho phép thu thập dữ liệu qua HTTP/2, hãy hướng dẫn máy chủ lưu trữ trang web của bạn phản hồi bằng mã trạng thái HTTP 421
khi Google tìm cách thu thập dữ liệu trên trang web của bạn qua HTTP/2. Nếu việc này không khả thi, bạn có thể gửi tin nhắn cho nhóm Thu thập dữ liệu (mặc dù giải pháp này chỉ là tạm thời).
Cơ sở hạ tầng của trình thu thập dữ liệu của Google cũng hỗ trợ hoạt động thu thập dữ liệu thông qua FTP (được định nghĩa trong RFC959 và các nội dung cập nhật của tài liệu này) và FTPS (được định nghĩa trong RFC4217 và các nội dung cập nhật của tài liệu này). Tuy nhiên, hoạt động thu thập dữ liệu thông qua các giao thức này rất hiếm khi xảy ra.
Các định dạng mã hoá nội dung được hỗ trợ
Trình thu thập dữ liệu và trình tìm nạp của Google hỗ trợ các phương thức mã hoá (nén) nội dung sau: gzip, deflate và Brotli (br). Các phương thức mã hoá nội dung mà từng tác nhân người dùng của Google hỗ trợ sẽ được giới thiệu trong tiêu đề Accept-Encoding
của từng yêu cầu mà chúng thực hiện. Ví dụ: Accept-Encoding: gzip, deflate, br
.
Tốc độ thu thập dữ liệu và mức tải của máy chủ lưu trữ
Mục tiêu của chúng tôi là thu thập dữ liệu nhiều trang nhất có thể trên trang web của bạn trong mỗi lần truy cập mà không làm máy chủ của bạn quá tải. Nếu trang web của bạn không đáp ứng được các yêu cầu thu thập dữ liệu của Google, thì bạn có thể giảm tốc độ thu thập dữ liệu. Xin lưu ý rằng việc gửi mã phản hồi HTTP không phù hợp đến trình thu thập dữ liệu của Google có thể ảnh hưởng đến cách trang web của bạn xuất hiện trong các sản phẩm của Google.
Hoạt động lưu vào bộ nhớ cache HTTP
Cơ sở hạ tầng thu thập dữ liệu của Google hỗ trợ tính năng lưu vào bộ nhớ cache HTTP theo phương thức phỏng đoán được định nghĩa trong tiêu chuẩn lưu vào bộ nhớ cache HTTP, cụ thể là thông qua tiêu đề của yêu cầu phản hồi ETag
và If-None-Match
, cũng như tiêu đề của yêu cầu phản hồi Last-Modified
và If-Modified-Since
.
Nếu cả hai trường ETag
và Last-Modified
của tiêu đề phản hồi đều có trong phản hồi HTTP, thì trình thu thập dữ liệu của Google sẽ sử dụng giá trị ETag
theo yêu cầu của tiêu chuẩn HTTP.
Đối với trình thu thập dữ tin của Google, bạn nên sử dụng ETag
thay vì tiêu đề Last-Modified
để cho biết lựa chọn ưu tiên về hoạt động lưu vào bộ nhớ cache vì ETag
không gặp vấn đề về định dạng ngày.
Các lệnh khác để lưu vào bộ nhớ cache HTTP không được hỗ trợ.
Các trình thu thập dữ liệu và trình tìm nạp riêng lẻ của Google có thể sử dụng hoặc không sử dụng tính năng lưu vào bộ nhớ cache, tuỳ thuộc vào nhu cầu của sản phẩm mà các trình thu thập và trình tìm nạp này liên kết. Ví dụ: Googlebot
hỗ trợ lưu vào bộ nhớ cache khi thu thập lại dữ liệu trên các URL cho Google Tìm kiếm và Storebot-Google
chỉ hỗ trợ lưu vào bộ nhớ cache trong một số điều kiện nhất định.
Để triển khai tính năng lưu vào bộ nhớ cache HTTP cho trang web, hãy liên hệ với nhà cung cấp dịch vụ lưu trữ hoặc hệ thống quản lý nội dung.
ETag
và If-None-Match
Cơ sở hạ tầng thu thập dữ liệu của Google hỗ trợ ETag
và If-None-Match
được định nghĩa trong Tiêu chuẩn lưu vào bộ nhớ cache HTTP.
Tìm hiểu thêm về tiêu đề phản hồi ETag
và tiêu đề của yêu cầu tương ứng If-None-Match
.
Last-Modified và If-Modified-Since
Cơ sở hạ tầng thu thập dữ liệu của Google hỗ trợ Last-Modified
và If-Modified-Since
được định nghĩa trong Tiêu chuẩn lưu vào bộ nhớ cache HTTP với các lưu ý sau:
-
Ngày trong tiêu đề
Last-Modified
phải được định dạng theo tiêu chuẩn HTTP. Để tránh các vấn đề về phân tích cú pháp, bạn nên sử dụng định dạng ngày sau: "Ngày trong tuần, DD Mon YYYY HH:MM:SS Múi giờ". Ví dụ: "Fri, 4 Sep 1998 19:15:56 GMT". -
Mặc dù không bắt buộc, nhưng bạn cũng nên cân nhắc việc thiết lập trường
max-age
của tiêu đề phản hồiCache-Control
nhằm giúp trình thu thập dữ liệu xác định thời điểm thu thập dữ liệu lại đối với một URL cụ thể. Thiết lập giá trị của trườngmax-age
thành số giây dự kiến mà nội dung sẽ không thay đổi. Ví dụ:Cache-Control: max-age=94043
.
Tìm hiểu thêm về tiêu đề phản hồi Last-Modified
và tiêu đề của yêu cầu tương ứng If-Modified-Since
.
Xác minh trình thu thập dữ liệu và trình tìm nạp của Google
Các trình thu thập dữ liệu của Google tự xác định mình theo 3 cách:
-
Tiêu đề yêu cầu HTTP
user-agent
. - Địa chỉ IP nguồn của yêu cầu.
- Tên máy chủ DNS ngược của IP nguồn.
Tìm hiểu cách sử dụng những thông tin này để xác minh trình thu thập dữ liệu và trình tìm nạp của Google.