Cách cho phép trình thu thập dữ liệu của Shoply AI đi qua tường lửa của bạn

A brick firewall opens one gate so Shoply's crawler can carry website pages to the chat assistant

Shoply AI giữ cho câu trả lời luôn chính xác bằng cách thường xuyên đọc website của bạn. Nếu trang web của bạn dùng Cloudflare hoặc một dịch vụ tường lửa hay bảo vệ bot khác, dịch vụ đó có thể chặn trình thu thập dữ liệu của Shoply. Khi điều đó xảy ra, chatbot sẽ tiếp tục trả lời dựa trên một bản sao cũ của website của bạn.

Cách khắc phục thường chỉ là một quy tắc: cho phép các yêu cầu có User-Agent chứa ShoplyAIBot. Hướng dẫn này giải thích vì sao cần trình thu thập dữ liệu, cách nhận diện nó và cách cho phép nó trong Cloudflare và các tường lửa khác.

Ai cần thực hiện việc này?

  • Chủ sở hữu website dùng SiteChat. SiteChat là công cụ chat và tìm kiếm của Shoply dành cho mọi website không phải cửa hàng Shopify, bao gồm cả cửa hàng Magento.
  • Các agency và nhà phát triển quản lý hosting, CDN (mạng phân phối nội dung) hoặc cài đặt bảo mật cho những website đó.

Người bán dùng ứng dụng Shopify thường không cần thay đổi gì. Shoply nhận dữ liệu sản phẩm Shopify thông qua API của Shopify, không phải bằng cách thu thập dữ liệu từ storefront của bạn. Tuy nhiên, nếu bạn đã thêm các trang từ một website không phải Shopify làm nguồn kiến thức, chẳng hạn như trung tâm trợ giúp hoặc blog được lưu trữ ở nơi khác, thì tường lửa của website đó vẫn có thể chặn Shoply. Xem cách dạy Shoply về cửa hàng của bạn để biết những trang đó được liệt kê ở đâu.

Vì sao Shoply cần đọc website của tôi?

Shoply đọc các trang bạn đã liệt kê trong cài đặt thu thập dữ liệu để câu trả lời, giá và liên kết của chatbot khớp với website đang hoạt động của bạn.

Đối với cửa hàng Magento, Shoply cũng đọc danh mục sản phẩm công khai của bạn thông qua điểm cuối GraphQL của cửa hàng (/graphql). Nó gửi các truy vấn sản phẩm chỉ-đọc để lấy các chi tiết như tên, SKU, giá, biến thể và URL sản phẩm.

Trình thu thập dữ liệu không bao giờ đăng nhập, không bao giờ đặt hàng và không bao giờ gửi biểu mẫu. Để tìm hiểu Shoply làm gì với nội dung này, hãy đọc Shoply sử dụng thông tin nào để trả lời câu hỏi của khách hàng.

Điều gì xảy ra nếu trình thu thập dữ liệu bị chặn?

  • Các lần thu thập dữ liệu thất bại. Shoply không thể lấy các trang hoặc dữ liệu sản phẩm của bạn.
  • AI tiếp tục trả lời từ lần thu thập dữ liệu thành công gần nhất. Người mua có thể thấy giá cũ, sản phẩm bạn đã gỡ bỏ, và các liên kết lỗi thời hoặc sai. Trong một trường hợp thực tế, một cửa hàng đã chuyển từ trang phát triển sang tên miền production, nhưng tường lửa của họ chặn trình thu thập dữ liệu, nên chatbot vẫn tiếp tục dẫn người mua đến trang phát triển cũ.
  • “Last updated … ago” ngừng cập nhật tăng tiến trên bảng điều khiển quản trị Shoply của bạn.

Dấu hiệu phổ biến cho thấy trình thu thập dữ liệu bị chặn

Trong phần quản trị Shoply, thời gian thu thập dữ liệu bị tụt lại. Trên bảng điều khiển, thời gian “Last updated at: … ago” bên dưới Content crawled by Shoply AI tiếp tục tăng thay vì được đặt lại sau mỗi vài giờ, ví dụ như “770 hours ago” (khoảng một tháng). Nó vẫn bị tụt lại ngay cả sau khi bạn nhấp Recrawl Now, vì một lần thu thập dữ liệu bị chặn sẽ không bao giờ hoàn tất.

Nếu bạn kiểm tra nhật ký tường lửa, dấu hiệu thường gặp là Cloudflare trả về HTTP 403 cho các yêu cầu của Shoply, theo một trong các dạng sau:

  • Lỗi 1010, nghĩa là chủ sở hữu website đã cấm yêu cầu dựa trên chữ ký trình duyệt của nó. Cách khắc phục riêng của Cloudflare cho lỗi này chỉ đến Browser Integrity Check.
  • Một trang thử thách “Just a moment…”, mà trình thu thập dữ liệu không thể vượt qua.

Làm sao để nhận diện trình thu thập dữ liệu của Shoply?

Mọi yêu cầu từ trình thu thập dữ liệu của Shoply đều sử dụng User-Agent này:

text
ShoplyAIBot/1.0 (https://shoplyai.ai; support@shoplyai.ai; For sites installed Shoply AI Search & Chatbot)

Hãy viết quy tắc của bạn để khớp với chuỗi ngắn hơn ShoplyAIBot (ví dụ: “User-Agent contains ShoplyAIBot”). Khi đó, quy tắc của bạn vẫn sẽ hoạt động nếu số phiên bản thay đổi.

Hãy cho phép theo user agent, không phải theo địa chỉ IP. Trình thu thập dữ liệu của Shoply không dùng địa chỉ IP cố định, nên danh sách cho phép theo IP sẽ không hoạt động ổn định.

Cách trình thu thập dữ liệu hoạt động

  • Nó chỉ thu thập dữ liệu từ các website bạn đã cấu hình trong Shoply.
  • Nó tuân thủ robots.txt khi đọc trang. Nếu robots.txt của bạn chặn một trang, Shoply sẽ bỏ qua trang đó, vì vậy hãy kiểm tra để chắc rằng nó không chặn các trang mà bạn muốn AI học từ đó.
  • Nó tác động nhẹ lên máy chủ của bạn: tối đa 2 yêu cầu cùng lúc, với độ trễ 2 giây giữa các yêu cầu.
  • Số lượng trang được giới hạn theo gói Shoply của bạn.

Khi nào trình thu thập dữ liệu chạy

  • Tự động theo lịch. Tần suất phụ thuộc vào gói của bạn.
  • Khi bạn nhấp “Recrawl Now” trong phần quản trị Shoply.
  • Mỗi 2 ngày trong khi các lần thu thập dữ liệu vẫn tiếp tục thất bại. Shoply tự động thử lại, vì vậy sau khi bạn thêm quy tắc cho phép, lần thử lại tiếp theo hoặc một lần thu thập lại thủ công sẽ lấy được dữ liệu website của bạn.

Làm sao để cho phép Shoply trong Cloudflare?

Trong Cloudflare, hãy tạo một custom rule với hành động Skip. Quy tắc bỏ qua cho phép các yêu cầu khớp điều kiện vượt qua những kiểm tra bảo mật mà nếu không sẽ chặn hoặc thách thức chúng.

Bước 1: Tạo quy tắc bỏ qua

  1. Trong bảng điều khiển Cloudflare, mở website (zone) của bạn và đi tới Security rules.

  2. Chọn Create rule > Custom rules.

  3. Trong Rule name, nhập một tên rõ ràng, chẳng hạn Allow Shoply AI crawler.

  4. Trong When incoming requests match, thiết lập:

    • Field: User Agent
    • Operator: contains
    • Value: ShoplyAIBot

    Nếu bạn muốn dùng trình soạn thảo biểu thức, hãy dùng:

    text
    (http.user_agent contains "ShoplyAIBot")
  5. Trong Then take action > Choose action, chọn Skip.

  6. Chọn những gì cần bỏ qua (xem bảng bên dưới).

  7. Giữ Log matching requests ở trạng thái bật. Khi đó, các yêu cầu của Shoply sẽ xuất hiện trong Security Events của Cloudflare, điều này hữu ích cho việc khắc phục sự cố.

  8. Chọn Deploy.

Bước 2: Chọn những gì cần bỏ qua

Tùy chọn bỏ qua trong CloudflareCó bỏ qua không?Lý do
Browser Integrity CheckCóGây ra lỗi 1010 cho trình thu thập dữ liệu
Security LevelCóNgăn các kiểm tra Security Level thách thức trình thu thập dữ liệu
All Super Bot Fight Mode rulesCó, với gói Pro trở lênSuper Bot Fight Mode có thể thách thức hoặc chặn trình thu thập dữ liệu
User Agent BlockingNếu bạn dùngChỉ liên quan nếu bạn đã tạo quy tắc chặn theo user-agent
All rate limiting rulesChỉ nếu Security Events cho thấy một quy tắc rate limiting đang chặn ShoplyTốc độ yêu cầu của Shoply thấp, nhưng một giới hạn nghiêm ngặt vẫn có thể bắt nhầm nó
All managed rulesChỉ nếu Security Events cho thấy một managed rule đang chặn ShoplyGiữ các quy tắc mẫu tấn công của Cloudflare vẫn hoạt động cho tất cả những đối tượng khác
All remaining custom rulesNếu bạn có các custom rule khác chặn botNgăn các custom rule phía sau của bạn chặn Shoply

Hãy bắt đầu với các hàng “Có”. Nếu Security Events của Cloudflare vẫn cho thấy các yêu cầu của Shoply đang bị chặn hoặc bị thách thức, sự kiện đó sẽ cho bạn biết tính năng nào đã tác động. Hãy thêm tính năng đó vào quy tắc bỏ qua.

Bước 3: Đưa quy tắc lên đầu

Cloudflare đánh giá các custom rule theo thứ tự, từ trên xuống dưới. Nếu một quy tắc nằm phía trên quy tắc của bạn chặn hoặc thách thức yêu cầu, quy tắc bỏ qua của bạn sẽ không bao giờ được chạy. Hãy chuyển quy tắc của Shoply lên đầu danh sách custom rule của bạn.

Nếu bạn dùng Bot Fight Mode (gói Cloudflare Free)

Bot Fight Mode không thể được vượt qua bằng quy tắc bỏ qua. Cloudflare chạy nó tách biệt với custom rule, vì vậy các quy tắc skip và allow không có tác dụng với nó. Bạn có hai lựa chọn:

  • Tắt Bot Fight Mode: vào Security > Settings, lọc theo Bot traffic, và tắt Bot fight mode.
  • Nâng cấp lên gói Pro hoặc cao hơn và dùng Super Bot Fight Mode, chế độ này có hỗ trợ quy tắc bỏ qua.

Nếu Under Attack mode đang bật

Under Attack mode hiển thị một trang thử thách cho mọi khách truy cập, và trình thu thập dữ liệu không thể vượt qua. Cloudflare khuyến nghị chỉ dùng chế độ này trong thời gian đang có tấn công thực sự. Shoply sẽ không thể đọc website của bạn cho đến khi chế độ này được tắt.

Có an toàn khi cho phép một user agent không?

Bất kỳ client nào cũng có thể tự nhận là ShoplyAIBot, vì vậy quy tắc này sẽ bỏ qua một số kiểm tra bot cho bất kỳ ai gửi User-Agent đó. Để giữ rủi ro ở mức thấp, chỉ bỏ qua những tính năng đang chặn trình thu thập dữ liệu, và giữ nguyên các biện pháp bảo vệ cho đăng nhập, thanh toán và khu vực quản trị của bạn. Shoply không bao giờ cần quyền truy cập vào các khu vực đó.

Làm sao để cho phép Shoply trong các tường lửa khác?

Nguyên tắc ở mọi nơi đều giống nhau: cho phép các yêu cầu có User-Agent chứa ShoplyAIBot. Menu cụ thể sẽ khác nhau tùy sản phẩm, vì vậy hãy làm theo tài liệu của nhà cung cấp để tạo quy tắc cho phép hoặc ngoại lệ. Những nơi phổ biến cần kiểm tra:

  • Tường lửa ứng dụng web đám mây (WAF) như Sucuri, AWS WAF và Akamai: thêm một quy tắc cho phép hoặc ngoại lệ khớp với header User-Agent.
  • Plugin bảo mật WordPress như Wordfence: tìm các cài đặt chặn bot, giới hạn tốc độ hoặc chặn theo user-agent.
  • Bộ lọc cấp máy chủ như các quy tắc ModSecurity, và các trình chặn bot do công ty hosting của bạn cung cấp: đưa user agent vào danh sách cho phép hoặc nhờ nhà cung cấp hosting thực hiện việc đó.

Cửa hàng Magento: hãy chắc rằng quy tắc cũng áp dụng cho các yêu cầu POST tới /graphql. Một số tường lửa xử lý yêu cầu API tách biệt với lượt xem trang. Nếu các trang được cho phép nhưng /graphql bị chặn, danh mục sản phẩm của bạn sẽ không được cập nhật.

Đừng dựa vào danh sách cho phép theo IP. Trình thu thập dữ liệu của Shoply không dùng địa chỉ IP cố định.

Làm sao để kiểm tra xem đã hoạt động chưa?

  1. Trong phần quản trị Shoply, nhấp Recrawl Now.
  2. Đợi quá trình thu thập dữ liệu hoàn tất, sau đó kiểm tra xem “Last updated” trên bảng điều khiển của bạn đã được đặt lại về thời gian gần đây chưa.
  3. Hỏi chatbot về một sản phẩm hoặc trang mà bạn đã thay đổi gần đây, và xác nhận rằng câu trả lời cùng liên kết khớp với website đang hoạt động của bạn.

Bạn cũng có thể chạy một bài kiểm tra nhanh từ chính máy tính của mình. Thay https://your-site.com/ bằng địa chỉ website của bạn:

bash
curl -I -A "ShoplyAIBot/1.0 (https://shoplyai.ai; support@shoplyai.ai; For sites installed Shoply AI Search & Chatbot)" https://your-site.com/

Phản hồi HTTP/2 200 (hoặc HTTP/1.1 200 OK) có nghĩa là quy tắc của bạn cho phép user agent đó đi qua. 403 có nghĩa là vẫn còn thứ gì đó đang chặn nó.

Bài kiểm tra này chạy từ địa chỉ IP máy tính của bạn, không phải từ máy chủ của Shoply. Một số tường lửa xử lý lưu lượng khác nhau tùy vào nơi nó xuất phát, vì vậy lần thu thập lại trong phần quản trị Shoply mới là bước kiểm tra cuối cùng.

Cần trợ giúp?

Hãy email tới support@shoplyai.ai kèm địa chỉ website của bạn, nhà cung cấp tường lửa hoặc hosting mà bạn đang dùng, và ảnh chụp màn hình của bất kỳ yêu cầu bị chặn nào trong nhật ký tường lửa của bạn. Vui lòng không gửi mật khẩu hoặc API key.