Quy cách của thẻ meta
Robots, data-nosnippet
và X-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 name
và content
đề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:
googlebot
: đối với tất cả kết quả dạng văn bản.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
robots và X-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 | |
---|---|
|
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. |
|
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. |
|
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 .
|
|
Tương đương với noindex, nofollow . |
|
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. |
|
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. |
|
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. Điều 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 do AI tạo) và cũng sẽ ngăn không cho nội dung được dùng làm dữ liệu đầu vào trực tiếp cho Thông tin tổng quan về AI. 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. Để loại một số mục nội dung của bạn khỏi đoạn trích trong kết quả tìm kiếm, hãy dùng thuộc tính HTML |
|
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
|
|
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 (chẳng hạn như Google Tìm kiếm cho web, Google Hình ảnh, Khám phá, Trợ lý, Thông tin tổng quan do AI tạo) và cũng sẽ giới hạn lượng nội dung có thể dùng làm dữ liệu đầu vào trực tiếp cho Thông tin tổng quan do AI tạo của chúng tôi. 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:
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"> |
|
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 Những giá trị [chế độ cài đặt] được chấp 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ị Ví dụ: <meta name="robots" content="max-image-preview:standard"> |
|
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 Giá trị đặc biệt:
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"> |
|
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. |
|
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. |
|
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 850 và ISO 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
, div
và section
. 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 đó.