robots.txt cho trình thu thập dữ liệu AI: nên cho phép gì, chặn gì
Hãy cho mỗi trình thu thập dữ liệu AI mà bạn quan tâm một nhóm User-agent riêng. Cho phép các trình tìm kiếm như OAI-SearchBot, Claude-SearchBot và PerplexityBot nếu bạn muốn được trích dẫn, và quyết định riêng về các token huấn luyện như GPTBot, ClaudeBot, Google-Extended và Applebot-Extended. Một nhóm có tên sẽ thay thế nhóm * cho trình thu thập dữ liệu đó.
robots.txt là một tệp văn bản thuần có từ năm 1994 và trở thành tiêu chuẩn chính thức, RFC 9309, vào năm 2022. Hầu hết các nhà cung cấp AI cho biết trình thu thập dữ liệu của họ tuân theo nó, và một số công bố token riêng cho tìm kiếm và cho huấn luyện. Điều đó khiến robots.txt trở thành nơi đơn giản nhất để nêu chính sách về AI, miễn là các quy tắc có nghĩa đúng như bạn nghĩ.
Trong trang này
- Các trình thu thập dữ liệu AI dùng những token robots.txt nào?
- Một robots.txt tốt cho AI trông như thế nào?
- Trình thu thập dữ liệu chọn quy tắc áp dụng cho mình như thế nào?
- Những lỗi robots.txt phổ biến nhất là gì?
- Có thể nêu chính sách sử dụng AI ngoài cho phép và cấm không?
- Thay đổi mất bao lâu và tôi kiểm tra thế nào?
Các trình thu thập dữ liệu AI dùng những token robots.txt nào?
Đây là các token mà nhà cung cấp ghi trong tài liệu. Theo RFC 9309, việc khớp không phân biệt hoa thường.
- OpenAI:
OAI-SearchBot(tìm kiếm ChatGPT),GPTBot(huấn luyện),ChatGPT-User(lượt truy cập do người dùng yêu cầu; OpenAI cho biết robots.txt có thể không áp dụng). - Anthropic:
Claude-SearchBot(tìm kiếm),ClaudeBot(huấn luyện),Claude-User(lượt truy cập do người dùng yêu cầu). - Perplexity:
PerplexityBot(tìm kiếm),Perplexity-User(lượt truy cập do người dùng yêu cầu; Perplexity cho biết nhìn chung nó bỏ qua robots.txt). - Google:
Googlebot(Search, bao gồm các tính năng AI của nó) vàGoogle-Extended, một token không có trình thu thập dữ liệu riêng, kiểm soát việc dùng cho huấn luyện và grounding của Gemini. - Apple:
Applebot(Spotlight, Siri, tìm kiếm Safari) vàApplebot-Extended, không thu thập dữ liệu mà kiểm soát việc dùng để huấn luyện các mô hình nền tảng của Apple. - Meta:
meta-externalagent(huấn luyện và lập chỉ mục sản phẩm) vàmeta-webindexer(tìm kiếm Meta AI). - Common Crawl:
CCBot, xây dựng kho dữ liệu web công khai miễn phí của Common Crawl.
Một robots.txt tốt cho AI trông như thế nào?
Ví dụ này cho phép tìm kiếm AI và các lượt tải theo yêu cầu người dùng vào, từ chối các token huấn luyện chính và giữ một khu vực riêng tư đóng với tất cả:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
Nhiều dòng User-agent liên tiếp tạo thành một nhóm, nên các quy tắc bên dưới áp dụng cho từng trình thu thập dữ liệu trong đó. Nếu bạn muốn nội dung của mình được dùng để huấn luyện, chỉ cần bỏ nhóm thứ hai. Chặn Google-Extended không ảnh hưởng Google Search: Google cho biết nó không tác động đến việc được đưa vào Search và không phải tín hiệu xếp hạng. Tương tự, Apple cho biết các trang cấm Applebot-Extended vẫn có thể xuất hiện trong kết quả tìm kiếm của họ.
Trình thu thập dữ liệu chọn quy tắc áp dụng cho mình như thế nào?
RFC 9309 định nghĩa việc này chính xác, và các chi tiết giải thích hầu hết những điều bất ngờ:
- Trình thu thập dữ liệu tìm nhóm có
User-agentkhớp với token sản phẩm của nó, không phân biệt hoa thường. Nếu nhiều nhóm khớp, quy tắc của chúng được gộp thành một. - Chỉ khi không nhóm nào khớp, trình thu thập dữ liệu mới theo nhóm
User-agent: *. Một nhóm có tên không kế thừa bất cứ điều gì từ*. - Trong nhóm, quy tắc có đường dẫn khớp dài nhất sẽ thắng.
Allow: /blog/thắngDisallow: /với/blog/post. - Nếu một quy tắc
Allowvà một quy tắcDisallowkhớp với độ dài bằng nhau, nên dùngAllow. *trong đường dẫn khớp với mọi ký tự và$neo ở cuối, nênDisallow: /*.pdf$bao trùm mọi tệp PDF.
Những lỗi robots.txt phổ biến nhất là gì?
- Mong một nhóm có tên kế thừa từ
*. Một nhóm choOAI-SearchBotchỉ cóAllow: /sẽ mở mọi đường dẫn, kể cả những đường dẫn bạn đã cấm trong*. - Địa chỉ robots.txt trả về một trang HTML, thường là trang 404 được phục vụ với mã 200. Trình thu thập dữ liệu không tìm thấy quy tắc hợp lệ nào trong đó.
- robots.txt trả về lỗi máy chủ. RFC 9309 nói rằng khi đó trình thu thập dữ liệu phải coi như toàn bộ website bị cấm. Mã 404 thì khác: nó có nghĩa là không có hạn chế nào.
- Chặn token tìm kiếm trong khi định chặn huấn luyện, ví dụ cấm
PerplexityBothoặcClaude-SearchBotđể tránh huấn luyện mô hình. - Trông chờ robots.txt ngăn các lượt tải do người dùng yêu cầu. OpenAI và Perplexity đều cho biết user agent của họ có thể không tuân theo.
- Quên các tên miền phụ. Mỗi host có robots.txt riêng; tài liệu của Anthropic nhắc chủ website thêm quy tắc cho từng tên miền phụ.
Có thể nêu chính sách sử dụng AI ngoài cho phép và cấm không?
Cloudflare đã đề xuất một dòng Content-Signal cho robots.txt với ba tín hiệu: search (xây dựng chỉ mục tìm kiếm và hiển thị liên kết cùng đoạn trích ngắn), ai-input (dùng nội dung theo thời gian thực cho câu trả lời AI) và ai-train (huấn luyện hoặc tinh chỉnh mô hình). robots.txt được quản lý của Cloudflare có thể thêm dòng này giúp bạn.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Như mọi thứ trong robots.txt, đây là các ưu tiên, không phải kiểm soát kỹ thuật. Chính Cloudflare cũng lưu ý rằng việc tuân thủ robots.txt là tự nguyện. Dòng này là tùy chọn và không có hại, nhưng nó không thay thế các nhóm theo từng trình thu thập dữ liệu ở trên.
Thay đổi mất bao lâu và tôi kiểm tra thế nào?
RFC 9309 nói trình thu thập dữ liệu không nên dùng robots.txt đã lưu đệm quá 24 giờ, và OpenAI lẫn Perplexity đều cho biết thay đổi có thể mất khoảng một ngày để áp dụng. Cũng hãy nhớ robots.txt không phải kiểm soát truy cập: tường lửa vẫn có thể chặn một trình thu thập dữ liệu mà quy tắc của bạn cho phép.
AISeeWhy phân tích robots.txt của bạn theo RFC 9309 cho từng trình thu thập dữ liệu nó kiểm tra, đánh dấu các tệp không truy cập được hoặc bị phục vụ như HTML, cho thấy chỗ quy tắc của bạn và máy chủ không khớp nhau, và đưa ra bản diff sẵn sàng cho thay đổi.
Câu hỏi thường gặp
Chặn GPTBot hay ClaudeBot có làm giảm khả năng hiển thị của tôi trong câu trả lời AI không?
Không trực tiếp. Cả hai nhà cung cấp đều dùng các trình thu thập dữ liệu tìm kiếm riêng, OAI-SearchBot và Claude-SearchBot. Chặn trình thu thập dữ liệu huấn luyện là một lựa chọn chính sách.
Google-Extended có ngăn được AI Overviews không?
Không. Google cho biết các tính năng AI trong Search dùng Googlebot và các điều khiển Search thông thường như nosnippet và noindex. Google-Extended bao gồm huấn luyện Gemini và grounding trong các sản phẩm khác của Google và không ảnh hưởng đến Search.
Các trình thu thập dữ liệu AI có hỗ trợ Crawl-delay không?
Nó không thuộc RFC 9309. Anthropic cho biết họ hỗ trợ Crawl-delay như một phần mở rộng ngoài tiêu chuẩn; với các nhà cung cấp khác, hãy xem tài liệu của họ.
robots.txt phải đặt ở đâu?
Ở thư mục gốc của từng host, ví dụ https://example.com/robots.txt. Tệp nằm trong thư mục con bị bỏ qua, và mỗi tên miền phụ cần có tệp riêng.
Nguồn tham khảo
- RFC 9309: Robots Exclusion Protocol
- OpenAI: Tổng quan về các trình thu thập dữ liệu của OpenAI
- Google: Các trình thu thập dữ liệu phổ biến, bao gồm Google-Extended
- Apple: Giới thiệu về Applebot
- Cloudflare: robots.txt được quản lý và Content Signals