Bỏ qua tới nội dung
Theo dõi định kỳTheo dõi site

Meta robots và X-Robots-Tag: noindex, nofollow, nosnippet và các lệnh ít người biết

Meta robots là thẻ trong head, X-Robots-Tag là tiêu đề HTTP; cả hai nói với Google có lập chỉ mục trang không và hiện đoạn trích thế nào. Lệnh hay dùng nhất là noindex, và bẫy lớn nhất là chặn trang đó trong robots.txt khiến Google không bao giờ đọc được lệnh noindex.

Ban biên tập SEO Gốc · · 6 phút đọc

Nhân viên khách sạn áo xanh nhạt căng sợi dây đỏ ngang cửa một phòng ở hành lang khu nghỉ dưỡng

Có hai cách nói với Google “đừng đưa trang này lên kết quả”: thẻ <meta name="robots" content="noindex"> trong phần <head> của HTML, hoặc tiêu đề HTTP X-Robots-Tag: noindex do máy chủ gửi kèm. Hai cách có tác dụng như nhau; khác ở chỗ tiêu đề HTTP dùng được cho tệp không phải HTML (PDF, ảnh, tệp Word) và đặt hàng loạt bằng cấu hình máy chủ. Ngoài noindex, nhóm lệnh này còn điều khiển đoạn trích, ảnh xem trước, bản lưu, và thời điểm trang hết hạn. Hiểu đúng từng lệnh giúp tránh hai loại lỗi đắt giá: noindex nhầm trang đang kiếm tiền, và tưởng đã chặn mà thật ra Google vẫn lập chỉ mục.

Cú pháp và nơi đặt

<!-- Trong head của HTML -->
<meta name="robots" content="noindex, follow">

<!-- Chỉ áp cho Google -->
<meta name="googlebot" content="noindex">

# Tiêu đề HTTP (nginx), áp cho mọi tệp PDF
location ~* \.pdf$ {
    add_header X-Robots-Tag "noindex, nofollow";
}

Không có thẻ robots nào thì mặc định là index, follow: được lập chỉ mục, được đi theo liên kết. Vì vậy viết <meta name="robots" content="index, follow"> là thừa, không hại nhưng không thêm gì. Khi có nhiều lệnh mâu thuẫn (ví dụ một thẻ ghi index, một thẻ ghi noindex), Google chọn lệnh hạn chế nhất.

Bảng lệnh và tác dụng

LệnhTác dụngDùng khi
noindexKhông đưa trang lên kết quả tìm kiếmTrang cảm ơn, trang tìm kiếm nội bộ, trang tài khoản, trang lọc không cần lên Google
nofollowKhông đi theo liên kết trên trang (Google coi là gợi ý)Hiếm khi cần; trang toàn liên kết do người dùng gửi chưa duyệt
noneBằng noindex, nofollowTrang nội bộ hoàn toàn
nosnippetKhông hiện đoạn trích chữ hay video xem trước; nội dung cũng không được dùng làm đầu vào cho AI OverviewsNội dung trả phí, trang muốn người tìm phải bấm vào
max-snippet:[số]Giới hạn số ký tự đoạn trích; 0 giống nosnippet, -1 là không giới hạnTrang tin muốn giữ phần đoạn trích ngắn
max-image-preview:[none|standard|large]Kích thước ảnh xem trước được hiệnNên đặt large để đủ điều kiện ảnh lớn trong Discover
max-video-preview:[số giây]Độ dài đoạn video xem trướcTrang có video
noimageindexKhông lập chỉ mục ảnh trên trangẢnh độc quyền không muốn xuất hiện ở Google Hình ảnh
notranslateKhông đề xuất bản dịch trên kết quảTrang song ngữ tự quản lý bản dịch
unavailable_after:[ngày]Ngừng hiện sau một thời điểmTrang khuyến mãi, sự kiện có hạn

Một thuộc tính khác thuộc cùng nhóm nhưng đặt trên thẻ HTML: data-nosnippet gắn vào một đoạn <div>, <span> hoặc <section> để loại riêng đoạn đó khỏi đoạn trích, trong khi phần còn lại của trang vẫn được trích bình thường. Hữu ích cho khối thông báo cookie, khối giá đã cũ, hoặc khối chữ lặp ở mọi trang.

Lệnh riêng cho từng bot và cách các lệnh cộng lại

Thẻ name="robots" áp cho mọi công cụ tìm kiếm tuân thủ chuẩn. Muốn áp riêng, thay robots bằng tên bot: googlebot, googlebot-news, bingbot. Khi một trang có cả thẻ chung lẫn thẻ riêng, các lệnh cộng lại, không thay thế nhau. Ví dụ:

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

Với Googlebot, trang này vừa noindex vừa nofollow. Với Bingbot, trang chỉ nofollow. Tiêu đề X-Robots-Tag cũng nhận tên bot ở đầu: X-Robots-Tag: googlebot: noindex.

Trường hợp thực tế đáng dùng: trang tin tức muốn bài vẫn lên Google Tìm kiếm nhưng không lên Google Tin tức (ví dụ bài quảng cáo có trả tiền), đặt <meta name="googlebot-news" content="noindex">. Còn với các bot AI như GPTBot hay ClaudeBot, thẻ meta robots không phải là cơ chế chính để điều khiển; chúng được điều khiển qua robots.txt, xem cho hay chặn bot AI.

Một chi tiết hay bị bỏ qua: thẻ meta robots phải nằm trong <head>. Nếu giao diện lỡ in nó ra trong <body> (do plugin chèn sai chỗ, hoặc do một thẻ không hợp lệ trong head khiến trình phân tích đóng head sớm), Google có thể bỏ qua. Cùng một cơ chế làm canonical “rơi khỏi head” đã nói trong bài thẻ canonical.

Bẫy lớn nhất: noindex trong trang bị robots.txt chặn

Đây là lỗi phổ biến tới mức đáng nhắc riêng. Chủ site muốn gỡ thư mục /tag/ khỏi Google nên làm cả hai: thêm noindex vào trang thẻ, và thêm Disallow: /tag/ vào robots.txt cho chắc. Kết quả: Googlebot không được phép vào /tag/, nên không bao giờ đọc được thẻ noindex. Các trang thẻ đã được lập chỉ mục từ trước vẫn nằm đó, thậm chí hiện với dòng “Không có thông tin nào cho trang này”.

Thứ tự đúng: để robots.txt cho phép thu thập, đặt noindex, chờ Google thu thập lại và gỡ hết (theo dõi trong báo cáo Trang, mục “Bị loại trừ bởi thẻ noindex”), rồi mới cân nhắc chặn trong robots.txt nếu muốn tiết kiệm lượt thu thập. Phân biệt chặn thu thập với chặn lập chỉ mục có trong bài robots.txt: chặn thu thập không phải chặn lập chỉ mục.

Noindex cho tệp PDF, ảnh và tệp tải về

Tệp PDF không có phần head để đặt thẻ meta, nên chỉ dùng được X-Robots-Tag. Trường hợp hay gặp ở doanh nghiệp Việt: bảng giá, catalogue, hồ sơ năng lực đặt ở /wp-content/uploads/ và được lập chỉ mục, cạnh tranh với chính trang sản phẩm. Người tìm bấm vào tệp PDF 15 MB trên điện thoại rồi thoát ra. Hai cách xử lý:

  • Nếu PDF có giá trị riêng (tài liệu kỹ thuật, hướng dẫn lắp đặt): để lập chỉ mục, nhưng đặt Link: <https://tenmien.vn/trang-san-pham>; rel="canonical" trong tiêu đề HTTP nếu nội dung trùng với một trang HTML.
  • Nếu PDF chỉ là bản in của trang web: X-Robots-Tag: noindex cho cả thư mục tệp tải về.

Cấu hình mẫu cho Apache (tệp .htaccess):

<FilesMatch "\.(pdf|docx?|xlsx?)$">
  Header set X-Robots-Tag "noindex"
</FilesMatch>
Đôi tay người làm vườn bọc túi vải xanh nhạt cho một trái mít giữa những trái để trần

Đoạn trích và AI: nosnippet có đáng dùng không

Từ khi có AI Overviews, nhiều chủ site hỏi có nên đặt nosnippet để nội dung không bị AI tóm tắt mất lượt bấm. Cái giá: trang của bạn trên kết quả thường sẽ chỉ còn tiêu đề và địa chỉ, không có dòng mô tả, nên tỉ lệ bấm cũng giảm ở chính những câu tìm không có khối AI. Và nội dung bị loại khỏi khả năng được trích làm nguồn trong khối AI, tức mất luôn một cửa có lượt bấm. Với phần lớn site, đánh đổi này không đáng. Cân nhắc kỹ hơn trong bài AI Overviews ăn lượt bấm.

Lưu ý: chặn Google-Extended trong robots.txt không ảnh hưởng AI Overviews; nó chỉ điều khiển việc dùng nội dung để huấn luyện và trả lời trong Gemini. Kiểm tra cấu hình bot AI của site tại kiểm bot AI.

Noindex nhầm: những nơi hay giấu thẻ

  • WordPress, mục Cài đặt → Đọc: ô “Ngăn chặn các công cụ tìm kiếm đánh chỉ mục trang web này” bật từ lúc dựng thử, quên tắt khi lên thật. Ô này thêm noindex vào mọi trang. Xem cài đặt gốc WordPress.
  • Plugin SEO đặt noindex cho cả loại nội dung (toàn bộ sản phẩm, toàn bộ danh mục) chỉ bằng một công tắc.
  • Tiêu đề HTTP từ máy chủ hoặc CDN: cấu hình môi trường thử nghiệm có X-Robots-Tag: noindex bị chép sang môi trường thật. Không nhìn thấy trong mã nguồn trang, chỉ thấy khi xem tiêu đề phản hồi.
  • JavaScript chèn noindex sau khi tải trang trong một số điều kiện; Google có chạy JavaScript và sẽ tuân theo.

Kiểm tra cả hai chỗ bằng một lệnh:

curl -s -D - https://tenmien.vn/trang -o - | grep -iE "x-robots-tag|name=.robots"

Chấm điểm SEO kiểm cả thẻ meta lẫn tiêu đề X-Robots-Tag của trang chủ và các trang mẫu, báo lỗi noindex nếu thấy.

Checklist

  1. Trang cần lên Google: không có noindex ở cả thẻ meta lẫn tiêu đề HTTP.
  2. Trang không cần lên Google (cảm ơn, tài khoản, tìm kiếm nội bộ): có noindex.
  3. Trang có noindex không bị robots.txt chặn.
  4. PDF trùng nội dung trang HTML: noindex hoặc canonical qua tiêu đề Link.
  5. Đặt max-image-preview:large nếu muốn ảnh lớn trong Discover.
  6. Không dùng nosnippet trừ khi đã cân nhắc mất đoạn trích và cửa AI.
  7. Sau mỗi lần đổi giao diện, plugin, máy chủ: kiểm lại tiêu đề phản hồi.

Hỏi đáp

Noindex và Disallow trong robots.txt khác nhau thế nào?

Noindex cho phép Google đọc trang nhưng không đưa lên kết quả. Disallow cấm Google đọc trang, nhưng địa chỉ vẫn có thể lên kết quả nếu có liên kết trỏ vào. Muốn gỡ khỏi kết quả thì dùng noindex và không chặn trong robots.txt.

Đặt noindex rồi bao lâu thì trang biến mất khỏi Google?

Sau khi Google thu thập lại trang và thấy thẻ, thường từ vài ngày tới vài tuần tuỳ tần suất thu thập. Muốn nhanh hơn, dùng công cụ Kiểm tra URL để yêu cầu thu thập lại, hoặc công cụ Xoá để ẩn tạm thời.

Trang noindex có còn truyền giá trị qua liên kết không?

Ngắn hạn thì có, Google vẫn đi theo liên kết. Về lâu dài, Google cho biết trang noindex lâu ngày sẽ được thu thập ít đi và liên kết trên đó có thể dần không được xử lý. Đừng dựa vào trang noindex để dẫn liên kết tới trang quan trọng.

Có cần ghi index, follow không?

Không. Đó là mặc định. Thẻ này không hại nhưng không thêm tác dụng gì.

Đọc tiếp