Cloudflare có đang chặn trình thu thập dữ liệu AI không? Cách tìm ra và khắc phục
Cloudflare và các tường lửa khác có thể trả lời trình thu thập dữ liệu AI bằng 403, 429 hoặc trang thử thách “Just a moment...” trong khi trình duyệt nhận trang thật, ngay cả khi robots.txt cho phép trình đó. Hãy kiểm tra bằng cách yêu cầu trang với user agent của trình thu thập dữ liệu, rồi cho phép các trình tìm kiếm AI trong AI Crawl Control hoặc bằng quy tắc bỏ qua của WAF.
Lớp chống bot tồn tại để chặn việc cào dữ liệu và lạm dụng, và nó làm việc đó rất tốt. Vấn đề là các trình thu thập dữ liệu tìm kiếm AI cũng là bot. Một thiết lập bảo mật bật từ nhiều năm trước, một giới hạn tốc độ, hoặc một quy tắc rộng chống lại các user agent lạ có thể lặng lẽ chặn những trình thu thập dữ liệu trích dẫn bạn, trong khi các lượt truy cập của chính bạn vẫn hoàn toàn bình thường.
Trong trang này
Tại sao tường lửa lại chặn trình thu thập dữ liệu AI?
Tường lửa đánh giá từng yêu cầu. Trình thu thập dữ liệu không chạy các thử thách JavaScript, không lưu cookie như trình duyệt và thường yêu cầu nhiều trang liên tiếp, nên trông giống hệt lưu lượng mà lớp chống bot được xây dựng để chặn. Các nguyên nhân phổ biến:
- Các tính năng chống bot thử thách lưu lượng khớp với mẫu bot đã biết. Ví dụ Bot Fight Mode của Cloudflare đưa ra các thử thách tốn nhiều tài nguyên tính toán cho bot.
- Quy tắc tùy chỉnh của WAF chặn hoặc thử thách các user agent chứa những từ như “bot” hoặc “crawler”, hoặc chỉ cho phép một danh sách ngắn các công cụ tìm kiếm.
- Các thiết lập chặn trình thu thập dữ liệu AI theo cả nhóm. Cloudflare cho phép đặt chính sách cho trình thu thập Search, Agent và Training, và thiết lập Block ở đó áp dụng cho tất cả.
- Giới hạn tốc độ trả 429 cho chuỗi yêu cầu nhanh của trình thu thập dữ liệu.
- Chặn theo quốc gia hoặc ASN vô tình bao trùm các mạng mà trình thu thập dữ liệu chạy trên đó.
Làm sao phân biệt chặn bởi tường lửa với chặn bởi robots.txt?
Chặn bằng robots.txt là một lời đề nghị lịch sự: trình thu thập dữ liệu đọc quy tắc của bạn và không tải trang. Chặn bởi tường lửa là một câu trả lời: trình thu thập dữ liệu yêu cầu trang và nhận về thứ khác. Loại thứ hai có thể thấy trực tiếp. Hãy yêu cầu trang hai lần, một lần với user agent của trình duyệt và một lần với của trình thu thập dữ liệu, rồi so sánh.
for UA in "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" \
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot"; do
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" -A "$UA" https://example.com/page
done
Dấu hiệu của việc tường lửa chặn: mã 403, 429 hoặc 503 chỉ với trình thu thập dữ liệu; một trang có tiêu đề Just a moment... hoặc Attention Required! | Cloudflare; nội dung chứa /cdn-cgi/challenge-platform; hoặc phản hồi 200 ngắn hơn nhiều so với của trình duyệt. Hãy nhớ rằng bài kiểm tra của bạn đến từ IP của chính bạn, không phải dải IP đã xác minh của trình thu thập dữ liệu, nên nó cho thấy tường lửa đối xử với user agent ra sao, chứ không phải mọi chi tiết cách nó đối xử với trình thu thập dữ liệu thật.
Làm sao cho phép các trình tìm kiếm AI trong Cloudflare?
AI Crawl Control của Cloudflare, có trên mọi gói, liệt kê các trình thu thập dữ liệu AI truy cập tên miền của bạn và cho phép đặt hành động cho từng trình. Trong bảng điều khiển, mở AI Crawl Control, vào danh sách Crawlers và chọn Allow hoặc Block ở cột Action cho từng trình thu thập dữ liệu. Cloudflare cho biết việc chặn ở đó sẽ tạo hoặc cập nhật một quy tắc tùy chỉnh của WAF trên zone của bạn.
Nếu thứ chặn trình thu thập dữ liệu là quy tắc tùy chỉnh của WAF, Super Bot Fight Mode hoặc giới hạn tốc độ, hãy thêm một quy tắc tùy chỉnh bỏ qua các tính năng đó cho bot đã xác minh và cho token của trình thu thập dữ liệu:
Security → WAF → Custom rules → Create rule
Expression: (cf.client.bot) or (http.user_agent contains "OAI-SearchBot")
Action: Skip → All remaining custom rules, Super Bot Fight Mode, Rate limiting
Also: AI Crawl Control → OAI-SearchBot → Allow
Đặt quy tắc này lên đầu. Lưu ý rằng khớp theo user agent cũng cho đi qua bất kỳ ai giả mạo user agent đó. Khi có thể, hãy ưu tiên trường bot đã xác minh (cf.client.bot) hoặc dải IP mà nhà cung cấp công bố.
Còn Bot Fight Mode thì sao?
Tài liệu của Cloudflare nói rõ rằng Bot Fight Mode không thể bị vượt qua hay bỏ qua bằng quy tắc tùy chỉnh của WAF hoặc Page Rules. Nếu chính tính năng này đang thử thách các trình thu thập dữ liệu, quy tắc bỏ qua sẽ không giúp được gì. Các lựa chọn là tắt Bot Fight Mode, hoặc dùng Super Bot Fight Mode ở gói có hỗ trợ, tính năng này chạy trên Ruleset Engine và hỗ trợ quy tắc bỏ qua.
Nên cho những trình thu thập dữ liệu nào đi qua?
Hãy phân loại các trình thu thập dữ liệu theo việc chúng làm. Trình tìm kiếm và trình tải trang theo yêu cầu người dùng quyết định câu trả lời AI có tìm và trích dẫn được bạn hay không. Trình huấn luyện thu thập dữ liệu cho mô hình, và chặn chúng là lựa chọn chính đáng, không loại bạn khỏi tìm kiếm AI.
- Tìm kiếm:
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,bingbot,Applebot. - Tải trang theo yêu cầu người dùng:
ChatGPT-User,Claude-User,Perplexity-User. - Huấn luyện:
GPTBot,ClaudeBot,CCBot,meta-externalagent,Bytespider.
Các thiết lập chính sách của Cloudflare cũng chia theo Search, Agent và Training, nên bạn có thể cho phép hai nhóm đầu và quyết định riêng nhóm thứ ba. Nếu dùng tường lửa hoặc CDN khác, nguyên tắc vẫn như vậy: đưa token của trình thu thập dữ liệu vào danh sách cho phép, xác minh bằng dải IP nhà cung cấp công bố hoặc reverse DNS nếu có, để nó nhận cùng phản hồi như trình duyệt.
AISeeWhy phát hiện việc tường lửa chặn như thế nào?
AISeeWhy yêu cầu trang của bạn với tư cách 14 trình thu thập dữ liệu và một trình duyệt thông thường, so sánh trạng thái, kích thước và chuyển hướng, nhận diện các trang thử thách và nêu tên tường lửa hoặc CDN đã trả lời. Khi robots.txt cho phép một trình thu thập dữ liệu nhưng máy chủ lại chặn nó, báo cáo sẽ chỉ ra sự xung đột và đưa ra quy tắc Cloudflare hoặc bước thêm vào danh sách cho phép để sửa.
Câu hỏi thường gặp
Cloudflare có chặn trình thu thập dữ liệu AI theo mặc định không?
Điều đó phụ thuộc vào tài khoản, gói dịch vụ và thiết lập trong zone của bạn, và Cloudflare đã thay đổi các tùy chọn này theo thời gian. Hãy kiểm tra AI Crawl Control và cài đặt bot, rồi thử bằng user agent của trình thu thập dữ liệu thay vì giả định.
Tại sao website của tôi chạy tốt trên trình duyệt nhưng không với trình thu thập dữ liệu?
Tường lửa đánh giá từng yêu cầu. Trình duyệt vượt qua được thử thách JavaScript và lưu cookie; trình thu thập dữ liệu thì không, nên có thể nhận trang thử thách hoặc 403 mà bạn không bao giờ thấy.
Cho phép trình thu thập dữ liệu AI qua WAF có an toàn không?
Cho phép một trình thu thập dữ liệu có tên là rủi ro thấp nếu bạn xác minh nó bằng dải IP của nhà cung cấp hoặc tín hiệu bot đã xác minh của Cloudflare. Các quy tắc chỉ tin user agent cũng cho vào bất kỳ ai sao chép nó.
Tính năng ẩn email của Cloudflare có ảnh hưởng đến trình thu thập dữ liệu AI không?
Nó thay địa chỉ email bằng một liên kết chỉ có script mới giải mã được, nên trình thu thập dữ liệu thấy một chỗ giữ chỗ thay vì địa chỉ. Nếu muốn email liên hệ của bạn đọc được, hãy tắt Email Address Obfuscation trong Scrape Shield và hiển thị địa chỉ dưới dạng văn bản thuần.
Nguồn tham khảo
- Cloudflare: AI Crawl Control
- Cloudflare: Quản lý trình thu thập dữ liệu AI (AI Crawl Control)
- Cloudflare: Bot Fight Mode
- Cloudflare: Chính sách truy cập cho trình thu thập dữ liệu và tác nhân AI
- OpenAI: Tổng quan về các trình thu thập dữ liệu của OpenAI