Tuần vừa rồi, giới technical SEO truyền nhau một câu nói trong cuộc gọi kết quả Q2/2026 của Cloudflare: nếu xu hướng hiện tại tiếp tục, non-human traffic trong 5 năm tới có thể gấp 1.000 lần human traffic — và con người sẽ trở thành “sai số làm tròn” trên internet. Tôi đã nhắc ngắn con số này trong bài phân tích TollBit tuần trước, nhưng nó xứng đáng có một bài riêng.
Vì phần đáng giá nhất không phải dự báo. Đó là chuyện gì xảy ra khi Slobodan Manic — người viết kỹ thuật mà tôi theo dõi lâu — quyết định mở dashboard AI crawler của website nohacks.co ra đọc từng đường dẫn thay vì chỉ nhìn biểu đồ tổng. Thứ đứng đầu danh sách “AI crawler” của anh ta hóa ra không phải crawler. Nó là một credential scanner giả danh Common Crawl, và thứ nó săn không phải bài viết, mà là SSH keys.
Tôi bóc tách dữ liệu dưới đây, giải thích vì sao dashboard đang đếm nhầm, và SEOer nên tự kiểm tra log thế nào ngay tuần này.
Con số 1.000 lần đến từ đâu và có đáng tin không?
Đến từ phát biểu của chính CFO Cloudflare Thomas Seifert trước các nhà phân tích, kèm lời tự cảnh báo rằng ông “đã gọi sai ở mọi thời điểm” — nhưng đều sai theo hướng thấp. Cloudflare từng dự báo machine traffic vượt human traffic vào năm 2027; thực tế xảy ra từ tháng 5/2026. Số liệu nền tảng của chính họ xác nhận dưới 50% request HTML hiện đến từ người thật.

Lịch sử dự báo thấp hơn thực tế là lý do mạnh nhất để lấy con số này nghiêm túc. Với SEOer, hàm ý thẳng: crawl budget, bandwidth và log analysis không còn là chủ đề “nâng cao” nữa. Khi máy chiếm đa số request, việc biết máy đang làm gì trên site của bạn trở thành kỹ năng nền tảng.
Cá nhân tôi thấy chi tiết thú vị nhất nằm ở câu “không phải vì human traffic giảm”. Traffic người thật vẫn tăng. Chỉ là máy tăng nhanh hơn hẳn. Và như bạn sẽ thấy dưới đây, không phải mọi “máy” đều là crawler AI thành thật.
Một ngày log AI crawler thực tế trông như thế nào?
Khoảng 3.000 request trong 24 giờ trên một website cá nhân nhỏ, trong đó một phần ba thất bại và tổng lượng tăng hơn 1.000% so với kỳ trước. Agent dẫn đầu là CCBot với 1.510 request — gấp 4 lần ChatGPT-User. Nhìn bề ngoài, đây đúng hình ảnh một website được hệ sinh thái AI “quan tâm nồng nhiệt”.
| Agent | Request trong 24h | Ghi chú |
|---|---|---|
| CCBot (Common Crawl) | 1.510 | Dẫn đầu tuyệt đối — nhưng xem phần kế tiếp |
| ChatGPT-User | 375 | Fetch trang khi người dùng ChatGPT hỏi |
| ClaudeBot | 296 | Crawler của Anthropic |
| Googlebot | 245 | Kẻ hiếm hoi thực sự index nội dung |
| PetalBot | 107 | Crawler của Huawei |
| 13 agent khác | 353 | Gộp chung |
CCBot chiếm một nửa tổng traffic. Với một website nhỏ, con số đó nghe như được các model AI “đọc thường xuyên”. Đó chính là lúc Manic export danh sách đường dẫn ra — và mọi thứ đổi màu.
Vì sao 1.510 request gán cho Common Crawl lại là credential scanner?
Vì các đường dẫn nó yêu cầu không liên quan gì đến nội dung website: file SSH keys, biến môi trường, service account key. Trên tổng 100 đường dẫn, có 1.028 request và 6,7 MB bandwidth được chuyển đi mà không một referral nào xuất hiện. Common Crawl thật không có lý do gì để xin Firebase service account key từ một website về podcast.
| Đường dẫn được yêu cầu | Số request | Kẻ tấn công muốn gì |
|---|---|---|
| /.ssh/known_hosts | 42 | Dấu vết SSH keys trên server |
| /phpinfo.php | 31 | Cấu hình PHP lộ thông tin |
| /.boto | 30 | Credential Google Cloud cũ |
| /.env.production | 29 | Biến môi trường production |
| /.vscode/launch.json | 28 | Cấu hình debug chứa secrets |
| /.env.test | 27 | Biến môi trường test |
| /firebase-service-account.json | 26 | Key Firebase đầy đủ quyền |
| /.gitconfig và /server/.env | 48 | Cấu hình git và env server |
Danh sách còn kéo dài: /id_rsa, /private-key, /ssl/localhost.key, /.aws/config, và cả /@fs/proc/self/environ — một lỗ hổng path traversal quen thuộc ở dev server. Số request chạm tới nội dung thật của website: gần bằng không. Gần nhất là /blog/wp-login.php — dò login WordPress trên một site chưa từng chạy WordPress.
Đây là kẻ chạy theo wordlist, mọi website đều là một hàng trong vòng lặp. Nó không đọc trang trước khi đòi file. Vì sao bị đếm là Common Crawl? User-agent tự khai vậy, và trên gói plan phổ thông không có per-request IP để đối chiếu. Common Crawl công bố cách kiểm chứng: traffic thật đến từ các khối IP đã ghi nhận và reverse DNS trỏ về hostname đuôi crawl.commoncrawl.org. Ai giữ log IP đầy đủ xác minh được trong một phút.
Hai đường dẫn mới trong wordlist nói lên điều gì?
/.mcp.json bị yêu cầu 30 lần và /.continue/config.json 24 lần — hai file cấu hình của agent tooling, nơi thường chứa API keys và access token để agent kết nối dịch vụ. Tức là wordlist săn secrets tiêu chuẩn đã chính thức bổ sung agent credentials vào danh mục. Không ai công bố điều này. Nó lặng lẽ xảy ra, trước khi đa số người viết xong MCP server đầu tiên của mình.
Với ai đang chạy hạ tầng agentic — MCP server, coding assistant, automation — đây là chuông cảnh báo trực tiếp: file cấu hình nằm trong web root public là lỗ hổng thật, có người quét thật, 54 lần một ngày trên một website không ai biết đến. Server của bạn có đang expose /.mcp.json theo đường dẫn mặc định không? Câu hỏi đó đáng kiểm tra ngay hôm nay.
Dashboard AI crawler đang đếm sai những gì?
Nó tính credential scanner vào tổng “AI crawler” trong khi security log không ghi nhận gì — vì không có rule nào bị kích hoạt. Traffic độc hại trở nên dễ đọc dưới danh nghĩa agent traffic và hoàn toàn vô hình dưới danh nghĩa security event. Tổng số đếm được và bản chất của traffic là hai thứ khác nhau.
Phản chứng thú vị đến từ chính Cloudflare. Bài viết về agentic internet cùng tuần thừa nhận phần lớn traffic từ bot “ngoan” là re-fetch những trang không đổi, chạy đến hàng tỷ request — “một lượng machine effort khổng lồ, không gắn với bất kỳ kết quả nào”. Máy tiêu tốn tài nguyên và máy thực sự tạo nhu cầu là hai đại lượng khác biệt, và cả hai đều nằm chung một biểu đồ trên dashboard của bạn.
Meta crawl site bạn mỗi ngày mà không gửi lại bao nhiêu traffic là “useless traffic” ở tầng nhẹ. Một scanner đội lốt archive phi lợi nhuận để săn cloud credentials là tầng nặng hơn. Cả hai cộng vào cùng một cột số — cột số mà nhiều SEOer đang dùng để ra quyết định chặn hay mở.
Cloudflare vừa cầm thước đo vừa bán van khóa?
Gần đúng vậy, và điều đó đáng được gọi tên. Riêng tuần đầu tháng 8, Cloudflare đã tung ra: dự báo bot traffic trên earnings call, bài blog định lượng “web không còn của người”, agent-readiness scanner chấm điểm website, sản phẩm AI-visibility, cầu nối giúp website expose tools cho agent, và mặc định chặn crawler từ 15/9. Công ty đo vấn đề, định khung vấn đề rồi bán giải pháp — một công ty nắm cả cái thước lẫn cái van.
Nhưng tôi không đứng về phe “Cloudflare xấu”. Pay-per-crawl là ý tưởng đúng hướng, như tôi từng phân tích trong bài về Cloudflare Monetization Gateway. Việc đưa kiểm soát crawler xuống tầng mạng, nơi compliance không phụ thuộc thiện chí của bot, cũng đúng hướng — đã bàn kỹ trong bài về chính sách chặn AI bot từ 15/9. Mọi sản phẩm đều là câu trả lời hợp lý cho một vấn đề thật. Chính điều đó khiến pattern đáng để nhìn thấy chứ không bỏ qua.
Bài học cho người làm SEO: lấy số đo của họ nghiêm túc, lấy cách đóng khung của họ có muối. Họ có lợi ích thương mại trong việc khiến bạn tin rằng bot là khủng hoảng cần mua giải pháp.
SEOer nên đọc log thế nào ngay tuần này?
Đọc paths, không đọc totals. Export danh sách đường dẫn từ AI crawler view hoặc access log, sắp xếp theo tần suất, rồi tự hỏi từng đường dẫn có thuộc nội dung của bạn không. Sau đó kiểm chứng bot bằng IP và reverse DNS thay vì tin user-agent. Cuối cùng, chặn scanner ở tầng WAF hoặc edge — đừng kỳ vọng robots.txt, vốn đã bị một số bot coi là lời đề nghị như dữ liệu TollBit cho thấy.
- Bước 1: Mở Cloudflare Analytics mục bot, hoặc grep access log theo user-agent. Export đủ 24 giờ, chia theo đường dẫn.
- Bước 2: Chạy lệnh kiểm tra top paths:
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -50. Bất kỳ file .env, key hay config nào lọt top là có vấn đề. - Bước 3: Với CCBot, đối chiếu IP với khối công bố của Common Crawl và reverse DNS về crawl.commoncrawl.org trước khi kết luận.
- Bước 4: Đặt WAF rule chặn các pattern scanner (/.env, /.ssh, /.mcp.json, /phpinfo) và rule alert khi có request chạm chúng.
Quy trình này lấy chưa đến một buổi chiều, nhưng thay đổi hoàn toàn chất lượng quyết định chặn hay mở AI bot của bạn. Nếu bạn quản lý nhiều site, bài phân tích crawl budget conservative của Google là tài liệu nên đọc kèm, vì cùng một nhóm bot cũng đang đốt crawl budget của bạn.
Kết lại, nên tin con số nào?
Con số 1.000 lần có thể đúng hoặc sai — người đưa ra nó tự nhận từng dự báo sai ở mọi bước. Nhưng điều không cần dự báo là chuyện đã xảy ra trong log: 1.510 request một ngày từ một kẻ săn credentials được đếm như “AI crawler”, đốt 6,7 MB bandwidth, vô hình với security log và hiện diện trong đúng một chỗ — dashboard mà bạn dùng để ra quyết định GEO.
Robots.txt cho thấy điều bạn yêu cầu. Log cho thấy điều thực sự đến. Trong thời đại machine traffic gấp hàng trăm lần human traffic, SEOer đọc log của chính mình sẽ luôn quyết định chính xác hơn người chỉ đọc biểu đồ tổng. Đó cũng là thông điệp tôi rút ra sau khi phân tích dữ liệu bypass của TollBit: đừng nghe lời hứa, hãy nhìn request thực tế.
Nguồn tham khảo: phân tích của Slobodan Manic trên No Hacks (republish trên Search Engine Journal), transcript earnings call Q2/2026 của Cloudflare, bài viết The Agentic Internet trên blog Cloudflare, tài liệu kiểm chứng crawler của Common Crawl.
