Phân tích log crawler AI

Cách lấy log máy chủ hoặc CDN, xác minh GPTBot, ClaudeBot và PerplexityBot, chọn công cụ và phân tích tần suất crawl, render cùng mã trạng thái.

Xuất bản lần đầu: 3 thg 7, 2026 · Cập nhật lần cuối: 22 thg 8, 2026 · Advanced
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này

Phân tích log crawler AI dùng log bên thứ nhất để biết bot tự nhận nào đã request site và máy chủ trả gì. Việc xác minh tùy nhà cung cấp: OpenAI công bố file dải IP theo bot, Anthropic có danh sách bots.json dùng chung; user-agent không có phương thức chính thức hiện hành vẫn chỉ là danh tính tự nhận. Mẫu chỉ lấy HTML là rủi ro quan sát được, không phải hợp đồng render phổ quát. Tần suất crawl không dự báo trích dẫn vì retrieval là điều kiện cần nhưng chưa đủ.

Tóm tắt — Lấy access log Apache/Nginx hoặc CDN rồi làm bốn việc: xác minh (đối chiếu user-agent IP với danh sách từng nhà vận hành công bố — tỷ lệ giả mạo từ 5,7% trong dữ liệu HUMAN Security đến 81,8% trong phép thử của Duane Forrester); chọn công cụ theo quy mô (grep → Screaming Frog Log File Analyser → ELK/Splunk → BigQuery/Cloudflare); đo lường tần suất crawl theo bot, trang được truy cập, crawl so với render và mã trạng thái; và diễn giải trung thực — retrieval là điều kiện cần nhưng chưa đủ, nên “more crawling = more citations” (bản dịch) «crawl nhiều hơn = được trích dẫn nhiều hơn» chưa được chứng minh. Đây là bài phương pháp song hành với Crawler AI (phụ trách bot là gì), Phân bổ traffic AI (phía lượt nhấp) và Khả năng hiển thị LLM (khung được truy xuất → được nhắc → được trích dẫn; nhật ký chỉ quan sát giai đoạn đầu).

Bài này phụ trách gì — và không phụ trách gì?

Nhật ký chứng minh request đã xảy ra, không chứng minh nội dung được dùng cho huấn luyện, retrieval hay câu trả lời. Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files Khi có, hãy xác minh bot bằng cơ chế nhà cung cấp công bố và coi attribution là bằng chứng có giới hạn. Evidence for this claim OpenAI publishes user-agent tokens and controls for several of its crawlers. Scope: OpenAI's documented crawlers; a user-agent string is not proof of downstream training, retrieval, citation, or use. Confidence: high · Verified: OpenAI: Crawlers

Bài Crawler AI song hành đã phụ trách bảng theo từng bot, taxonomy ba nhóm (huấn luyện / tìm kiếm AI / fetch do người dùng kích hoạt), khác biệt Google-Extended là token chứ không phải bot và công thức robots.txt. Tôi không trình bày lại ở đây. Phân bổ traffic AI phụ trách phía GA4/referrer — bot gửi gì trở lại. Bài này nói về phía đối diện của funnel: bot lấy gì đi. Còn Khả năng hiển thị LLM phụ trách khung được truy xuất → được nhắc → được trích dẫn; phân tích log chỉ quan sát riêng giai đoạn được truy xuất, không cho biết bước nào sau đó.

Đây là phần tiếp nối trong kỷ nguyên AI của phân tích log SEO cổ điển. Khi tôi đánh giá bài Cách thực hiện phân tích log SEO của Ahrefs, các chiều phân tích là tần suất crawl, URL được crawl, mã trạng thái và xác minh bot với IP Google công bố. Khung ở đây tương tự, nhưng hướng vào nhóm bot phần lớn không render JavaScript, thường xuyên bị giả danh và crawl theo đợt thất thường thay vì dòng đều đặn.

Bước 1 — Lấy nhật ký

Nhật ký của bạn nằm ở một trong hai nơi, hoặc cả hai:

  • Nhật ký máy chủ gốc. Apache (access.log), Nginx (access.log) hoặc máy chủ ứng dụng. Mỗi dòng tối thiểu có timestamp, IP máy khách, phương thức + đường dẫn yêu cầu, mã trạng thái, bytes, referrer và người dùng-agent.
  • Nhật ký CDN / edge. Nếu đứng sau Cloudflare, Fastly, Akamai, v.v., nhiều lưu lượng bot được trả lời ở edge và có thể không bao giờ đến origin — vì vậy nhật ký edge mới đầy đủ hơn. Cloudflare cung cấp dữ liệu qua Logpush (và GraphQL API), còn Fastly có tính năng stream nhật ký theo thời gian thực.
Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files

Các trường thực sự cần cho phân tích bot AI là timestamp, client IP, user-agent, đường dẫn request, mã trạng thái, và tốt nhất có thêm số byte cùng referrer.

Vấn đề thực tế là thời gian lưu trữ. Nhiều host chỉ giữ nhật ký trong vài ngày. Bài viết của Lauren Busby trên Search Engine Land nêu thẳng cách khắc phục: một lượt lấy theo lịch biến cửa sổ ngắn thành dữ liệu có thể phân tích theo thời gian. Một job SFTP theo lịch, workflow như n8n hoặc script là đủ để biến thời gian lưu trữ ngắn thành thứ bạn có thể thực sự phân tích lâu dài (Busby, SEL). Hãy thiết lập trước khi cần dữ liệu.

Một giới hạn cần ghi nhớ ngay từ đầu: như Busby nói, tệp nhật ký cho bạn biết điều gì đã đến trang web, nhưng không phải lúc nào cũng cho biết điều gì đã cố đến (SEL) — các yêu cầu bị chặn hoặc được trả lời ở upstream có thể hoàn toàn không xuất hiện.

Bước 2 — Xác minh trước khi tin người dùng-agent

Đây là bước phân biệt phân tích nhật ký bot AI với phiên bản SEO kinh điển, nhưng lại thường bị bỏ qua trong các bài hướng dẫn khác. Chuỗi người dùng-agent rất dễ bị giả mạo. Hai dữ liệu độc lập cho thấy vấn đề nghiêm trọng đến đâu:

  • HUMAN Security phân tích hai tuần traffic tự nhận là một trong 16 crawler AI nổi tiếng và thấy 5,7% là giả mạo — khoảng 1 trong 18 request (được SEJ thuật lại).
  • Duane Forrester thực hiện cùng phép kiểm tra trên log của mình và thấy kết quả tệ hơn nhiều. Trong 33 request mang tên live-fetch, sáu request đến từ IP nhà cung cấp công bố còn 27 thì không — tỷ lệ giả mạo 81,8% trong số request có thể kiểm tra (SEJ). Con số Googlebot còn tệ hơn: trong 799 request mang tên Googlebot, chỉ 107 đến từ địa chỉ Google đã xác minh — khoảng 87% còn lại không phải Google (SEJ).

Hãy coi các con số đó là chỉ dấu từ những mẫu và phương pháp khác nhau, không phải một tỷ lệ phổ quát. Quan trọng hơn, đừng áp dụng phương thức xác minh của một nhà cung cấp cho mọi bot. Một số operator công bố dải địa chỉ; số khác chỉ mô tả token người dùng-agent mà không có dải công khai hiện hành hay hợp đồng xác minh DNS (SEJ).

Phương thức xác minh:

  1. Đối chiếu chuỗi user-agent. GPTBot tự nhận diện bằng Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.3; +https://openai.com/gptbot; OAI-SearchBot và ChatGPT-User có token riêng (tài liệu bot OpenAI).
  2. Dùng phương thức xác minh chính thức hiện hành của nhà cung cấp nếu có. OpenAI cung cấp openai.com/gptbot.json, searchbot.jsonchatgpt-user.json. Tài liệu crawler hiện hành của Anthropic nói rằng địa chỉ trong danh sách công bố của họ cho biết crawler đến từ Anthropic. Hãy dùng phương thức riêng hiện hành của từng nhà cung cấp; đừng biến nó thành quy tắc xác minh bot phổ quát.
  3. Không tự bịa phương án dự phòng. DNS ngược rồi xuôi chỉ hợp lệ khi nhà cung cấp công bố mẫu hostname và quy trình xác minh. PTR khớp chung chỉ chứng minh quyền kiểm soát DNS, không chứng minh danh tính bot được khai báo. Screaming Frog Log File Analyser có thể áp dụng danh sách được xác nhận công khai khi có; tính năng verify-on-import tra cứu danh sách IP công khai để xác nhận bot là thật (Screaming Frog).

Việc xác minh nên cung cấp căn cứ cho chính sách cụ thể và phản hồi sự cố. Ưu tiên token robots được nhà cung cấp tài liệu hóa cho chính sách crawl; chỉ dùng kiểm soát mạng cho trường hợp lạm dụng hoặc bảo mật, và ghi nhãn chúng tách biệt với việc tuân thủ robots.

Bước 3 — Chọn công cụ

Hãy chọn theo quy mô công việc, từ miễn phí → trả phí và từ dữ liệu gốc → dịch vụ được quản lý:

  • grep / PowerShell — đếm nhanh một lần và lọc có xét xác minh. Bài Crawler AI có đoạn mã đếm bot cơ bản; thẻ Scripts ở đây mở rộng thành xác minh IP, phân tích mã trạng thái và phát hiện crawl so với render.
  • Screaming Frog Log File Analyser — công cụ desktop nhập log, có preset bot AI tích hợp (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Perplexity-User, CCBot) và nút “Verify Bots When Importing” (bản dịch) «Xác minh bot khi nhập». Thẻ Response Codes phân tích 2XX/3XX/4XX/5XX theo URL; User Agents hiển thị request và tỷ lệ lỗi theo bot; URLs sắp theo Num Events để thấy trang được fetch nhiều nhất; IPs giúp điều tra nguồn đáng ngờ (hướng dẫn).
  • ELK Stack (Elasticsearch / Logstash / Kibana) hoặc Splunk — nhập liên tục ở quy mô lớn hơn, kèm dashboard và cảnh báo, khi công cụ desktop nhập một lần quá chậm hoặc bạn cần giám sát liên tục thay vì export định kỳ.
  • BigQuery — lưu dài hạn và truy vấn SQL ở quy mô lớn, thường nhận dữ liệu từ Cloudflare Logpush hoặc lượt lấy GraphQL theo lịch từ dataset httpRequestsAdaptiveGroups của Cloudflare, để truy vấn hoạt động bot theo trang, ngày và mã trạng thái mà không phải nhập lại file phẳng.
  • Cloudflare AI Crawl Control (cho site dùng Cloudflare) — dashboard được quản lý về hoạt động crawler, mẫu request, xác minh bot và tuân thủ directive mà không phải tự xây pipeline (tài liệu).

Bước 4 — Đo gì và đọc như thế nào?

Tần suất crawl theo bot. Đếm lượt theo ngày/tuần cho từng tên bot. Bot AI crawl theo đợt, không đều đặn. Trong nghiên cứu nhật ký CDN 48 ngày của WISLR, GPTBot vắng mặt nhiều tuần rồi tạo 187 yêu cầu trong một tuần — 152 yêu cầu trong số đó dồn vào một đợt ba phút, đạt đỉnh 114 yêu cầu/phút (WISLR). Hãy đọc tần suất như một mẫu hành vi, không chỉ là tổng số.

Trang nào được truy cập — và trang quan trọng nào không. Sắp xếp theo số yêu cầu. Busby lưu ý crawler AI thường chỉ đi nông — thường chỉ thấy chúng giới hạn ở trang cấp cao: trang chủ, điều hướng chính và một số ít URL cấp cao (SEL) — rồi giảm mạnh ở các trang sâu, dù chính các trang sâu đó có thể quan trọng nhất cho việc được trích dẫn. Trang sâu không bao giờ xuất hiện trong nhật ký thì không thể được retrieval.

Phụ thuộc HTML thô — hãy đo, đừng khái quát hóa. Tài liệu nhà cung cấp không đưa ra một hợp đồng render JavaScript dùng chung cho GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot và các agent khác. Một dấu hiệu quan sát vẫn hữu ích: trong mẫu WISLR, ChatGPT-User chỉ lấy HTML — không request ảnh, CSS hay file JS — trong khi Googlebot và OAI-SearchBot cũng lấy ảnh (WISLR). Nếu log cho thấy bot AI liên tục gọi trang có HTML thô gần như chỉ là shell JS rỗng, đó là rủi ro phụ thuộc có thể kiểm tra, không phải bằng chứng mọi nhà cung cấp luôn hành xử như vậy. Hãy so sánh HTML được phân phối với kết quả hoặc phép thử fetch riêng theo nhà cung cấp. (Xem JavaScript SEO để biết nền tảng về render.)

Phân tích mã trạng thái / yêu cầu bị chặn. Theo dõi: 200 (thành công), 304 (không thay đổi — crawl lại hiệu quả), 404 (liên kết hỏng mà bot đã theo) và 403/429 (bị chặn / giới hạn tốc độ). Busby nhấn mạnh rằng nhật ký cho thấy nơi crawler gặp vấn đề, gồm phản hồi 403 (yêu cầu bị chặn) và 429 (giới hạn tốc độ) (SEL). Hãy kiểm tra việc chặn đó là chủ ý hay tai nạn.

Request robots.txt và llms.txt là tín hiệu riêng. Đối chiếu bot nào request /robots.txt trước khi crawl — trong mẫu WISLR, GPTBot và Meta-WebIndexer không hề kiểm tra tệp đó suốt 48 ngày — và đường dẫn bị cấm có vẫn bị truy cập không. WISLR cũng ghi nhận không có request tới /llms.txt từ bất kỳ bot AI nào trong 48 ngày đó (WISLR), phù hợp với phát hiện khoảng 97% không được đọc trong bài Crawler AI. Đừng coi request llms.txt trong log là bằng chứng nó “hoạt động”.

Crawl nhiều hơn có nghĩa là được trích dẫn nhiều hơn không? Hãy trung thực.

Không có dữ liệu đã được thiết lập nào hỗ trợ “crawl more, get cited more” (bản dịch) «crawl nhiều hơn, được trích dẫn nhiều hơn». Retrieval là điều kiện cần cho trích dẫn nhưng còn xa mới đủ — trang thường xuyên được crawl mà không bao giờ được dẫn, do render phía máy khách, paywall, nội dung mỏng hoặc trùng lặp, hay đơn giản thua nguồn tốt hơn ở bước retrieval/xếp hạng của model. Khung cốt lõi nằm trong bài khả năng hiển thị LLM: được truy xuất → được nhắc → được trích dẫn; phân tích log chỉ quan sát giai đoạn đầu.

Để khép vòng một cách trung thực, hãy ghép phía đầu vào crawl (log của bạn) với phía đầu ra trích dẫn. Báo cáo AI Performance của Bing (public preview, tháng 2/2026) là công cụ chính thức đầu tiên hiển thị dữ liệu trích dẫn cùng grounding query — các cụm từ chính AI dùng khi truy xuất nội dung được tham chiếu trong câu trả lời do AI tạo (Bing Webmaster Blog). Log cho biết nội dung nào đã bị lấy; grounding query và số trích dẫn cho biết kết quả. Không bên nào tự nó cho toàn cảnh — xem hub đo lường và báo cáo để biết các lớp này kết hợp thế nào.

Điểm khó của việc crawl lén

Xác minh không phải audit một lần. Theo Clint Spaulding của Seer Interactive, sau khi bị chặn, crawler lén có thể xuất hiện lại dưới header trình duyệt chung và IP không liên quan — các phiên đó trông như người trong log, khiến số phiên bị đội lên, traffic bot bị đếm thiếu và phân đoạn GEO kém tin cậy hơn (Seer). Tóm tắt thẳng thắn của ông: nếu không nhìn thấy crawler lén, bạn không thể đo tác động của chúng. Đó là lý do phân tích log cần xác minh lại và thiết lập baseline lại định kỳ, không phải chỉ một lượt.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.