robots.txt nên cho phép những bot AI nào? So sánh đầy đủ loại truy xuất và loại huấn luyện cùng cách cấu hình thực chiến
Muốn được ChatGPT và Perplexity trích dẫn nhưng không muốn nuôi miễn phí việc huấn luyện mô hình? Mấu chốt nằm ở vài dòng trong robots.txt. Nhưng nhiều người không hề nhận ra: bạn đã viết "cho phép", thế nhưng lưu lượng lại bị Cloudflare chặn từ trước khi đến được website. Bài viết này giúp bạn phân biệt rõ từng con bot AI, rồi học cách kiểm tra lỗ hổng vô hình dễ bị bỏ qua nhất đó.
Trước tiên hãy hiểu rõ: bot AI có ba loại, không phải "mở hết" hay "đóng hết"
Nhiều người xem bot AI như một khối duy nhất, kết quả là hoặc cho phép tất cả (đến cả dữ liệu huấn luyện cũng bị lấy đi), hoặc chặn tất cả (kéo theo bị loại khỏi kết quả tìm kiếm bằng AI). Thực ra, từ năm 2025 trở đi, OpenAI, Anthropic, Perplexity đều đã tách bot thành ba vai trò, mỗi vai trò có mã định danh robots.txt riêng và có thể kiểm soát riêng biệt.
Ba vai trò này có mục đích hoàn toàn khác nhau: loại huấn luyện lấy nội dung của bạn để huấn luyện mô hình; loại truy xuất lập chỉ mục nội dung của bạn để có thể trích dẫn khi AI trả lời; còn loại do người dùng kích hoạt sẽ tải trang của bạn theo thời gian thực ngay vào khoảnh khắc một người thật đặt câu hỏi.
Hiểu rõ cấu trúc ba tầng này, bạn mới có thể đưa ra những đánh đổi có lợi cho mình: cho phép những con mang lại độ hiển thị, chặn những con chỉ chực lấy không của bạn. Phân biệt vai trò trước, rồi mới quyết định có cho phép từng con hay không, đó là nền tảng cho mọi cấu hình về sau.
Loại truy xuất và loại huấn luyện: một bảng so sánh để biết nên cho phép ai
Sau khi phân loại các bot phổ biến theo vai trò, logic cấu hình sẽ trở nên rõ ràng. Với phần lớn doanh nghiệp Đài Loan muốn làm GEO (tối ưu cho công cụ tạo sinh), chiến lược thường gặp nhất là cho phép loại truy xuất và loại do người dùng kích hoạt, còn loại huấn luyện thì quyết định theo chiến lược thương hiệu.
- Loại huấn luyện (nuôi mô hình, thường không có hồi đáp hiển thị trực tiếp): GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (huấn luyện Google Gemini), CCBot (Common Crawl, nguồn huấn luyện của rất nhiều mô hình mã nguồn mở)
- Loại truy xuất (lập chỉ mục để bạn được trích dẫn trong tìm kiếm bằng AI): OAI-SearchBot (tìm kiếm ChatGPT), Claude-SearchBot (tìm kiếm Claude), PerplexityBot (lập chỉ mục Perplexity)
- Loại do người dùng kích hoạt (tải theo thời gian thực khi người thật hỏi, thường khuyến nghị cho phép): ChatGPT-User, Claude-User, Perplexity-User
- Điểm phân biệt quan trọng: Google-Extended chỉ kiểm soát việc Gemini có lấy nội dung của bạn để huấn luyện hay không, nó không ảnh hưởng đến thứ hạng tìm kiếm thông thường của Google (đó là Googlebot), đừng nhầm lẫn hai con này
Cho phép hay chặn? Ba tình huống đánh đổi điển hình
Không có đáp án chuẩn, tùy thuộc mô hình kinh doanh của bạn. Ba tình huống dưới đây bao quát lựa chọn của phần lớn doanh nghiệp vừa và nhỏ cùng các bên làm nội dung ở Đài Loan.
Nếu bạn kiếm tiền từ lưu lượng và độ hiển thị thương hiệu (đa số website chính thức, blog, SaaS): cho phép tất cả loại truy xuất và loại do người dùng kích hoạt, vì được ChatGPT, Perplexity trích dẫn chẳng khác nào một nguồn hiển thị mới miễn phí; còn loại huấn luyện thì tùy tình huống — nếu ngại bị lấy không thì chặn GPTBot/ClaudeBot/CCBot, nếu không ngại để đổi lấy độ nhận diện rộng hơn trong các mô hình thì cho phép.
Nếu bạn là nội dung trả phí hoặc nội dung độc quyền (truyền thông, báo cáo nghiên cứu, khóa học): thường chặn loại huấn luyện (không muốn nội dung bị lấy miễn phí để huấn luyện), nhưng giữ lại loại truy xuất và loại do người dùng kích hoạt, để AI ít nhất có thể trích dẫn bản tóm tắt của bạn và dẫn lưu lượng về lại trang. Nếu hoàn toàn không muốn dính dáng đến AI (nhạy cảm về tuân thủ pháp lý, trang thuần nội bộ): chặn hết, nhưng phải chuẩn bị tinh thần — bạn sẽ dần biến mất khỏi câu trả lời của AI.
Tò mò xem trang của bạn được AI chấm bao nhiêu điểm?
Quét miễn phí — nhận ngay điểm sẵn sàng AI 0–100 và các bản sửa dán-là-xong.
Kiểm tra GEO miễn phí →Viết robots.txt thế nào: mẫu có thể áp dụng ngay
robots.txt đặt ở thư mục gốc của website (ví dụ https://tênmiềncủabạn/robots.txt), mỗi bot được kiểm soát bằng một khối User-agent riêng. Dưới đây là bộ khung thường gặp của "cho phép truy xuất, chặn huấn luyện", mỗi khối là một dòng User-agent cộng một dòng Allow hoặc Disallow.
Quy tắc không phân biệt chữ hoa chữ thường ở chỉ thị, nhưng tên User-agent phải khớp chính xác cách viết chính thức (ví dụ là OAI-SearchBot chứ không phải OpenAI-SearchBot). Viết xong nhất định phải mở https://tênmiềncủabạn/robots.txt trực tiếp để xem, xác nhận tệp thật sự tồn tại và không bị chuyển hướng.
- Cho phép loại truy xuất: với OAI-SearchBot, Claude-SearchBot, PerplexityBot, viết cho mỗi con một dòng User-agent và một dòng Allow: /
- Cho phép loại do người dùng kích hoạt: cho ChatGPT-User, Claude-User, Perplexity-User mỗi con một Allow: /
- Chặn loại huấn luyện: với GPTBot, ClaudeBot, CCBot, viết cho mỗi con một dòng User-agent và một dòng Disallow: /; muốn chặn huấn luyện Gemini thì thêm Disallow: / cho Google-Extended
- Đừng dùng sai ký tự đại diện: quy tắc User-agent: * chỉ là giá trị mặc định cho "các bot khác chưa nêu tên", những bot AI đã được nêu tên riêng sẽ đi theo khối của chúng và không chịu ảnh hưởng của *
- robots.txt là "yêu cầu tuân thủ" chứ không phải cưỡng chế kỹ thuật: các ông lớn đàng hoàng sẽ tuân theo, nhưng nó không chặn được những bot không khai báo danh tính (ví dụ hành vi từng bị chỉ tên là đổi IP/UA để né quy tắc)
Lỗ hổng vô hình: robots viết cho phép, nhưng bị Cloudflare/WAF chặn
Đây là cái bẫy nhiều người mắc nhất nhưng lại khó tự phát hiện nhất. robots.txt chỉ là "bảng ưu tiên mang tính lịch sự", thứ thực sự quyết định một yêu cầu có vào được website của bạn hay không là tầng nằm phía trước hơn — CDN và WAF (tường lửa website). Nếu bạn dùng Cloudflare, Bot Fight Mode của nó mặc định được bật ở mọi gói (kể cả bản miễn phí), sẽ chặn thẳng lưu lượng mà nó đánh giá là bot, bao gồm cả các bot AI hợp pháp.
Kết quả là: bot AI căn bản chưa hề đến được máy chủ của bạn, cũng chưa đọc bản robots.txt mà bạn dày công cấu hình, đã bị trả về 403 hoặc trang thử thách ngay ở tầng Cloudflare. Những năm gần đây Cloudflare còn tích hợp sẵn quy tắc được quản lý "chặn bot AI", và quy tắc này có độ ưu tiên cao hơn robots.txt — nghĩa là robots.txt viết cho phép thì cũng không thắng nổi việc chặn của WAF.
Việc đánh giá quy tắc có thứ tự trước sau: quy tắc tùy chỉnh (Custom Rules) sẽ chạy trước quy tắc được quản lý "chặn bot AI". Vì vậy giải pháp đúng là vào hậu đài Cloudflare tạo một quy tắc Allow/Skip tùy chỉnh, đối chiếu User-Agent có chứa OAI-SearchBot, PerplexityBot và những bot bạn muốn cho phép, để chúng được thông qua trước khi bị quy tắc được quản lý chặn lại. Các trang nằm sau Cloudflare như WordPress, Webflow đặc biệt dễ dính chiêu này.
Kiểm tra thế nào: ba bước xác minh bot thật sự vào được
Chỉ sửa robots.txt là chưa đủ, bạn phải thực sự kiểm chứng xem yêu cầu có bị tầng phía trước chặn lại không. Ba bước dưới đây cho phép bạn phán đoán trong vài phút rằng cấu hình của mình có thật sự phát huy tác dụng hay không.
- Bước một, xem tệp trực tiếp: mở https://tênmiềncủabạn/robots.txt trên trình duyệt, xác nhận tệp tồn tại, nội dung đúng, không bị chuyển hướng đến trang đăng nhập hay trang chủ
- Bước hai, mô phỏng bot tải về: dùng lệnh kèm User-Agent của bot để tải trang chủ của chính mình, ví dụ curl -A "OAI-SearchBot" -I https://tênmiềncủabạn/, xem phản hồi trả về có phải 200 không; nếu là 403 hoặc bị dẫn đến trang thử thách thì chính là WAF/CDN đang chặn
- Bước ba, đối chiếu các danh tính khác nhau: cùng một lệnh, lần lượt kèm UA trình duyệt thông thường và UA của bot; nếu trình duyệt nhận 200 còn bot nhận 403 thì gần như chắc chắn quy tắc quản lý bot đang gây chuyện, hãy vào cấu hình WAF/Bot của Cloudflare thêm quy tắc cho phép
- Nâng cao: tra nhật ký truy cập của máy chủ hoặc CDN, xem OAI-SearchBot, PerplexityBot, Claude-SearchBot v.v. có thật sự có bản ghi 200 thành công không, không có nghĩa là chúng chưa từng vào được
- Muốn đo nhanh điểm xuất phát, bạn cũng có thể trước tiên dùng công cụ khám sức khỏe GEO miễn phí quét một lượt, xem bot AI có đọc được trang của bạn hay không, rồi đối chiếu ba bước trên để loại trừ từng mục một
Câu hỏi thường gặp
Q. robots.txt đã cho phép GPTBot rồi, vì sao ChatGPT vẫn không đọc được website của tôi?
Có hai nguyên nhân thường gặp nhất. Một là bạn cho phép sai bot: GPTBot là bot loại huấn luyện, trong khi việc tìm kiếm và trích dẫn của ChatGPT thực ra dựa vào OAI-SearchBot và ChatGPT-User, muốn được trích dẫn thì nên cho phép hai con này. Hai là bị chặn ở tầng phía trước: dù robots.txt viết cho phép, quy tắc quản lý bot của CDN/WAF như Cloudflare có độ ưu tiên cao hơn, sẽ trả về 403 trước khi yêu cầu đến được máy chủ của bạn. Hãy dùng curl kèm User-Agent của OAI-SearchBot để tải trang chủ của mình, nếu không phải 200 thì phải vào WAF thêm quy tắc cho phép.
Q. Bot AI loại truy xuất và loại huấn luyện khác nhau ở đâu? Tôi nên cho phép loại nào?
Loại huấn luyện (GPTBot, ClaudeBot, Google-Extended, CCBot) lấy nội dung của bạn để huấn luyện mô hình, thường không mang lại hồi đáp hiển thị trực tiếp. Loại truy xuất (OAI-SearchBot, Claude-SearchBot, PerplexityBot) lập chỉ mục nội dung của bạn, giúp bạn được trích dẫn khi AI trả lời, mang lại độ hiển thị và lưu lượng. Phần lớn website làm GEO được khuyến nghị cho phép loại truy xuất và loại do người dùng kích hoạt (ChatGPT-User, Claude-User, Perplexity-User), còn loại huấn luyện thì quyết định có chặn hay không theo chiến lược thương hiệu.
Q. Google-Extended là gì? Chặn nó có ảnh hưởng đến thứ hạng tìm kiếm Google của tôi không?
Không. Google-Extended chỉ kiểm soát việc Google có được dùng nội dung của bạn để huấn luyện AI tạo sinh như Gemini hay không, viết nó thành Disallow chính là rút khỏi việc huấn luyện AI. Việc lập chỉ mục và xếp hạng của tìm kiếm Google thông thường do Googlebot phụ trách, hai con hoàn toàn độc lập. Vì vậy bạn có thể yên tâm chặn Google-Extended để rút khỏi huấn luyện AI, đồng thời giữ Googlebot để duy trì thứ hạng tìm kiếm vốn có, không ảnh hưởng lẫn nhau.
Q. Tôi dùng Cloudflare, robots.txt rõ ràng đã cho phép bot AI nhưng vẫn bị chặn, phải làm sao?
Vì Bot Fight Mode của Cloudflare mặc định được bật ở mọi gói, và quy tắc được quản lý tích hợp sẵn "chặn bot AI" có độ ưu tiên cao hơn robots.txt, yêu cầu sẽ bị chặn trước khi đến máy chủ của bạn. Giải pháp là vào hậu đài Cloudflare tại Security → WAF → Custom Rules, tạo một quy tắc tùy chỉnh đối chiếu User-Agent có chứa những bot bạn muốn cho phép (như OAI-SearchBot, PerplexityBot), đặt hành động là Allow hoặc Skip; quy tắc tùy chỉnh sẽ chạy trước quy tắc chặn được quản lý, nhờ đó cho chúng đi qua.
Q. robots.txt viết Disallow rồi thì công ty AI chắc chắn sẽ không thu thập nội dung của tôi chứ?
Không hẳn. robots.txt là thông lệ trong ngành, thuộc loại "yêu cầu tuân thủ" chứ không phải cưỡng chế kỹ thuật, các ông lớn đàng hoàng (OpenAI, Anthropic) sẽ tuân theo, nhưng nó không thể ngăn truy cập ở tầng kỹ thuật. Đã từng có trường hợp bot bị chỉ tên vì xoay vòng IP, User-Agent để né robots.txt. Muốn chặn thật sự thì cần dùng quy tắc tường lửa ở tầng WAF/CDN, chỉ trông vào Disallow trong robots.txt là không đủ để đảm bảo đối phương hoàn toàn không thu thập.
Q. Các bot loại do người dùng kích hoạt như ChatGPT-User, Claude-User có nên cho phép không?
Đa số trường hợp khuyến nghị cho phép. Loại bot này không phải thu thập tự động quy mô lớn, mà chỉ tải một lần theo thời gian thực khi người thật đặt câu hỏi trong ChatGPT hoặc Claude và cần tham khảo trang của bạn, đồng thời thường kèm liên kết nguồn dẫn lưu lượng về lại website của bạn. Chặn chúng đồng nghĩa với từ bỏ cơ hội được trích dẫn và được nhấp vào ngay khoảnh khắc người thật truy vấn, điều này với những website muốn xây dựng độ hiển thị trong AI thường là lợi bất cập hại.
Kiểm chứng điều vừa học trên trang của bạn trong 10 giây
Quét miễn phí — nhận ngay điểm sẵn sàng AI 0–100 và các bản sửa dán-là-xong.
Kiểm tra GEO miễn phí →