Bỏ qua tới nội dung

GPTBot, ClaudeBot, Google-Extended: cho hay chặn bot AI trong robots.txt

Các hãng AI tách bot huấn luyện (GPTBot, ClaudeBot, CCBot, Google-Extended) khỏi bot tìm kiếm (OAI-SearchBot, Claude-SearchBot, PerplexityBot), nên bạn có thể chặn huấn luyện mà vẫn có mặt trong tìm kiếm AI. Chặn Google-Extended không ảnh hưởng Google Tìm kiếm hay AI Overviews vì chúng dùng Googlebot.

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

Cho hay chặn bot AI không phải một câu hỏi mà là hai: bạn có muốn nội dung của mình được dùng để huấn luyện mô hình không, và bạn có muốn site xuất hiện trong câu trả lời của các công cụ tìm kiếm AI (ChatGPT, Claude, Perplexity) không. Các hãng lớn đã tách hai việc này thành những bot khác nhau, nên robots.txt cho phép bạn trả lời "không" cho câu thứ nhất mà vẫn "có" cho câu thứ hai. Cách chọn hợp lý cho đa số site bán hàng, dịch vụ và nội dung tiếng Việt: cho bot tìm kiếm vào, cân nhắc chặn bot huấn luyện, và tuyệt đối không đụng tới Googlebot.

Bảng các bot cần biết

Tên trong robots.txtCủa aiDùng để làm gì
GPTBotOpenAIThu thập nội dung để huấn luyện mô hình nền tảng.
OAI-SearchBotOpenAILập chỉ mục cho tính năng tìm kiếm trong ChatGPT; quyết định site có được hiện và trích dẫn trong kết quả tìm kiếm của ChatGPT.
ChatGPT-UserOpenAITải trang khi một người dùng ChatGPT yêu cầu (dán đường dẫn, nhờ đọc trang).
ClaudeBotAnthropicThu thập nội dung có thể dùng để huấn luyện mô hình.
Claude-SearchBotAnthropicLập chỉ mục để cải thiện chất lượng kết quả tìm kiếm của Claude.
Claude-UserAnthropicTải trang khi người dùng Claude hỏi và cần đọc trang đó.
PerplexityBotPerplexityLập chỉ mục để hiện và dẫn nguồn trong câu trả lời của Perplexity.
Perplexity-UserPerplexityTải trang theo yêu cầu cụ thể của người dùng.
Google-ExtendedGoogleKhông phải bot riêng mà là một "token" điều khiển: nội dung Googlebot đã thu thập có được dùng để huấn luyện và làm nền cho Gemini hay không.
Applebot-ExtendedAppleTương tự Google-Extended: điều khiển việc dùng dữ liệu Applebot thu thập để huấn luyện mô hình của Apple.
CCBotCommon CrawlThu thập kho dữ liệu web mở, nguồn huấn luyện của rất nhiều mô hình.

Tài liệu chính chủ để đối chiếu: OpenAI — Overview of OpenAI crawlers, trang hỗ trợ của Anthropic về cách các bot của họ thu thập dữ liệu (support.anthropic.com), và danh sách trình thu thập của Google. Danh sách này thay đổi, nên mỗi năm nên đọc lại một lần.

Google-Extended: hiểu nhầm phổ biến nhất

AI Overviews và chế độ AI trong Google Tìm kiếm dùng chính Googlebot, không dùng Google-Extended. Vì vậy:

  • Chặn Google-Extended không làm site biến khỏi AI Overviews và không ảnh hưởng thứ hạng trên Google Tìm kiếm.
  • Muốn ra khỏi AI Overviews thì chỉ có cách rời Google Tìm kiếm (chặn Googlebot) hoặc hạn chế đoạn trích bằng nosnippet, max-snippet, data-nosnippet. Cả hai đều tốn kém hơn nhiều so với lợi ích, với gần như mọi site.

Chặn Google-Extended chỉ có ý nghĩa nếu bạn không muốn nội dung được dùng cho Gemini. Đó là lựa chọn về chính sách nội dung, không phải về SEO.

Ba cấu hình mẫu

Mẫu A: cho tất cả (site bán hàng, dịch vụ cần được biết tới)

Không cần dòng nào riêng cho bot AI. Robots.txt mặc định chỉ cần chặn những chỗ không nên thu thập (giỏ hàng, trang tìm kiếm nội bộ, khu quản trị) và khai sitemap.

Mẫu B: cho bot tìm kiếm AI, chặn bot huấn luyện (khuyến nghị cho site nội dung)

User-agent: *
Disallow: /quan-tri/
Disallow: /tim-kiem

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
Disallow: /quan-tri/
Disallow: /tim-kiem

Sitemap: https://example.com/sitemap.xml

Chú ý nhóm thứ ba phải chép lại các dòng Disallow của nhóm *. Lý do ở mục lỗi hay gặp bên dưới.

Mẫu C: chặn mọi bot AI (nội dung trả phí, dữ liệu là tài sản chính)

User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: CCBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

Robots.txt chỉ là lời đề nghị: bot của các hãng lớn tuyên bố tuân thủ, nhưng không có gì bắt buộc kỹ thuật. Nội dung thật sự cần bảo vệ phải nằm sau đăng nhập hoặc bị chặn ở tầng máy chủ (tường lửa, giới hạn tốc độ), không chỉ ở robots.txt.

Xem bot nào thật sự đang vào site

Trước khi quyết định, mở nhật ký truy cập máy chủ (access log) của 30 ngày và đếm theo User-Agent. Lệnh đơn giản trên máy chủ Linux:

grep -ohE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|CCBot|Bytespider" access.log* | sort | uniq -c | sort -rn

Con số này thường làm chủ site bất ngờ theo cả hai chiều: có site nhỏ bị bot huấn luyện tải hàng chục nghìn trang mỗi tháng, ăn băng thông nhiều hơn khách thật; có site tưởng đang "bị AI hút nội dung" nhưng log cho thấy gần như không bot nào ghé. Lưu ý User-Agent giả mạo được: một dòng ghi GPTBot chưa chắc là của OpenAI. Google và OpenAI có công bố dải địa chỉ IP của bot mình; với bot gây tải nặng, đối chiếu IP trước khi kết luận và trước khi chặn ở tường lửa.

Bot "theo yêu cầu người dùng" có tuân robots.txt không

Đây là vùng xám. Các bot dạng ChatGPT-User, Claude-User, Perplexity-User tải trang vì một người cụ thể vừa yêu cầu, giống như trình duyệt. Một số hãng ghi trong tài liệu rằng quy tắc robots.txt có thể không áp dụng cho loại truy cập này, hoặc đã thay đổi cách diễn đạt qua các lần cập nhật. Đừng dựa vào robots.txt để chặn chúng; nếu thật sự cần, chặn theo User-Agent ở máy chủ và chấp nhận rằng người dùng các trợ lý đó sẽ không đọc được trang bạn.

Lỗi hay gặp

  • Tạo nhóm riêng cho một bot rồi quên rằng nó bỏ qua nhóm *. Theo chuẩn robots.txt (RFC 9309) mà Google và các hãng lớn làm theo, một bot chỉ theo một nhóm: nhóm có tên khớp cụ thể nhất. Khi bạn viết User-agent: PerplexityBot với Allow: /, bot đó không còn đọc các dòng Disallow trong nhóm * nữa và sẽ thu thập cả khu quản trị, trang tìm kiếm nội bộ. Phải chép lại các dòng chặn vào nhóm riêng.
  • Viết sai tên bot. ChatGPTBot, Claude-Web, anthropic-ai là những tên cũ hoặc không tồn tại mà nhiều bài hướng dẫn vẫn chép lại. Viết sai tên thì dòng đó vô tác dụng mà không có cảnh báo nào. Đối chiếu tên với tài liệu chính chủ.
  • Chặn bằng plugin "chặn AI" rồi chặn luôn Googlebot. Đã gặp plugin bảo mật WordPress chặn theo chuỗi "bot" trong User-Agent ở tầng máy chủ, trả 403 cho cả Googlebot. Robots.txt trông vẫn sạch nhưng Search Console báo lỗi thu thập hàng loạt. Kiểm bằng công cụ Kiểm tra URL của Search Console sau mỗi lần đổi cấu hình chặn.
  • Tường lửa CDN chặn bot AI mặc định mà chủ site không biết. Một số dịch vụ CDN có tuỳ chọn chặn bot AI bật sẵn cho tên miền mới hoặc gói nhất định. Robots.txt cho phép nhưng bot vẫn nhận trang thử thách. Kiểm cả cài đặt tường lửa, không chỉ tệp robots.txt.
  • Đặt robots.txt sai chỗ. Tệp phải ở gốc của từng host: https://example.com/robots.txt và https://www.example.com/robots.txt là hai tệp khác nhau; tên miền phụ shop.example.com cũng cần tệp riêng.
  • Nghĩ rằng chặn hôm nay là xoá được dữ liệu đã thu thập. Robots.txt chỉ ngăn những lần thu thập sau. Dữ liệu đã có trong các kho huấn luyện trước đó không tự biến mất.

Nên chọn thế nào

Loại siteGợi ý
Doanh nghiệp, dịch vụ, cửa hàngMẫu A. Được AI nhắc tên khi người ta hỏi "nên mua ở đâu" là lợi.
Blog, trang kiến thức, báoMẫu B. Có mặt trong tìm kiếm AI, không cho không nội dung làm dữ liệu huấn luyện.
Nội dung trả phí, kho dữ liệu, ảnh gốcMẫu C, kèm chặn ở tầng máy chủ cho phần quan trọng.

Dù chọn mẫu nào, phần dành cho Googlebot, Bingbot giữ nguyên. Bing là nguồn dữ liệu tìm kiếm của nhiều trợ lý AI, nên chặn Bingbot là tự đóng thêm một cửa. Xem thêm cách robots.txt hoạt động và vì sao chặn thu thập khác chặn lập chỉ mục, và tệp llms.txt nếu bạn muốn chỉ đường cho AI đọc nội dung quan trọng.

Kiểm bằng SEO Gốc

Công cụ kiểm bot AI đọc robots.txt của site bạn đúng như một bot đọc, rồi cho biết từng bot trong bảng trên đang được phép hay bị chặn ở trang chủ, kèm việc có tệp llms.txt hay không. Nên chạy lại mỗi khi đổi robots.txt, đổi plugin bảo mật hoặc đổi CDN. Nếu muốn xem cả các lỗi kỹ thuật khác, dùng chấm điểm SEO. Bài AI Overviews ăn lượt bấm giải thích vì sao không nên chặn Googlebot để "tránh AI".

Hỏi đáp

Chặn GPTBot có làm site biến khỏi ChatGPT không?

Không hẳn. GPTBot là bot huấn luyện. Việc site hiện trong kết quả tìm kiếm của ChatGPT do OAI-SearchBot quyết định. Chặn GPTBot mà cho OAI-SearchBot thì vẫn có thể được trích dẫn trong tìm kiếm của ChatGPT.

Chặn Google-Extended có làm tụt hạng Google không?

Không. Google nói rõ Google-Extended không ảnh hưởng việc lập chỉ mục hay thứ hạng trong Google Tìm kiếm. Nó chỉ điều khiển việc dùng nội dung cho các mô hình Gemini. AI Overviews dùng Googlebot nên cũng không bị ảnh hưởng.

Vì sao viết nhóm User-agent riêng cho một bot lại làm lộ khu quản trị?

Vì theo chuẩn robots.txt, một bot chỉ theo nhóm khớp tên cụ thể nhất và bỏ qua nhóm dấu sao. Nếu nhóm riêng chỉ có Allow: / thì các dòng Disallow chung không còn áp dụng cho bot đó. Phải chép lại các dòng chặn vào nhóm riêng.

Robots.txt có chặn được hẳn bot AI không?

Không về mặt kỹ thuật. Robots.txt là lời đề nghị mà bot của các hãng lớn tuyên bố tuân theo. Nội dung cần bảo vệ thật phải chặn ở máy chủ hoặc đặt sau đăng nhập.

Đọc tiếp