Bỏ qua tới nội dung
Theo dõi định kỳTheo dõi site

Đọc nhật ký máy chủ để biết Googlebot thật sự thu thập gì trên site

Search Console cho biết Google nghĩ gì về site; nhật ký máy chủ cho biết Googlebot đã thật sự làm gì: ghé địa chỉ nào, bao nhiêu lần, nhận mã gì, mất bao lâu. Với site vài nghìn trang trở lên, đây là cách duy nhất thấy rõ lượt thu thập bị phí vào đâu.

Ban biên tập SEO Gốc · · 6 phút đọc

Kiểm lâm quỳ trên lối mòn trong rừng, soi dấu chân thú còn mới bằng kính lúp

Mỗi lần có ai, người hay bot, gọi tới máy chủ, máy chủ ghi một dòng vào nhật ký truy cập (access log): giờ, địa chỉ IP, địa chỉ được gọi, mã trạng thái trả về, dung lượng, chuỗi nhận dạng trình duyệt. Lọc riêng các dòng của Googlebot, bạn có bức tranh mà không công cụ nào khác cho được: Googlebot thật sự dành lượt thu thập cho đâu. Báo cáo Thống kê thu thập dữ liệu trong Search Console có tóm tắt, nhưng chỉ là mẫu và không cho lọc tự do. Nhật ký thì đầy đủ, chính xác từng dòng.

Khi nào đáng đọc nhật ký

Tình huốngNhật ký trả lời được
Trang mới đăng mãi không được lập chỉ mụcGooglebot đã ghé trang đó chưa, ghé lúc nào, nhận mã gì
Site vài chục nghìn trang, báo cáo Trang có nhiều “Đã phát hiện, hiện chưa được lập chỉ mục”Lượt thu thập đang tiêu vào nhóm địa chỉ nào (lọc, tham số, trang thẻ)
Máy chủ quá tải không rõ lý doBot nào gọi nhiều nhất, có bot giả danh Googlebot không
Sau khi chuyển siteGooglebot còn gọi địa chỉ cũ nào trả 404 (thiếu dòng ánh xạ)
Muốn biết bot AI có vào site khôngGPTBot, ClaudeBot, PerplexityBot gọi những gì, bao nhiêu lần

Site vài trăm trang thường không cần: Search Console đủ dùng, và ngân sách thu thập hiếm khi là vấn đề (xem ngân sách thu thập).

Lấy nhật ký ở đâu

  • Máy chủ riêng, VPS: nginx thường ở /var/log/nginx/access.log, Apache ở /var/log/apache2/access.log hoặc /var/log/httpd/. Các tệp cũ được nén thành .gz theo ngày.
  • Hosting dùng DirectAdmin, cPanel: nhật ký theo từng tên miền trong thư mục logs của tài khoản, hoặc tải trong mục Raw Access Logs. Bản đã xoay vòng nằm dưới dạng nén; đọc thẳng bằng zcat hoặc tar -xzOf mà không cần giải nén ra đĩa.
  • Có Cloudflare đứng trước: nhật ký máy chủ ghi IP của Cloudflare thay vì IP thật, trừ khi máy chủ được cấu hình đọc tiêu đề CF-Connecting-IP. Lượt được trả từ bộ đệm biên không về tới máy chủ, nên không có trong nhật ký.
  • Nền tảng như Haravan, Shopify: không có nhật ký máy chủ cho chủ shop. Chỉ còn Search Console.

Lọc Googlebot thật, bỏ bot giả

Chuỗi nhận dạng “Googlebot” ai cũng giả được, và rất nhiều công cụ cào dữ liệu giả danh Googlebot để không bị chặn. Đếm theo chuỗi nhận dạng thì số liệu sai. Googlebot thật có địa chỉ IP phân giải ngược ra tên miền googlebot.com, google.com hoặc googleusercontent.com, và tên đó phân giải xuôi lại đúng IP:

host 66.249.66.1
# 1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# crawl-66-249-66-1.googlebot.com has address 66.249.66.1

Google cũng công bố danh sách dải IP của Googlebot dưới dạng tệp JSON, tiện để lọc hàng loạt thay vì tra từng IP. Trong thực tế đo trên các site Việt, phần “Googlebot” giả danh có lúc chiếm một tỉ lệ đáng kể, đủ để làm sai mọi kết luận nếu không lọc.

Lệnh mẫu: đếm, gom, tìm bất thường

Với định dạng nhật ký mặc định (combined), cột 7 là địa chỉ, cột 9 là mã trạng thái. Các lệnh dưới chạy trên Linux, không cần cài gì thêm:

# Số lượt Googlebot theo ngày
grep -h "Googlebot" access.log* | awk '{print substr($4,2,11)}' | sort | uniq -c

# 30 địa chỉ Googlebot gọi nhiều nhất
grep -h "Googlebot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -30

# Phân bố mã trạng thái Googlebot nhận được
grep -h "Googlebot" access.log | awk '{print $9}' | sort | uniq -c | sort -rn

# Gom theo thư mục cấp một: lượt thu thập đi vào đâu
grep -h "Googlebot" access.log | awk '{split($7,a,"/"); print "/"a[2]}' | sed 's/?.*//' | sort | uniq -c | sort -rn | head

# Địa chỉ có tham số Googlebot đang gọi
grep -h "Googlebot" access.log | awk '{print $7}' | grep "?" | sed 's/=[^&]*/=/g' | sort | uniq -c | sort -rn | head

Lệnh cuối thay giá trị tham số bằng rỗng để gom các mẫu giống nhau: /sofa?mau=&gia= xuất hiện 4.000 lần nghĩa là bộ lọc đang hút lượt thu thập. Xem bộ lọc và bẫy thu thập vô tận.

Đọc kết quả: các mẫu hay gặp

Bạn thấyÝ nghĩaLàm gì
Hơn nửa lượt thu thập vào địa chỉ có tham số lọc, sắp xếpBẫy thu thậpBỏ liên kết tới tổ hợp lọc vô nghĩa, cân nhắc chặn trong robots.txt
Nhiều lượt vào trang thẻ, trang tác giả, trang lưu trữ theo ngàyTrang phụ tự sinh ăn lượtNoindex hoặc bỏ liên kết, gỡ khỏi sitemap
Nhiều 301 Googlebot nhậnLiên kết nội bộ, sitemap trỏ địa chỉ cũSửa liên kết trỏ thẳng đích
Nhiều 404 cho địa chỉ có dạng lạ (/wp-login.php trên site không phải WordPress)Thường không phải Googlebot thậtKiểm IP; bỏ qua nếu là bot dò
Trang sản phẩm chính vài tháng mới được ghé một lầnTrang ít liên kết nội bộ, nằm sâuĐưa lên gần trang chủ hơn, liên kết từ danh mục
Thời gian phản hồi cho Googlebot cao bất thườngMáy chủ chậm với trang không có bộ đệmXem TTFB

Một mẫu đáng chú ý ở site WordPress trên hosting dùng chung: lượt gọi tới /xmlrpc.php và /wp-login.php từ các dải IP lạ có thể chiếm tới gần một nửa toàn bộ lưu lượng, mỗi lượt tốn CPU như tải cả trang. Không phải Googlebot, nhưng nó làm máy chủ chậm cho chính Googlebot. Xem bảo mật WordPress ảnh hưởng SEO.

Người phụ nữ ở cảng cá chia cá vào các rổ nhựa xanh theo từng loại

Không quen dòng lệnh thì đọc bằng gì

Dòng lệnh nhanh nhất nhưng không bắt buộc. Có ba cách khác, từ dễ tới khó:

  • Bảng tính. Lọc trước các dòng có chữ Googlebot (nhờ người quản trị máy chủ chạy một lệnh grep duy nhất), rồi nhập tệp kết quả vào Google Sheets hoặc Excel, tách cột theo dấu cách. Bảng tổng hợp (pivot) theo cột địa chỉ và cột mã trạng thái là đủ cho phần lớn câu hỏi. Giới hạn: bảng tính chậm khi vượt vài trăm nghìn dòng.
  • Công cụ phân tích nhật ký chạy trên máy. Có những công cụ chuyên cho SEO nhận thẳng tệp nhật ký, tự xác minh Googlebot bằng IP, vẽ biểu đồ lượt theo ngày, liệt kê địa chỉ không bao giờ được ghé. Bản miễn phí thường giới hạn số dòng nhưng đủ cho site vừa.
  • Công cụ đọc nhật ký tổng quát trên máy chủ như GoAccess: chạy ngay trên máy chủ, ra trang báo cáo HTML có thống kê theo bot, theo địa chỉ, theo mã trạng thái. Không chuyên cho SEO nhưng nhanh và miễn phí.

Dù dùng cách nào, giữ cùng một khoảng thời gian (ví dụ 28 ngày) cho mỗi lần đọc để so được giữa các lần. Và ghi lại kết luận kèm ngày: “28 ngày tới 10/11: 62% lượt Googlebot vào /san-pham?loc=…”. Lần sau sửa xong, đọc lại cùng cách để thấy con số đổi thật hay chưa. Nhật ký là dữ liệu thô quý; nhiều hosting chỉ giữ vài tuần rồi xoá, nên nếu định theo dõi lâu dài, sao lưu bản nén định kỳ về máy khác.

Bot AI trong nhật ký

Cùng cách lọc, thay chuỗi “Googlebot” bằng tên bot AI để biết chúng làm gì trên site: GPTBot (thu thập để huấn luyện), OAI-SearchBot (cho ChatGPT tìm kiếm), ChatGPT-User (khi người dùng bảo ChatGPT mở trang), ClaudeBot, PerplexityBot, Perplexity-User. Lượt của bot người dùng (loại có chữ -User) là dấu hiệu có người thật đang hỏi AI về nội dung của bạn. So với cấu hình robots.txt hiện tại bằng kiểm bot AI.

Checklist đọc nhật ký

  1. Lấy ít nhất 2–4 tuần nhật ký, gộp các tệp đã nén.
  2. Lọc Googlebot thật bằng IP, không chỉ bằng chuỗi nhận dạng.
  3. Đếm lượt theo ngày, theo mã trạng thái, theo thư mục.
  4. Gom địa chỉ có tham số theo mẫu.
  5. So danh sách trang quan trọng với danh sách được ghé: trang nào bị bỏ quên.
  6. Tìm 3xx, 4xx, 5xx mà Googlebot nhận, sửa nguồn gây ra.
  7. Kiểm bot AI và bot dò ăn tài nguyên.
  8. Lặp lại sau mỗi thay đổi lớn để so.

Hỏi đáp

Site nhỏ có cần đọc nhật ký máy chủ không?

Thường không. Với site vài trăm trang, Search Console đủ để biết trang nào được lập chỉ mục. Nhật ký hữu ích khi site lớn, khi có bẫy thu thập, hoặc khi cần kiểm Googlebot có bị chặn không.

Làm sao biết một lượt truy cập có phải Googlebot thật?

Tra ngược IP, tên phải thuộc googlebot.com, google.com hoặc googleusercontent.com, rồi tra xuôi tên đó phải ra đúng IP. Hoặc so với danh sách dải IP Google công bố. Chuỗi nhận dạng một mình không đủ vì ai cũng giả được.

Có Cloudflare thì nhật ký máy chủ còn dùng được không?

Dùng được nhưng phải cấu hình máy chủ ghi IP thật từ tiêu đề CF-Connecting-IP. Các lượt được trả từ bộ đệm biên sẽ không có trong nhật ký máy chủ.

Googlebot gọi trang nhiều có nghĩa là trang được xếp hạng cao?

Không trực tiếp. Tần suất thu thập phản ánh Google nghĩ trang thay đổi thường xuyên hay quan trọng ra sao, không phải thứ hạng. Nhưng trang quan trọng mà ít khi được ghé là dấu hiệu nên tăng liên kết nội bộ.

Đọc tiếp