Quy cách của thẻ meta Robots, data-nosnippetX-Robots-Tag

Tài liệu này trình bày chi tiết cách sử dụng các chế độ 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 chế độ cài đặt cấp trang bằng cách thêm thẻ meta vào các trang HTML hoặc tiêu đề HTTP. Bạn có thể chỉ định các chế độ 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.

Lưu ý rằng các trình thu thập dữ liệu chỉ có thể đọc và tuân theo những chế độ cài đặt này nếu được phép truy cập vào các trang có những chế độ đó.

Quy tắc <meta name="robots" content="noindex"> sẽ áp dụng cho các trình thu thập dữ liệu của công cụ tìm kiếm. Để chặn các trình thu thập dữ liệu không phải của công cụ tìm kiếm, chẳng hạn như AdsBot-Google, có thể bạn sẽ phải thêm các quy tắc nhắm mục tiêu đến một trình thu thập dữ liệu cụ thể (ví dụ: <meta name="AdsBot-Google" content="noindex">).

Sử dụng thẻ meta robots

Thẻ meta robots cho phép bạn sử dụng phương pháp chi tiết, cụ thể theo từng trang để kiểm soát cách Google lập chỉ mục và phân phát từng 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 vào 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>

Trong ví dụ này, thẻ meta robots sẽ hướng dẫn các công cụ tìm kiếm không cho trang xuất hiện trong kết quả tìm kiếm. Giá trị của thuộc tính name (robots) chỉ định rằng quy tắc này áp dụng cho mọi trình thu thập dữ liệu. Cả hai thuộc tính namecontent đều không phân biệt chữ hoa chữ thường. Để nhắm đến 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 mã tác nhân người dùng của trình thu thập dữ liệu mà bạn nhắm đến. Google hỗ trợ hai mã tác nhân người dùng trong thẻ meta robots; các giá trị khác sẽ bị bỏ qua:

  1. googlebot: đối với tất cả kết quả dạng văn bản.
  2. googlebot-news: đối với kết quả dạng tin tức.

Ví dụ: Để hướng dẫn Google không cho phép một trang cụ thể xuất hiện trong kết quả tìm kiếm, bạn có thể chỉ định googlebot làm tên của thẻ meta:

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

Để cho phép một trang xuất hiện trong kết quả tìm kiếm trên web của Google nhưng không cho phép trang đó xuất hiện trong Google News, hãy sử dụng thẻ meta googlebot-news:

<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">

Để chặn việc lập chỉ mục các tài nguyên không phải dạng HTML (chẳng hạn như tệp PDF, tệp video hoặc tệp hình ảnh), hãy sử dụng tiêu đề phản hồi X-Robots-Tag.

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. Mọi quy tắc có thể sử dụng trong thẻ meta robots đều cũng có thể được chỉ định là X-Robots-Tag. Sau đây là ví dụ về một phản hồi HTTP chứa 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 quy tắc được phân tách bằng dấu phẩy. Sau đây là ví dụ về một phản hồi tiêu đề HTTP có sử dụng quy tắc X-Robots-Tag noarchive kết hợp với quy tắc 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
(…)

Nếu bạn muốn, thẻ X-Robots-Tag có thể chỉ định một tác nhân người dùng trước các quy tắc. Ví dụ: bạn có thể dùng nhóm tiêu đề HTTP X-Robots-Tag sau đây để cho phép các công cụ tìm kiếm khác nhau hiển thị một trang trong kết quả tìm kiếm (kèm theo điều kiện):

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

Những quy tắc được chỉ định mà không nêu rõ tác nhân người dùng thì sẽ được áp dụng cho mọi 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.

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

Bạn cũng có thể sử dụng các quy tắc sau (ở định dạng mà máy có thể đọc) để kiểm soát hoạt động lập chỉ mục và phân phát đoạn trích bằng thẻ meta robotsX-Robots-Tag. Mỗi giá trị đại diện cho một quy tắc cụ thể. Có thể kết hợp nhiều quy tắc trong một danh sách được phân tách bằng dấu phẩy hoặc trong các thẻ meta riêng biệt. Các quy tắc này không phân biệt chữ hoa chữ thường.

Quy tắc

all

Không có hạn chế nào đối với hoạt động lập chỉ mục hay phân phát. Quy tắc này là giá trị mặc định và không gây ảnh hưởng gì khi được nêu rõ ràng.

noindex

Không hiển thị trang, nội dung phương tiện hoặc tài nguyên này trong kết quả tìm kiếm. Nếu bạn không chỉ định quy tắc này, thì trang, nội dung phương tiện hoặc tài nguyên này có thể được lập chỉ mục và xuất hiện trong kết quả tìm kiếm.

Để xoá thông tin khỏi Google, hãy làm theo hướng dẫn từng bước của chúng tôi.

nofollow

Không đi theo các đường liên kết trên trang này. Nếu bạn không chỉ định quy tắc này, thì Google có thể sử dụng các đường liên kết trên trang để khám phá những trang được liên kết. Tìm hiểu thêm về nofollow.

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. Nếu bạn không chỉ định quy tắc này, thì Google có thể tạo một trang được lưu vào bộ nhớ đệm và người dùng có thể truy cập vào trang đó qua các kết quả tìm kiếm.

nositelinkssearchbox

Không hiện hộp tìm kiếm cho đường liên kết trang web trong kết quả tìm kiếm cho trang này. Nếu bạn không chỉ định quy tắc này, thì Google có thể tạo một hộp tìm kiếm riêng cho trang web của bạn trong kết quả tìm kiếm, cùng với các đường liên kết trực tiếp khác đến trang web của bạn.

nosnippet

Không hiện đoạn trích văn bản hoặc video xem trước 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 mọi 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á). Thông tin tổng quan của Google SGE cũng sẽ không cho thấy nội dung bị chặn bằng nosnippet.

Nếu bạn không chỉ định quy tắc này, thì Google có thể tạo một đoạn trích văn bản và video xem trước dựa trên thông tin tìm thấy trên trang.

indexifembedded

Google được phép lập chỉ mục nội dung của một trang nếu trang đó được nhúng trong một trang khác thông qua iframes hoặc các thẻ HTML tương tự, bất kể có quy tắc noindex hay không.

indexifembedded chỉ có hiệu lực nếu có noindex đi kèm.

max-snippet: [số]

Sử dụng tối đa [số] ký tự trong đoạn trích văn bản cho kết quả tìm kiếm này. (Lưu ý rằng một URL có thể xuất hiện trong nhiều kết quả tìm kiếm trên một trang kết quả tìm kiếm). Lệnh này không ảnh hưởng đến hình ảnh hoặc video xem trước. Lệnh này áp dụng cho mọi dạng kết quả tìm kiếm (như tìm kiếm web trên Google, Google Hình ảnh, Khám phá, Trợ lý). Thông tin tổng quan của Google SGE cũng sẽ không cho thấy những nội dung vượt quá giới hạn đã chỉ định. 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ó thoả thuận cấp phép với Google, thì chế độ cài đặt này không cản trở những phương thức sử dụng cụ thể hơn mà nhà xuất bản đó đã cho phép. Quy tắc này sẽ bị bỏ qua nếu bạn không chỉ định [số] có thể phân tích cú pháp.

Nếu bạn không chỉ định quy tắc này, Google sẽ chọn độ dài của đoạn trích.

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ụ:

Cách ngăn một đoạn trích hiển thị trong kết quả tìm kiếm:

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

Cách cho phép hiển thị tối đa 20 ký tự trong đoạn trích:

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

Cách chỉ định rằng không có giới hạn về số lượng ký tự hiển thị trong đoạn trích:

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

max-image-preview: [chế độ cài đặt]

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.

Nếu bạn không chỉ định quy tắc max-image-preview, thì có thể Google sẽ cho thấy một hình ảnh xem trước có kích thước mặc định.

Những giá trị [chế độ cài đặt] được chấp nhận:

  • none: Không hiển thị hình ảnh xem trước.
  • standard: Có thể hiển thị một hình ảnh xem trước mặc định.
  • large: Có thể hiển thị một hình ảnh xem trước lớn hơ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 mọi dạng kết quả tìm kiếm (như tìm kiếm web trên Google, 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 hóa của một bài viết) hoặc có thỏa thuận cấp phép với Google, thì chế độ cài đặt này sẽ không cản trở những phương thức sử dụng cụ thể hơn mà nhà xuất bản đó đã cho phép.

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

Ví dụ:

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

max-video-preview: [số]

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

Nếu bạn không chỉ định quy tắc max-video-preview, thì Google có thể hiển thị một đoạn video trong kết quả tìm kiếm và bạn cho Google quyết định thời lượng xem trước đoạn video đó.

Giá trị đặc biệt:

  • 0: Được sử dụng tối đa một hình ảnh tĩnh, theo chế độ cài đặt của max-image-preview.
  • -1: Không có giới hạn.

Quy tắc này áp dụng cho mọi dạng kết quả tìm kiếm (trên Google: tìm kiếm trên web, Google Hình ảnh, Google Video, Khám phá, Trợ lý). Quy tắc này sẽ bị bỏ qua nếu bạn không chỉ định [số] 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. Nếu bạn không chỉ định quy tắc này, thì có thể Google sẽ cung cấp bản dịch cho đường liên kết tiêu đề và đoạn trích của kết quả tìm kiếm đối với những kết quả không cùng ngôn ngữ với cụm từ tìm kiếm. Nếu người dùng nhấp vào đường liên kết tiêu đề đã được dịch, thì mọi tương tác tiếp theo của người dùng với trang đó sẽ diễn ra thông qua Google Dịch. Công cụ này sẽ tự động dịch mọi đường liên kết mà người dùng đi theo.

noimageindex

Không lập chỉ mục hình ảnh trên trang này. Nếu bạn không chỉ định giá trị này, thì hình ảnh trên trang có thể được lập chỉ mục và hiển thị trong kết quả tìm kiếm.

unavailable_after: [ngày/giờ]

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, chẳng hạn như RFC 822, RFC 850ISO 8601. Quy tắc này sẽ bị bỏ qua nếu bạn không chỉ định ngày/giờ hợp lệ. Theo mặc định, không có ngày hết hạn đối với nội dung.

Nếu bạn không chỉ định quy tắc này, thì trang này có thể xuất hiện vô thời hạn trong kết quả tìm kiếm. Googlebot sẽ giảm đáng kể tốc độ thu thập dữ liệu của URL sau ngày và giờ được chỉ định.

Ví dụ:

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

Xử lý các quy tắc 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 gồm nhiều quy tắc bằng cách dùng dấu phẩy để kết hợp các quy tắc thẻ meta robots hoặc sử dụng nhiều thẻ meta. Sau đây là ví dụ về một 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 của đường liên kết nào trên trang:

Danh sách được phân tách bằng dấu phẩy

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

Nhiều thẻ meta

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

Sau đâ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ị một hình ảnh xem trước có kích thướ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 quy tắc cho nhiều trình thu thập dữ liệu, công cụ tìm kiếm sẽ sử dụng quy tắc tổng hợp của các quy tắc không cho phép. Ví dụ:

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

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

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

Bạn có thể chỉ dẫn công cụ tìm kiếm không sử dụng những phần văn bản nào 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ử span, divsection. data-nosnippet được coi là một thuộc tính boolean (logic). Tương tự như với mọi thuộc tính boolean (logic), mọi giá trị được chỉ định sẽ bị bỏ qua. Để đảm bảo máy đọc được thì phần HTML đó phải là HTML hợp lệ và bạn phải đóng chính xác mọi thẻ liên quan.

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="false">also not in snippet</div>
<!-- all values are ignored -->

<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 -->

<p>This text can be shown in a snippet.</p>
<div data-nosnippet>
  <p>However, this is not in snippet.</p>
  <ul>
    <li>Stuff not in snippet</li>
    <li>More stuff not in snippet</li>
  </ul>
</div>

Google thường kết xuất các trang để lập chỉ mục nhưng 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. Vì không phải lúc nào Google cũng thực hiện thao tác kết xuất nên bạn không cầ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 dùng thuộc tính data-nosnippet nếu cần thiết khi bắt đầu thêm phần tử này vào DOM của trang. Nếu bạn sử dụng các phần tử tùy chỉnh, hãy gói hoặc kết xuất các phần tử đó trong các phần tử div, span 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 của thẻ meta Robots không ảnh hưởng đến việc sử dụng loại dữ liệu có cấu trúc này, ngoại trừ article.description và các giá trị của description đối với dữ liệu có cấu trúc được chỉ định cho các nội dung sáng tạo khác. Hãy sử dụng quy tắc max-snippet để 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. Ví dụ: một trang chứa dữ liệu có cấu trúc recipe sẽ đủ điều kiện xuất hiện trong băng chuyền công thức nấu ăn, 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 văn bản xem trước 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 xoá 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 cho 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 trong phản hồi HTTP là bạn có thể chỉ định những quy tắc thu thập dữ liệu có phạm vi áp dụng trên toàn bộ trang web. Các biểu thức chính quy giúp làm tăng mức độ linh hoạt.

Ví dụ: để thêm một X-Robots-Tag noindex, nofollow vào phản hồi HTTP cho mọi tệp .PDF trên toàn bộ trang web, hãy thêm đoạn mã sau đây vào tệp .htaccess gốc của trang web hoặc tệp httpd.conf 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ẻ robots meta HTML. Sau đây là ví dụ về cách thêm quy tắc X-Robots-Tag noindex 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";
}

Bạn cũng có thể đặt tiêu đề X-Robots-Tag cho từng tệp tĩnh riêng lẻ:

Apache

# the htaccess file must be placed in the directory of the matched file.
<Files "unicorn.pdf">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

NGINX

location = /secrets/unicorn.pdf {
  add_header X-Robots-Tag "noindex, nofollow";
}

Kết hợp quy tắc trong tệp robots.txt với các quy tắc lập chỉ mục và phân phát

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