วิธีอนุญาตให้ Crawler ของ Shoply AI ผ่านไฟร์วอลล์ของคุณ
Shoply AI รักษาความถูกต้องของคำตอบด้วยการอ่านเว็บไซต์ของคุณเป็นประจำ หากเว็บไซต์ของคุณใช้ Cloudflare หรือไฟร์วอลล์หรือบริการป้องกันบอทอื่น บริการนั้นอาจบล็อก crawler ของ Shoply ได้ เมื่อเกิดเหตุการณ์นี้ แชตบอทจะยังคงตอบโดยอิงจากสำเนาเว็บไซต์ของคุณที่ล้าสมัย
วิธีแก้มักมีเพียงกฎเดียว: อนุญาตคำขอที่มี User-Agent ซึ่งมี ShoplyAIBot อยู่ภายใน คู่มือนี้จะอธิบายว่าเหตุใด crawler จึงจำเป็น วิธีสังเกต crawler นี้ และวิธีอนุญาตใน Cloudflare และไฟร์วอลล์อื่น ๆ
ใครบ้างที่ต้องทำสิ่งนี้?
- เจ้าของเว็บไซต์ SiteChat SiteChat คือระบบแชตและการค้นหาของ Shoply สำหรับทุกเว็บไซต์ที่ไม่ใช่ร้านค้า Shopify รวมถึงร้านค้า Magento
- เอเจนซีและนักพัฒนา ที่ดูแลโฮสติ้ง, CDN (content delivery network) หรือการตั้งค่าความปลอดภัยของเว็บไซต์เหล่านั้น
โดยปกติร้านค้าที่ใช้แอป Shopify ไม่จำเป็นต้องเปลี่ยนแปลงอะไร Shoply รับข้อมูลสินค้าของ Shopify ผ่าน Shopify API ไม่ได้ crawler หน้าร้านของคุณ อย่างไรก็ตาม หากคุณเพิ่มหน้าเว็บจากเว็บไซต์ที่ไม่ใช่ Shopify เป็นแหล่งความรู้ เช่น ศูนย์ช่วยเหลือหรือบล็อกที่โฮสต์ไว้ที่อื่น ไฟร์วอลล์ของเว็บไซต์นั้นก็อาจยังบล็อก Shoply ได้ ดู วิธีสอนให้ Shoply รู้จักร้านค้าของคุณ เพื่อดูว่าหน้าเหล่านั้นถูกระบุไว้ที่ใด
ทำไม Shoply ต้องอ่านเว็บไซต์ของฉัน?
Shoply จะอ่านหน้าที่คุณระบุไว้ในการตั้งค่า crawl เพื่อให้คำตอบ ราคา และลิงก์ของแชตบอทตรงกับเว็บไซต์จริงของคุณ
สำหรับ ร้านค้า Magento Shoply ยังอ่านแค็ตตาล็อกสินค้าสาธารณะของคุณผ่าน GraphQL endpoint ของร้าน (/graphql) อีกด้วย โดยจะส่งคำขอสินค้าแบบอ่านอย่างเดียวเพื่อดึงรายละเอียด เช่น ชื่อ SKU ราคา variants และ URL ของสินค้า
crawler จะไม่ล็อกอิน ไม่สั่งซื้อสินค้า และไม่ส่งฟอร์มใด ๆ หากต้องการทราบว่า Shoply ใช้เนื้อหานี้อย่างไร โปรดอ่าน ข้อมูลที่ Shoply ใช้เพื่อตอบคำถามลูกค้า
จะเกิดอะไรขึ้นหาก crawler ถูกบล็อก?
- การ crawl ล้มเหลว Shoply ไม่สามารถดึงหน้าเว็บหรือข้อมูลสินค้าของคุณได้
- AI จะยังคงตอบโดยอิงจากการ crawl ล่าสุดที่สำเร็จ ผู้ซื้ออาจเห็นราคาเก่า สินค้าที่คุณลบออกแล้ว และลิงก์ที่ล้าสมัยหรือไม่ถูกต้อง ในกรณีจริงกรณีหนึ่ง ร้านค้าได้ย้ายจากเว็บไซต์พัฒนาไปยังโดเมน production แต่ไฟร์วอลล์ของร้านบล็อก crawler ทำให้แชตบอทยังคงส่งลิงก์ให้ผู้ซื้อไปยังเว็บไซต์พัฒนาเดิม
- “Last updated … ago” จะหยุดอัปเดตต่อไป บนแดชบอร์ดผู้ดูแลระบบ Shoply ของคุณ
สัญญาณทั่วไปว่า crawler ถูกบล็อก
ในหน้าผู้ดูแลระบบ Shoply เวลา crawl จะยิ่งล่าช้าออกไป บนแดชบอร์ด ค่าเวลา “Last updated at: … ago” ใต้หัวข้อ Content crawled by Shoply AI จะเพิ่มขึ้นเรื่อย ๆ แทนที่จะรีเซ็ตทุกไม่กี่ชั่วโมง เช่น “770 hours ago” (ประมาณหนึ่งเดือน) และจะยังคงล่าช้าอยู่แม้คุณจะกด Recrawl Now เพราะการ crawl ที่ถูกบล็อกจะไม่มีวันเสร็จสิ้น
หากคุณตรวจสอบบันทึกของไฟร์วอลล์ อาการที่พบบ่อยคือ Cloudflare ส่งกลับ HTTP 403 ให้กับคำขอของ Shoply ในรูปแบบใดรูปแบบหนึ่งดังนี้:
- Error 1010 ซึ่งหมายความว่าเจ้าของเว็บไซต์ได้แบนคำขอนั้นตาม browser signature ของมัน โดยวิธีแก้ของ Cloudflare เองสำหรับข้อผิดพลาดนี้จะชี้ไปที่ Browser Integrity Check
- หน้า challenge แบบ “Just a moment…” ซึ่ง crawler ไม่สามารถผ่านได้
ฉันจะรู้จัก crawler ของ Shoply ได้อย่างไร?
ทุกคำขอจาก crawler ของ Shoply จะใช้ User-Agent นี้:
ShoplyAIBot/1.0 (https://shoplyai.ai; support@shoplyai.ai; For sites installed Shoply AI Search & Chatbot)ให้เขียนกฎของคุณให้จับคู่กับข้อความที่สั้นกว่า คือ ShoplyAIBot (ตัวอย่างเช่น “User-Agent contains ShoplyAIBot”) แล้วกฎของคุณจะยังคงใช้งานได้แม้หมายเลขเวอร์ชันจะเปลี่ยนไป
ให้อนุญาตด้วย user agent ไม่ใช่ด้วย IP address crawler ของ Shoply ไม่ได้ใช้ IP address แบบคงที่ ดังนั้น IP allowlist จะทำงานได้ไม่เสถียร
ลักษณะการทำงานของ crawler
- จะ crawl เฉพาะเว็บไซต์ที่คุณตั้งค่าไว้ ใน Shoply เท่านั้น
- ปฏิบัติตาม robots.txt เมื่ออ่านหน้าเว็บ หาก robots.txt ของคุณบล็อกหน้าใด Shoply จะข้ามหน้านั้น ดังนั้นควรตรวจสอบว่าไม่ได้บล็อกหน้าที่คุณต้องการให้ AI เรียนรู้
- ไม่สร้างภาระให้เซิร์ฟเวอร์มาก: สูงสุดครั้งละ 2 คำขอ และมีการหน่วง 2 วินาทีระหว่างคำขอ
- จำนวนหน้ามีการจำกัด ตามแพ็กเกจ Shoply ของคุณ
crawler ทำงานเมื่อใด
- ทำงานอัตโนมัติตามกำหนดเวลา ความถี่ขึ้นอยู่กับแพ็กเกจของคุณ
- เมื่อคุณคลิก “Recrawl Now” ในหน้าผู้ดูแลระบบ Shoply
- ทุก 2 วันตราบใดที่การ crawl ยังล้มเหลว Shoply จะลองใหม่โดยอัตโนมัติ ดังนั้นเมื่อคุณเพิ่มกฎ allow แล้ว การลองใหม่ครั้งถัดไปหรือการ recrawl ด้วยตนเองจะดึงข้อมูลเว็บไซต์ของคุณได้
จะอนุญาต Shoply ใน Cloudflare ได้อย่างไร?
ใน Cloudflare ให้สร้าง custom rule ที่ใช้ action แบบ Skip กฎ skip จะทำให้คำขอที่ตรงเงื่อนไขข้ามการตรวจสอบความปลอดภัยที่ปกติจะบล็อกหรือ challenge คำขอนั้น
ขั้นตอนที่ 1: สร้าง skip rule
-
ในแดชบอร์ด Cloudflare เปิดเว็บไซต์ของคุณ (zone) แล้วไปที่ Security rules
-
เลือก Create rule > Custom rules
-
ใน Rule name ให้ใส่ชื่อที่ชัดเจน เช่น
Allow Shoply AI crawler -
ใต้ When incoming requests match ให้ตั้งค่าเป็น:
- Field: User Agent
- Operator: contains
- Value:
ShoplyAIBot
หากคุณต้องการใช้ expression editor ให้ใช้:
text(http.user_agent contains "ShoplyAIBot") -
ใต้ Then take action > Choose action ให้เลือก Skip
-
เลือกสิ่งที่จะให้ skip (ดูตารางด้านล่าง)
-
เปิด Log matching requests ทิ้งไว้ คำขอของ Shoply จะได้ปรากฏใน Security Events ของ Cloudflare ซึ่งช่วยในการแก้ปัญหา
-
เลือก Deploy
ขั้นตอนที่ 2: เลือกสิ่งที่จะให้ skip
| ตัวเลือก Skip ใน Cloudflare | ควร skip ไหม? | เหตุผล |
|---|---|---|
| Browser Integrity Check | ใช่ | ทำให้เกิด error 1010 กับ crawler |
| Security Level | ใช่ | ป้องกันไม่ให้การตรวจสอบของ Security Level challenge crawler |
| All Super Bot Fight Mode rules | ใช่ สำหรับแพ็กเกจ Pro ขึ้นไป | Super Bot Fight Mode อาจ challenge หรือบล็อก crawler |
| User Agent Blocking | หากคุณใช้อยู่ | มีผลเฉพาะเมื่อคุณสร้างกฎบล็อก user-agent ไว้ |
| All rate limiting rules | เฉพาะเมื่อ Security Events แสดงว่ามีกฎ rate limiting บล็อก Shoply | อัตราคำขอของ Shoply ต่ำ แต่การจำกัดที่เข้มงวดก็ยังอาจจับได้ |
| All managed rules | เฉพาะเมื่อ Security Events แสดงว่ามี managed rule บล็อก Shoply | ช่วยให้กฎตรวจจับรูปแบบการโจมตีของ Cloudflare ยังทำงานกับผู้ใช้อื่นต่อไป |
| All remaining custom rules | หากคุณมีกฎ custom อื่นที่บล็อกบอท | ป้องกันไม่ให้ custom rule ที่อยู่ถัดลงไปบล็อก Shoply |
เริ่มจากแถวที่ระบุว่า “ใช่” หาก Security Events ของ Cloudflare ยังแสดงว่าคำขอของ Shoply ถูกบล็อกหรือถูก challenge อยู่ เหตุการณ์นั้นจะบอกว่าฟีเจอร์ใดเป็นผู้ดำเนินการ ให้เพิ่มฟีเจอร์นั้นเข้าไปใน skip rule
ขั้นตอนที่ 3: วางกฎนี้ไว้เป็นอันดับแรก
Cloudflare จะประเมิน custom rules ตามลำดับจากบนลงล่าง หากมีกฎที่อยู่เหนือกฎของคุณบล็อกหรือ challenge คำขอนั้นก่อน skip rule ของคุณจะไม่ได้ทำงานเลย ให้ย้ายกฎของ Shoply ไปไว้ บนสุด ของรายการ custom rules
หากคุณใช้ Bot Fight Mode (แพ็กเกจ Cloudflare Free)
Bot Fight Mode ไม่สามารถข้ามได้ด้วย skip rule Cloudflare ประมวลผลมันแยกจาก custom rules ดังนั้น skip และ allow rules จะไม่มีผลกับมัน คุณมี 2 ทางเลือก:
- ปิด Bot Fight Mode: ไปที่ Security > Settings กรองด้วย Bot traffic แล้วปิด Bot fight mode
- อัปเกรดเป็นแพ็กเกจ Pro หรือสูงกว่า แล้วใช้ Super Bot Fight Mode ซึ่งรองรับ skip rules
หากเปิด Under Attack mode อยู่
Under Attack mode จะแสดงหน้า challenge ให้ผู้เยี่ยมชมทุกคน และ crawler จะไม่สามารถผ่านได้ Cloudflare แนะนำให้ใช้โหมดนี้เฉพาะระหว่างที่มีการโจมตีจริงเท่านั้น Shoply จะไม่สามารถอ่านเว็บไซต์ของคุณได้จนกว่าจะปิดโหมดนี้
การอนุญาต user agent ปลอดภัยหรือไม่?
ไคลเอนต์ใด ๆ ก็สามารถอ้างว่าเป็น ShoplyAIBot ได้ ดังนั้นกฎนี้จะทำให้บางการตรวจสอบบอทถูกข้ามสำหรับทุกคนที่ส่ง User-Agent นี้เข้ามา เพื่อลดความเสี่ยง ให้ skip เฉพาะฟีเจอร์ที่บล็อก crawler และคงการป้องกันสำหรับหน้า login, checkout และ admin ของคุณไว้ Shoply ไม่เคยต้องการเข้าถึงส่วนเหล่านั้น
จะอนุญาต Shoply ในไฟร์วอลล์อื่นได้อย่างไร?
หลักการเหมือนกันทุกที่: อนุญาตคำขอที่มี User-Agent ซึ่งมี ShoplyAIBot อยู่ภายใน เมนูที่แน่นอนจะแตกต่างกันไปตามผลิตภัณฑ์ ดังนั้นให้ทำตามเอกสารของผู้ให้บริการของคุณเพื่อสร้างกฎ allow หรือ exception จุดที่มักควรตรวจสอบมีดังนี้:
- Cloud web application firewalls (WAFs) เช่น Sucuri, AWS WAF และ Akamai: เพิ่มกฎ allow หรือ exception ที่จับคู่กับส่วนหัว User-Agent
- ปลั๊กอินความปลอดภัยของ WordPress เช่น Wordfence: มองหาการตั้งค่าการบล็อกบอท, rate limiting หรือการบล็อก user-agent
- ตัวกรองระดับเซิร์ฟเวอร์ เช่นกฎ ModSecurity และตัวบล็อกบอทที่ผู้ให้บริการโฮสติ้งของคุณมีให้: whitelist user agent หรือขอให้โฮสต์ของคุณดำเนินการให้
ร้านค้า Magento: โปรดตรวจสอบให้แน่ใจว่ากฎนี้ครอบคลุม คำขอ POST ไปที่ /graphql ด้วย ไฟร์วอลล์บางตัวจัดการคำขอ API แยกจากการดูหน้าเว็บ หากหน้าเว็บได้รับอนุญาตแต่ /graphql ถูกบล็อก แค็ตตาล็อกสินค้าของคุณจะไม่อัปเดต
อย่าพึ่งพา IP allowlist crawler ของ Shoply ไม่ได้ใช้ IP address แบบคงที่
จะตรวจสอบได้อย่างไรว่าทำงานแล้ว?
- ในหน้าผู้ดูแลระบบ Shoply คลิก Recrawl Now
- รอให้การ crawl เสร็จ จากนั้นตรวจสอบว่า “Last updated” บนแดชบอร์ดของคุณรีเซ็ตเป็นเวลาไม่นานมานี้แล้ว
- ถามแชตบอทเกี่ยวกับสินค้าหรือหน้าที่คุณเพิ่งแก้ไข และยืนยันว่าคำตอบและลิงก์ตรงกับเว็บไซต์จริงของคุณ
คุณยังสามารถทดสอบอย่างรวดเร็วจากคอมพิวเตอร์ของคุณเองได้ด้วย แทนที่ https://your-site.com/ ด้วยที่อยู่เว็บไซต์ของคุณ:
curl -I -A "ShoplyAIBot/1.0 (https://shoplyai.ai; support@shoplyai.ai; For sites installed Shoply AI Search & Chatbot)" https://your-site.com/การตอบกลับเป็น HTTP/2 200 (หรือ HTTP/1.1 200 OK) หมายความว่ากฎของคุณอนุญาต user agent นั้นผ่านได้ ส่วน 403 หมายความว่ายังมีบางอย่างบล็อกอยู่
การทดสอบนี้รันจาก IP address ของคอมพิวเตอร์คุณ ไม่ใช่จากเซิร์ฟเวอร์ของ Shoply ไฟร์วอลล์บางตัวปฏิบัติต่อทราฟฟิกแตกต่างกันตามแหล่งที่มา ดังนั้นการ recrawl ในหน้าผู้ดูแลระบบ Shoply จึงเป็นการตรวจสอบขั้นสุดท้าย
ต้องการความช่วยเหลือ?
ส่งอีเมลไปที่ support@shoplyai.ai พร้อมที่อยู่เว็บไซต์ของคุณ ไฟร์วอลล์หรือผู้ให้บริการโฮสติ้งที่คุณใช้อยู่ และภาพหน้าจอของคำขอที่ถูกบล็อกในบันทึกของไฟร์วอลล์ กรุณาอย่าส่งรหัสผ่านหรือ API keys
