Skip to content

Cách cấu hình Cloudflare Pro để không chặn Googlebot (Google Crawler)

Cloudflare (gói Pro) mặc định không chặn các bot tìm kiếm hợp lệ như Googlebot. Tuy nhiên, để đảm bảo tuyệt đối rằng Googlebot và các trình thu thập khác của Google (Googlebot-Image, Googlebot-News, v.v.) có thể thu thập dữ liệu trang web của bạn, bạn nên kiểm tra và cấu hình các cài đặt bảo mật sau. Dưới đây là hướng dẫn tuần tự bằng tiếng Việt:

Bước 1: Kiểm tra các quy tắc tường lửa (Firewall Rules)

Trước tiên, kiểm tra xem Cloudflare có đang chặn Googlebot hay không thông qua các quy tắc tường lửa tùy chỉnh:

  • Mở mục Firewall Events (Sự kiện tường lửa): Đăng nhập Cloudflare, chọn domain của bạn. Vào tab Security (Bảo mật) > WAF > Firewall (Tường lửa) > Events (Sự kiện). Tại đây, bạn sẽ thấy log các yêu cầu bị chặn/thử thách. Sử dụng bộ lọc để tìm theo User Agent hoặc IP:
    • Lọc User Agent chứa “Googlebot” hoặc tên bot Google khác.
    • Hoặc lọc Source IP (địa chỉ IP nguồn) theo các dải IP của Googlebot (nếu biết). Googlebot luôn thu thập từ địa chỉ IP của Google; bạn có thể xác minh IP đó có thuộc Google hay không theo hướng dẫn của Google​developers.cloudflare.com.
  • Xác định luật chặn: Nếu thấy yêu cầu của Googlebot bị chặn, hãy xem Rule ID/Name (ID/Tên quy tắc) hoặc Service nào đã chặn. Cloudflare gợi ý rằng bạn không nên chặn địa chỉ IP của Googlebot bằng quy tắc tùy chỉnh hoặc IP Access Rulesdevelopers.cloudflare.com. Nếu có quy tắc nào như vậy, cần điều chỉnh ngay.

Điều chỉnh hoặc tắt quy tắc vi phạm:

  • Nếu một Firewall Rule tùy chỉnh đang chặn bot của Google, hãy chỉnh sửa quy tắc đó. Ví dụ: bạn có thể bổ sung điều kiện loại trừ bot hợp lệ. Cloudflare cung cấp biến đặc biệt cf.client.bot để nhận biết các bot đã xác minh (như Googlebot)​developers.cloudflare.com. Khi chỉnh sửa quy tắc, thêm điều kiện AND NOT cf.client.bot để quy tắc không áp dụng cho bot hợp lệ.
  • VD: Nếu bạn có quy tắc chặn theo quốc gia, hãy sửa thành:
    (ip.src.country in {"VN" "US"} **and not cf.client.bot**) với hành động chặn hoặc challenge. Như vậy, Googlebot (thuộc nhóm “known bots”) sẽ được bỏ qua​developers.cloudflare.com.
  • Nếu bạn đã sử dụng User Agent Blocking (chặn theo chuỗi UA) trong phần Tools của Cloudflare, hãy đảm bảo không có chuỗi nào quá rộng ảnh hưởng đến Google. Chẳng hạn, chặn mọi UA chứa “bot” là không nên – vì sẽ bao gồm cả “Googlebot”.

Bước 2: Tạo quy tắc cho phép (whitelist) Googlebot nếu cần thiết

Trong hầu hết trường hợp, bạn không cần tạo quy tắc riêng để cho phép Googlebot (Cloudflare tự động bỏ qua các bot đã xác minh)​community.cloudflare.com. Tuy nhiên, nếu bạn muốn chắc chắn và ưu tiên cho phép các bot của Google, có thể tạo một Firewall Rule cho phép cụ thể:

  1. Vào Security > WAF > Firewall Rules (Quy tắc tường lửa). Nhấn Create a Firewall Rule (Tạo quy tắc mới).
  2. Đặt tên như “Allow Googlebot” (Cho phép Googlebot).
  3. Ở phần When incoming requests match… (Điều kiện áp dụng), cấu hình như sau:
    • Trường (Field): User Agent.
    • Toán tử: contains (chứa).
    • Giá trị: điền “Googlebot”.
      (Giải thích: Điều này sẽ khớp với mọi user agent có chuỗi “Googlebot”, bao gồm Googlebot-Image, Googlebot-News… vì các bot này đều chứa từ “Googlebot” trong UA của chúng​potentpages.compotentpages.com.)
  4. Thêm hoặc (OR) các điều kiện nếu bạn muốn cho phép cụ thể từng bot khác của Google. Ví dụ: User Agent contains “AdsBot” để cho phép bot quảng cáo, User Agent contains “APIs-Google”, v.v. (Tham khảo danh sách user agent các Google bot trong tài liệu chính thức của Google​analyticahouse.com).
  5. Phần Then… (Action), chọn Allow (Cho phép). Hành động Allow sẽ cho phép yêu cầu đó đi qua mọi lớp bảo mật Cloudflare mà không bị chặn. Lưu quy tắc.

Sau khi tạo, quy tắc “Allow Googlebot” này sẽ xuất hiện đầu tiên. Bất kỳ request nào từ Googlebot (hoặc bot Google khác theo điều kiện bạn đặt) sẽ được phép trước khi các quy tắc chặn khác được xét. Điều này đảm bảo các bot Google luôn qua được Cloudflare.

💡 Lưu ý: Nếu bạn lo ngại giả mạo User Agent (một bot xấu giả danh Googlebot), giải pháp tốt hơn là dùng điều kiện cf.client.bot (Known Bots) như trên. Cloudflare duy trì danh sách “Verified bots” (bot đã xác minh) bao gồm Googlebot​blog.cloudflare.com. Bạn có thể tạo quy tắc với điều kiện cf.client.bot is true để cho phép tất cả các bot tốt đã được Cloudflare xác minh, thay vì chỉ dựa vào chuỗi UA văn bản.

Bước 3: Kiểm tra và điều chỉnh chế độ Bot Fight Mode

Cloudflare Pro cung cấp Super Bot Fight Mode – chế độ chống bot nâng cao. Tính năng này thường phân biệt bot tốt và bot xấu, và không chặn Googlebot thật (vì Googlebot nằm trong danh sách bot đã xác minh của Cloudflare)​blog.cloudflare.com. Tuy nhiên, nếu Bot Fight Mode được bật với cấu hình quá nghiêm ngặt, có thể xảy ra trường hợp hiểu nhầm hoặc chặn nhầm.

Các bước kiểm tra/điều chỉnh Bot Fight Mode:

  • Vào Security > Bots trên dashboard Cloudflare của domain. Tại đây, bạn sẽ thấy mục Bot Fight Mode hoặc Super Bot Fight Mode (đối với gói Pro trở lên).
  • Nhấn Configure Super Bot Fight Mode (Cấu hình chế độ Bot Fight) nếu có. Kiểm tra các thiết lập:
    • Đảm bảo Verified Bots (Các bot đã xác minh) đang được phép. Thông thường, Cloudflare sẽ tự động allow các bot này. Nếu có tùy chọn như “Definitely allow verified bots”, hãy bật nó.
    • Nếu bạn thấy mục Block all bots hoặc Challenge all bots ở chế độ Bot Fight, không chọn áp dụng cho mọi bot. Thay vào đó, chọn mức chỉ chặn “definitely automated” hoặc các bot không xác định, và không chặn danh mục “known good bots”.
  • Nếu không có tùy chỉnh chi tiết (ví dụ gói Pro có thể chỉ có các mức sẵn có), hãy xem trạng thái:
    • Bot Fight Mode: On hay Off.
    • Block (or Challenge) Likely Bots: thiết lập này có thể chặn các bot đáng ngờ. Tuy nhiên, Googlebot thường được nhận diện là bot tốt và không bị chặn mặc định.
  • Tắt Bot Fight Mode (nếu cần thiết): Nếu sau khi kiểm tra, bạn nghi ngờ chính Bot Fight Mode đang cản trở Googlebot (dù hiếm), bạn có thể tạm thời tắt tính năng này để thử. Gạt nút Disable Bot Fight Mode và lưu lại. Sau đó, kiểm tra lại trong Firewall Events xem Googlebot còn bị chặn không.

ℹ️ Mẹo: Một cách kiểm tra Bot Fight Mode có chặn bot tốt hay không là quan sát Firewall Events. Nếu Bot Fight Mode chặn, bạn sẽ thấy trong log hành động như Bot Fight, JSC Challenge hoặc Managed Challenge với user agent Googlebot. Cloudflare cộng đồng xác nhận rằng nếu Googlebot bị chặn, bạn sẽ nhìn thấy sự kiện này trong log Firewall​community.cloudflare.com.

Bước 4: Đảm bảo các bot Google khác không bị chặn

Bên cạnh Googlebot “truyền thống”, Google còn có các bot chuyên biệt: Googlebot-Image (thu thập hình ảnh), Googlebot-News (thu thập tin tức), Googlebot-Video, AdsBot (thu thập trang đích quảng cáo), Google-InspectionTool (dùng cho công cụ kiểm tra URL của Search Console), v.v. potentpages.compotentpages.com. Để đảm bảo tất cả các bot này đều được truy cập:

  • Nếu bạn đã cấu hình Firewall Rule cho phép theo User Agent chứa “Googlebot” ở Bước 2, thì hầu hết các bot trên đã được bao phủ (do chuỗi “Googlebot” nằm trong tên của chúng, như “Googlebot-Image”).
  • AdsBot và các bot không chứa “Googlebot” trong tên: Trường hợp bot Google không có chữ “Googlebot” (ví dụ AdsBot, Google-InspectionTool, GoogleOther), bạn có thể thêm điều kiện OR tương tự trong quy tắc Allow ở Bước 2 (như đã đề cập). Ví dụ: thêm điều kiện User Agent chứa “AdsBot-Google”, User Agent chứa “Google-InspectionTool”, v.v., rồi giữ nguyên Action: Allow.
  • Không chặn theo IP: Đa số quản trị không cần tự whitelist IP Google vì Cloudflare tự xử lý. Chỉ làm điều này nếu bạn có IP Access Rules đang chặn dải IP rộng có thể gồm IP Google. Theo khuyến nghị Cloudflare, không nên chặn IP của Googlebot trong IP Access Rulesdevelopers.cloudflare.com. Nếu trước đó bạn chặn nguyên dải US hoặc ASN lớn (Google thường thu thập từ ASN Google – AS15169), hãy gỡ bỏ hoặc sửa lại cho phù hợp.
  • Kiểm tra robots.txt và các cấu hình khác: Đảm bảo file robots.txt của bạn không cấm các bot Google cần thiết. Cloudflare không chặn dựa trên robots.txt, nhưng Googlebot sẽ tuân theo file này. Hãy chắc chắn bạn không vô tình disallow Googlebot-Image, v.v., trừ khi có mục đích.

Bước 5: Lưu thay đổi và theo dõi kết quả

Sau khi thực hiện các bước trên, hãy lưu lại tất cả thay đổi trên Cloudflare. Một số mẹo cuối cùng:

  • Dùng Google Search Console: Vào Google Search Console của trang, dùng công cụ URL Inspection (Kiểm tra URL) hoặc Live Test (Kiểm tra trực tiếp) để xem Googlebot có thể fetch trang của bạn không. Nếu Cloudflare còn chặn, kết quả fetch sẽ báo lỗi (ví dụ nhận mã 4xx/5xx). Sau khi cấu hình đúng, bạn sẽ thấy Googlebot truy cập thành công.
  • Theo dõi Firewall Events: Tiếp tục giám sát log trong vài ngày. Đảm bảo không còn bản ghi nào cho thấy Googlebot (hoặc bot Google khác) bị thách thức hay chặn. Nếu vẫn còn, xem lại các quy tắc hoặc tính năng bảo mật khác có thể gây ra.
  • Tuân thủ hướng dẫn chính thức: Tham khảo tài liệu Google Search Central về Google Crawlers để biết đầy đủ danh sách user-agent của Google và hành vi của chúng​analyticahouse.com. Điều này giúp bạn không bỏ sót bot nào quan trọng khi cấu hình. Như Google lưu ý, nếu bạn chặn Googlebot hoặc các bot chính, trang web của bạn có thể bị loại khỏi chỉ mục tìm kiếm.

Như vậy, bằng việc kiểm tra kỹ Firewall Rules, điều chỉnh Bot Fight Mode hợp lý, và tạo ngoại lệ (whitelist) cho các Googlebot, bạn sẽ đảm bảo Cloudflare không cản trở quá trình thu thập dữ liệu của Google trên website của mình. Các bước trên thông qua giao diện Cloudflare đều trực quan và an toàn – sau khi cấu hình, Googlebot sẽ có thể thu thập dữ liệu trơn tru, đồng thời bạn vẫn duy trì được các lớp bảo mật khác cho trang web. Chúc bạn thành công!

Leave a Reply

Your email address will not be published. Required fields are marked *