Thứ Ba, 29 tháng 12, 2020

thumbnail

[Robots-meta-tag] Bản đặc tả về thẻ meta robots, thuộc tính data-nosnippet và X-Robots-Tag

 

Bản tóm tắt

Tài liệu này trình bày chi tiết cách sử dụng các tùy chọn cài đặt cấp trang và cấp văn bản để điều chỉnh cách Google trình bày nội dung của bạn trong kết quả tìm kiếm. Bạn có thể chỉ định các tùy chọn cài đặt cấp trang bằng cách bao gồm thẻ meta trên các trang HTML hoặc trong tiêu đề HTTP. Bạn có thể chỉ định các tùy chọn cài đặt cấp văn bản bằng thuộc tính data- nosnippet trên các phần tử HTML trong một trang.

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ả của Google Tìm kiếm. Hãy đặt thẻ meta robots trong phần <head> của một trang nhất định, như trong ví dụ sau:

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

Thẻ meta robots trong ví dụ trên hướng dẫn các 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. Để 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 chỉ dẫ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 lập chỉ mục trang của bạn, hãy cập nhật thẻ như sau:

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

Hiện tại, thẻ này chỉ dẫn Google không hiển thị trang này trong kết quả tìm kiếm. Cả hai thuộc tính name và content đều không phân biệt chữ hoa chữ thường.

Các công cụ tìm kiếm có thể có những trình thu thập dữ liệu riêng cho từng tài sản hoặc mục đích. 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" />

Để chỉ định riêng nhiều trình thu thập dữ liệu, hãy sử dụng nhiều thẻ meta robots:

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

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

Bạn có thể sử dụng X-Robots-Tag dưới dạng 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 dùng được 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 có X-Robots-Tag 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
(…)

Bạn 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 tiêu đề HTTP sử dụng noarchive X-Robots-Tag kết hợp với unavailable_after X-Robots-Tag.

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
(…)

Nếu muốn, bạn có thể chỉ định một tác nhân người dùng ở phía trước các lệnh trong thẻ X-Robots-Tag. Ví dụ: bạn có thể sử dụng nhóm tiêu đề HTTP X-Robots-Tag sau đây để cho phép (kèm theo điều kiện) 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. Tiêu đề HTTP, tên tác nhân người dùng và các giá trị được 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ệ

Bạn có thể dùng các lệnh sau đây với thẻ meta robots và X-Robots-Tag để kiểm soát việc lập chỉ mục và phân phát đoạn trích. Trong kết quả tìm kiếm, đoạn trích là một đoạn trích văn bản ngắn gọn dùng để thể hiện mức độ liên quan của nội dung với truy vấn của người dùng. Bảng dưới đây cho thấy tất cả các lệnh mà Google tuân theo và ý nghĩa của chúng. Mỗi giá trị đại diện cho một lệnh cụ thể. 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. Các 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ệ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.

nofollow

Không truy cập các đường liên kết trên trang này.

none

Tương đương với noindex, nofollow.

noarchive

Không hiển thị đường 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 bản xem trước video trong kết quả tìm kiếm cho trang này. Hình thu nhỏ tĩnh (nếu có) vẫn có thể hiển thị nếu mang lại trải nghiệm tốt hơn cho người dùng. Lệnh này áp dụng cho tất cả các dạng kết quả tìm kiếm (trên Google: tìm kiếm trên web, Google Hình ảnh, Khám phá).

max-snippet:[number]

Sử dụng tối đa [number] ký tự làm đoạn trích văn bản cho kết quả tìm kiếm này. (Xin lưu ý rằng một URL có thể xuất hiện dưới dạng nhiều kết quả tìm kiếm trong một trang kết quả). Lệnh này không ảnh hưởng đến các hình ảnh hoặc video xem trước. Lệnh này áp dụng cho tất cả các dạng kết quả tìm kiếm (như Google Web Search, Google Hình ảnh, Khám phá, Trợ lý). Tuy nhiên, giới hạn này không áp dụng trong trường hợp nhà xuất bản đã cấp riêng quyền sử dụng nội dung. Ví dụ: nếu nhà xuất bản cung cấp nội dung dưới dạng dữ liệu có cấu trúc trong trang hoặc có thỏa thuận cấp phép với Google, thì tùy chọn cài đặt này không gây cản trở cho những phương thức sử dụng cụ thể mà nhà xuất bản đã cho phép. Lệnh này bị bỏ qua nếu bạn không chỉ định [number] có thể phân tích cú pháp.

Giá trị đặc biệt:

  • 0: Không hiển thị đoạn trích. Tương đương với nosnippet.
  • -1: Google sẽ chọn độ dài đoạn trích mà chúng tôi cho là hiệu quả nhất để giúp người dùng khám phá nội dung và đưa người dùng đến trang web của bạn.

Ví dụ:

<meta name="robots" content="max-snippet:20">

max-image-preview:[setting]

Chỉ định kích thước tối đa của hình ảnh xem trước cho trang này trong kết quả tìm kiếm.

Giá trị setting được chấp nhận:

  • none: Không hiển thị hình ảnh xem trước.
  • standard: Có thể hiển thị hình ảnh xem trước mặc định.
  • large: Có thể hiển thị hình ảnh xem trước lớn, với kích thước tối đa bằng chiều rộng của khung nhìn.

Lệnh này áp dụng cho tất cả các dạng kết quả tìm kiếm (như Google Web Search, Google Hình ảnh, Khám phá, Trợ lý). Tuy nhiên, giới hạn này không áp dụng trong trường hợp nhà xuất bản đã cấp riêng quyền sử dụng nội dung. Ví dụ: nếu nhà xuất bản cung cấp nội dung dưới dạng dữ liệu có cấu trúc trong trang (chẳng hạn như AMP và phiên bản chuẩn của một bài viết) hoặc có thỏa thuận cấp phép với Google, thì tùy chọn cài đặt này sẽ không gây cản trở cho những phương thức sử dụng cụ thể mà nhà xuất bản đã cho phép.

Nếu không muốn Google sử dụng hình thu nhỏ có kích thước lớn khi các trang AMP và phiên bản chuẩn của bài viết của họ hiển thị trong kết quả tìm kiếm hoặc Khám phá, các nhà xuất bản nên chỉ định giá trị max-image-preview là standard hoặc none.

Ví dụ:

<meta name="robots" content="max-image-preview:standard">

max-video-preview:[number]

Sử dụng đoạn trích video có thời lượng tối đa [number] giây cho các video trên trang này trong kết quả tìm kiếm.

Các giá trị khác mà hệ thống hỗ trợ:

  • 0: Tối đa là, công cụ tìm kiếm được phép dùng hình ảnh tĩnh, tùy thuộc vào tùy chọn cài đặt max-image-preview.
  • -1: Không có giới hạn.

Lệnh này áp dụng cho tất cả các dạng kết quả tìm kiếm (trên Google: tìm kiếm trên web, Google Hình ảnh Google Videos, Khám phá, Trợ lý). Lệnh này bị bỏ qua nếu bạn không chỉ định [number] có thể phân tích cú pháp.

Ví dụ:

<meta name="robots" content="max-video-preview:-1">

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: [date/time]

Không hiển thị trang này trong kết quả tìm kiếm sau ngày/giờ chỉ định. Bạn phải chỉ định ngày/giờ ở một định dạng được chấp nhận rộng rãi, bao gồm nhưng không giới hạn ở các định dạng RFC 822RFC 850 và ISO 8601. Lệnh này bị bỏ qua nếu bạn không chỉ định [date/time] hợp lệ. Theo mặc định, không có ngày hết hạn cho nội dung.

Ví dụ:

<meta name="robots" content="unavailable_after: 2020-09-21">

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

Bạn có thể tạo một hướng dẫn nhiều lệnh bằng cách dùng dấu phẩy để kết hợp các lệnh thẻ meta robots. 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 dữ liệu đối với bất kỳ đường liên kết nào trên trang:

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

Dưới đây là ví dụ về cách đặt giới hạn 20 ký tự cho đoạn trích văn bản và cho phép hiển thị hình ảnh xem trước lớn:

<meta name="robots" content="max-snippet:20, max-image-preview:large">

Trong trường hợp bạn chỉ định nhiều lệnh khác nhau cho nhiều trình thu thập dữ liệu, 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 đó.

Sử dụng thuộc tính HTML data-nosnippet

Bạn có thể chỉ dẫn các công cụ không sử dụng các phần văn bản của trang HTML làm đoạn trích. Bạn có thể triển khai lệnh này ở cấp phần tử HTML bằng thuộc tính HTML data-nosnippet trong các phần tử spandiv và sectiondata-nosnippet được coi là một thuộc tính boolean và luôn hợp lệ dù có giá trị hay không. Để đảm bảo máy đọc được thì phần HTML đó phải là một phần tử HTML hợp lệ và bạn phải đóng chính xác tất cả các thẻ.

Ví dụ:

<p>This text can be shown in a snippet
 <span data-nosnippet>and this part would not be shown</span>.</p>

<div data-nosnippet>not in snippet</div>
<div data-nosnippet="true">also not in snippet</div>

<div data-nosnippet>some text</html>
<!-- unclosed "div" will include all content afterwards -->

<mytag data-nosnippet>some text</mytag>
<!-- NOT VALID: not a span, div, or section -->

Google thường kết xuất các trang để lập chỉ mục, tuy nhiên quá trình kết xuất không phải lúc nào cũng diễn ra. Do đó, việc trích xuất data-nosnippet có thể xảy ra cả trước và sau khi kết xuất. Do không phải lúc nào Google cũng thực hiện việc kết xuất, nên bạn không nên thêm hoặc xóa thuộc tính data-nosnippet của các nút hiện có qua JavaScript. Khi thêm các phần tử DOM thông qua JavaScript, hãy bao gồm thuộc tính data-nosnippet nếu cần thiết khi bắt đầu thêm phần tử vào DOM của trang. Nếu bạn sử dụng các phần tử tùy chỉnh, hãy đặt hoặc kết xuất các phần tử đó trong các phần tử divspan hoặc section nếu bạn cần sử dụng data- nosnippet.

Sử dụng dữ liệu có cấu trúc

Thẻ meta robots chi phối lượng nội dung mà Google tự động trích xuất từ các trang web để hiển thị dưới dạng kết quả tìm kiếm. Nhưng nhiều nhà xuất bản cũng sử dụng dữ liệu có cấu trúc schema.org để cung cấp thông tin cụ thể cho việc trình bày kết quả tìm kiếm. Các giới hạn với thẻ meta robots không ảnh hưởng đến việc sử dụng dữ liệu có cấu trúc đó, ngoại trừ article.description và các giá trị của description đối với dữ liệu có cấu trúc đã chỉ định cho các tác phẩm sáng tạo khác. Để chỉ định thời lượng tối đa của nội dung xem trước dựa trên các giá trị description này, hãy sử dụng thẻ meta robots max-snippet. Ví dụ: dữ liệu có cấu trúc recipe trên một trang sẽ đủ điều kiện xuất hiện trong băng chuyền công thức, ngay cả khi văn bản xem trước bị giới hạn. Bạn có thể sử dụng max-snippet để giới hạn độ dài của nội dung xem trước bằng văn bản, nhưng thẻ meta robots đó không áp dụng khi thông tin được cung cấp bằng dữ liệu có cấu trúc để hiển thị dưới dạng kết quả nhiều định dạng.

Để quản lý việc sử dụng dữ liệu có cấu trúc cho các trang web của bạn, hãy sửa đổi các loại và giá trị của dữ liệu có cấu trúc, thêm hoặc xóa thông tin để chỉ cung cấp dữ liệu mà bạn muốn hiển thị. Xin lưu ý rằng hệ thống vẫn có thể sử dụng dữ liệu có cấu trúc cho kết quả tìm kiếm khi bạn khai báo dữ liệu đó trong phần tử data-nosnippet.

Cách triển khai X-Robots-Tag trong thực tế

Bạn có thể thêm X-Robots-Tag vào phản hồi HTTP của trang web thông qua các tệp cấu hình của phần mềm máy chủ web trên trang web của bạn. Ví dụ: trên các máy chủ web dựa trên Apache, bạn có thể sử dụng các tệp .htaccess và httpd.conf. 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 noindex, nofollow X-Robots-Tag 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 gốc hoặc tệp httpd.conf của trang web trên Apache, hoặc tệp .conf của trang web trên NGINX

Apache:

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

NGINX:

location ~* \.pdf$ {
  add_header X-Robots-Tag "noindex, nofollow";
}

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

Apache:

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

NGINX:

location ~* \.(png|jpe?g|gif)$ {
  add_header X-Robots-Tag "noindex";
}

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 đó.

Được tạo bởi Blogger.

Bài đăng tiêu biểu