Thông số kỹ thuật về thẻ meta robots và tiêu đề HTTP X-Robots-Tag

Bản tóm tắt

Tài liệu này nêu chi tiết cách các tùy chọn cài đặt về việc lập chỉ mục cấp trang cho phép bạn kiểm soát cách Google cung cấp nội dung thông qua kết quả tìm kiếm. Bạn có thể chỉ định các tùy chọn cài đặt này bằng cách bao gồm thẻ meta trên các trang HTML (X) hoặc trong tiêu đề HTTP.

Sử dụng thẻ meta robots

Thẻ meta robots cho phép bạn sử dụng phương thức chi tiết ở cấp trang để kiểm soát cách Google nên lập chỉ mục và hiển thị một trang riêng lẻ cho người dùng trong kết quả tìm kiếm. Hãy đặt thẻ meta robots trong phần <head> của một trang nhất định, như sau:

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

Thẻ meta robots trong ví dụ trên chỉ dẫn phần lớn công cụ tìm kiếm không hiển thị trang trong kết quả tìm kiếm. Giá trị của thuộc tính name (robots) chỉ định rằng lệnh này áp dụng cho tất cả các trình thu thập dữ liệu. Để cung cấp chỉ dẫn cho một trình thu thập dữ liệu cụ thể, hãy thay thế giá trị robots của thuộc tính name bằng tên của trình thu thập dữ liệu mà bạn muốn. Trình thu thập dữ liệu cụ thể còn được gọi là tác nhân người dùng (trình thu thập dữ liệu sử dụng tác nhân người dùng để yêu cầu một trang.) Trình thu thập dữ liệu web chuẩn của Google có tên tác nhân người dùng là Googlebot. Để chỉ ngăn Googlebot thu thập dữ liệu trang của bạn, hãy cập nhật thẻ như sau:

<meta name="googlebot" content="noindex" />

Thẻ này giờ sẽ hướng dẫn Google (nhưng không phải công cụ tìm kiếm nào khác) không hiển thị trang này trong kết quả tìm kiếm trên web. Cả thuộc tính namecontent đều không phân biệt chữ hoa chữ thường.

Công cụ tìm kiếm có thể có các trình thu thập dữ liệu khác nhau cho các sản phẩm hoặc mục đích khác nhau. Hãy xem danh sách đầy đủ các trình thu thập dữ liệu của Google. Ví dụ: để hiển thị một trang trong kết quả tìm kiếm trên web của Google, nhưng không hiển thị trang đó trong Google Tin tức, hãy sử dụng thẻ meta sau:

<meta name="googlebot-news" content="noindex" />

Nếu cần chỉ định nhiều trình thu thập dữ liệu riêng lẻ, bạn có thể sử dụng nhiều thẻ meta robots:

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

Nếu các trình thu thập dữ liệu của chúng tôi gặp phải các lệnh mâu thuẫn nhau, thì chúng tôi sẽ sử dụng lệnh mang tính hạn chế nhất.

Sử dụng tiêu đề HTTP X-Robots-Tag

Có thể sử dụng thẻ X-Robots-Tag như một phần tử của phản hồi tiêu đề HTTP cho một URL nhất định. Bất kỳ lệnh nào có thể sử dụng trong thẻ meta robots cũng có thể được chỉ định là một X-Robots-Tag. Dưới đây là ví dụ về phản hồi HTTP với tiêu đề X-Robots-Tag trong đó hướng dẫn các trình thu thập dữ liệu không lập chỉ mục một trang:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noindex
(…)

Có thể kết hợp nhiều tiêu đề X-Robots-Tag trong phản hồi HTTP, hoặc bạn có thể chỉ định danh sách các lệnh được phân tách bằng dấu phẩy. Dưới đây là ví dụ về phản hồi HTTP với tiêu đề trong đó kết hợp một X-Robots-Tag noarchive với một X-Robots-Tag unavailable_after.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: noarchive
X-Robots-Tag: unavailable_after: 25 Jun 2010 15:00:00 PST
(…)

Thẻ X-Robots-Tag có thể chọn chỉ định một tác nhân người dùng trước các lệnh. Ví dụ: có thể sử dụng nhóm tiêu đề HTTP X-Robots-Tag sau đây để cho phép hiển thị một trang trong kết quả tìm kiếm cho các công cụ tìm kiếm khác nhau:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)

Các lệnh được chỉ định mà không có tác nhân người dùng sẽ áp dụng cho tất cả các trình thu thập dữ liệu. Phần dưới đây trình bày cách xử lý các lệnh kết hợp. Cả tên và giá trị chỉ định đều không phân biệt chữ hoa chữ thường.

Lệnh lập chỉ mục và phân phát hợp lệ

Một số lệnh khác có thể được sử dụng để kiểm soát việc lập chỉ mục và phân phát bằng thẻ meta robots và thẻ X-Robots-Tag. Mỗi giá trị đại diện cho một lệnh cụ thể. Bảng dưới đây liệt kê tất cả các lệnh mà Google tuân theo và ý nghĩa của chúng. Lưu ý: có thể trình thu thập dữ liệu của các công cụ tìm kiếm khác sẽ xử lý các lệnh này theo cách khác nhau. Có thể kết hợp nhiều lệnh trong một danh sách được phân tách bằng dấu phẩy (hãy xem bên dưới để biết cách xử lý các lệnh kết hợp). Những lệnh này không phân biệt chữ hoa chữ thường.

Lệnh
all Không có hạn chế nào đối với việc lập chỉ mục hoặc phân phát. Lưu ý: lệnh này là giá trị mặc định và không có hiệu lực nếu được liệt kê rõ ràng.
noindex Không hiển thị trang này trong kết quả tìm kiếm và không hiển thị liên kết "Đã lưu trong bộ nhớ đệm" trong kết quả tìm kiếm.
nofollow Không theo các liên kết trên trang này.
none Tương đương với noindex, nofollow.
noarchive Không hiển thị liên kết "Đã lưu trong bộ nhớ đệm" trong kết quả tìm kiếm.
nosnippet Không hiển thị đoạn trích văn bản hoặc đoạn video mẫu trong kết quả tìm kiếm cho trang này. Một hình thu nhỏ tĩnh (nếu có) sẽ vẫn hiển thị.
notranslate Không cung cấp bản dịch của trang này trong kết quả tìm kiếm.
noimageindex Không lập chỉ mục hình ảnh trên trang này.
unavailable_after: [RFC-850 date/time] Không hiển thị trang này trong kết quả tìm kiếm sau ngày/giờ chỉ định. Ngày/giờ phải được chỉ định ở định dạng RFC 850.

Sau khi tệp robots.txt (hoặc không tệp nào) đã cho phép thu thập dữ liệu một trang, thì theo mặc định, các trang đó được coi là có thể thu thập dữ liệu, lập chỉ mục, lưu trữ và nội dung của chúng được phê duyệt để sử dụng trong đoạn trích hiển thị trong kết quả tìm kiếm, trừ khi thẻ meta robots hoặc X-Robots-Tag từ chối quyền này một cách rõ ràng.

Xử lý các lệnh kết hợp về lập chỉ mục và phân phát

Bạn có thể tạo một hướng dẫn nhiều lệnh thông qua việc kết hợp các lệnh bằng thẻ meta robots với dấu phẩy. Dưới đây là một ví dụ về thẻ meta robots hướng dẫn trình thu thập dữ liệu web không lập chỉ mục trang và không thu thập bất kỳ liên kết nào trên trang:

<meta name="robots" content="noindex, nofollow">

Đối với các tình huống trong đó nhiều trình thu thập dữ liệu được chỉ định với các lệnh khác nhau, công cụ tìm kiếm sẽ sử dụng lệnh tổng hợp của các lệnh không cho phép. Ví dụ:

<meta name="robots" content="nofollow">
<meta name="googlebot" content="noindex">

Googlebot sẽ diễn giải trang chứa các thẻ meta này là có lệnh noindex, nofollow khi thu thập dữ liệu trang đó.

Triển khai X-Robots-Tag bằng Apache trong thực tế

Bạn có thể thêm X-Robots-Tag vào các phản hồi HTTP của trang web bằng cách sử dụng các tệp .htaccess và httpd.conf mặc định có sẵn trên các máy chủ web dựa trên Apache. Lợi ích của việc sử dụng X-Robots-Tag với phản hồi HTTP là bạn có thể chỉ định các lệnh thu thập dữ liệu mà sẽ áp dụng trên toàn bộ một trang web. Bên cạnh đó, các biểu thức chính quy được hỗ trợ cũng mang lại mức độ linh hoạt cao.

Ví dụ: để thêm X-Robots-Tag noindex, nofollow vào phản hồi HTTP cho tất cả các tệp.PDF trên toàn bộ trang web, hãy thêm đoạn mã sau vào tệp .htaccess hoặc tệp httpd.conf ở thư mục gốc của trang web:

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

Bạn có thể sử dụng X-Robots-Tag cho các tệp không phải HTML như tệp hình ảnh trong đó không thể sử dụng thẻ meta robots. Sau đây là một ví dụ về cách thêm một lệnh X-Robots-Tag noindex cho các tệp hình ảnh (.png, .jpeg, .jpg, .gif) trên toàn bộ trang web:

<Files ~ "\.(png|jpe?g|gif)$">
  Header set X-Robots-Tag "noindex"
</Files>

Kết hợp các lệnh thu thập dữ liệu với lệnh lập chỉ mục/phân phát

Googlebot sẽ phát hiện thẻ meta robots và tiêu đề HTTP X-Robots-Tag khi thu thập dữ liệu một URL. Nếu tệp robots.txt chặn Googlebot thu thập dữ liệu một trang, thì mọi thông tin về lệnh lập chỉ mục hoặc phân phát sẽ không được tìm thấy và do đó sẽ bị bỏ qua. Nếu muốn Googlebot phải tuân theo các lệnh lập chỉ mục hoặc phân phát, thì bạn không được chặn Googlebot thu thập dữ liệu các URL chứa những lệnh đó.

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