كيفية السماح لزاحف Shoply AI بالمرور عبر جدار الحماية لديك

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

يحافظ Shoply AI على دقة إجاباته من خلال قراءة موقعك الإلكتروني بانتظام. إذا كان موقعك يستخدم Cloudflare أو جدار حماية آخر أو خدمة حماية من الروبوتات، فقد تقوم تلك الخدمة بحظر زاحف Shoply. وعندما يحدث ذلك، يستمر روبوت الدردشة في الإجابة اعتمادًا على نسخة قديمة من موقعك.

يكون الحل عادةً قاعدة واحدة: السماح للطلبات التي يحتوي فيها User-Agent على ShoplyAIBot. يشرح هذا الدليل سبب الحاجة إلى الزاحف، وكيفية التعرّف عليه، وكيفية السماح له في Cloudflare وجدران الحماية الأخرى.

من الذي يحتاج إلى تنفيذ ذلك؟

  • مالكو مواقع SiteChat. SiteChat هو دردشة وبحث Shoply لأي موقع إلكتروني ليس متجر Shopify، بما في ذلك متاجر Magento.
  • الوكالات والمطورون الذين يديرون الاستضافة، أو CDN (شبكة توصيل المحتوى)، أو إعدادات الأمان لتلك المواقع.

تجّار تطبيق Shopify لا يحتاجون عادةً إلى تغيير أي شيء. يحصل Shoply على بيانات منتجات Shopify عبر Shopify API، وليس من خلال الزحف إلى واجهة متجرك. ومع ذلك، إذا أضفت صفحات من موقع غير تابع لـ Shopify كمصادر معرفة، مثل مركز مساعدة أو مدونة مستضافة في مكان آخر، فقد يستمر جدار حماية ذلك الموقع في حظر Shoply. راجع كيفية تعليم Shoply معلومات عن متجرك لمعرفة مكان إدراج تلك الصفحات.

لماذا يحتاج Shoply إلى قراءة موقعي الإلكتروني؟

يقرأ Shoply الصفحات التي أدرجتها في إعدادات الزحف حتى تتطابق إجابات روبوت الدردشة والأسعار والروابط مع موقعك المباشر.

بالنسبة إلى متاجر Magento، يقرأ Shoply أيضًا كتالوج المنتجات العام لديك عبر نقطة نهاية GraphQL الخاصة بمتجرك (/graphql). ويرسل استعلامات منتجات للقراءة فقط للحصول على تفاصيل مثل الأسماء وSKU والأسعار والمتغيرات وروابط المنتجات.

لا يقوم الزاحف أبدًا بتسجيل الدخول، ولا يقدّم طلبات شراء، ولا يرسل نماذج. ولمعرفة ما الذي يفعله Shoply بهذا المحتوى، اقرأ ما المعلومات التي يستخدمها Shoply للإجابة عن أسئلة العملاء.

ماذا يحدث إذا تم حظر الزاحف؟

  • تفشل عمليات الزحف. لا يستطيع Shoply جلب صفحاتك أو بيانات منتجاتك.
  • يستمر الذكاء الاصطناعي في الإجابة اعتمادًا على آخر عملية زحف ناجحة. قد يرى المتسوقون أسعارًا قديمة، ومنتجات قمت بإزالتها، وروابط قديمة أو خاطئة. في إحدى الحالات الحقيقية، انتقل متجر من موقع تطوير إلى نطاق الإنتاج الخاص به، لكن جدار الحماية لديه حظر الزاحف، لذلك استمر روبوت الدردشة في توجيه المتسوقين إلى موقع التطوير القديم.
  • يتوقف مؤشّر “Last updated … ago” عن التقدّم في لوحة إدارة Shoply الخاصة بك.

العلامات الشائعة على حظر الزاحف

في لوحة إدارة Shoply، يتأخر وقت الزحف. في لوحة المعلومات، يستمر الوقت “Last updated at: … ago” ضمن Content crawled by Shoply AI في الزيادة بدلًا من إعادة الضبط كل بضع ساعات، مثلًا “770 hours ago” (حوالي شهر). ويظل متأخرًا حتى بعد النقر على Recrawl Now، لأن عملية الزحف المحظورة لا تكتمل أبدًا.

إذا تحققت من سجلات جدار الحماية، فإن العرض المعتاد للمشكلة هو أن Cloudflare يعيد HTTP 403 إلى طلبات Shoply، بإحدى الصيغ التالية:

  • Error 1010، وهذا يعني أن مالك الموقع حظر الطلب استنادًا إلى توقيع المتصفح الخاص به. ويشير الحل الذي تقدمه Cloudflare لهذا الخطأ إلى Browser Integrity Check.
  • صفحة تحدي “Just a moment…”، والتي لا يمكن للزاحف إكمالها.

كيف أتعرف على زاحف Shoply؟

يستخدم كل طلب من زاحف Shoply قيمة User-Agent التالية:

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

اكتب قواعدك بحيث تطابق النص الأقصر ShoplyAIBot (على سبيل المثال، “User-Agent contains ShoplyAIBot”). وبهذه الطريقة ستستمر القاعدة في العمل إذا تغيّر رقم الإصدار.

اسمح بناءً على user agent، وليس على عنوان IP. لا يستخدم زاحف Shoply عناوين IP ثابتة، لذلك لن تعمل قائمة السماح بعناوين IP بشكل موثوق.

كيف يتصرف الزاحف

  • لا يزحف إلا إلى المواقع التي قمت بإعدادها في Shoply.
  • يلتزم بملف robots.txt عند قراءة الصفحات. إذا كان robots.txt يحظر صفحة ما، فسيتجاوزها Shoply، لذا تحقّق من أنه لا يحظر الصفحات التي تريد أن يتعلم منها الذكاء الاصطناعي.
  • يتعامل بلطف مع خادمك: بحد أقصى طلبان في الوقت نفسه، مع تأخير قدره ثانيتان بين الطلبات.
  • عدد الصفحات له حد أقصى وفقًا لخطة Shoply الخاصة بك.

متى يعمل الزاحف

  • تلقائيًا وفق جدول زمني. يعتمد عدد المرات على خطتك.
  • عندما تنقر على “Recrawl Now” في لوحة إدارة Shoply.
  • كل يومين بينما تستمر عمليات الزحف في الفشل. يعيد Shoply المحاولة تلقائيًا، لذا بمجرد إضافة قاعدة السماح، ستلتقط المحاولة التالية أو إعادة الزحف اليدوية موقعك.

كيف أسمح لـ Shoply في Cloudflare؟

في Cloudflare، أنشئ custom rule بإجراء Skip. تسمح قاعدة التجاوز للطلبات المطابقة بتجاوز الفحوصات الأمنية التي كانت ستقوم بخلاف ذلك بحظرها أو تحديها.

الخطوة 1: إنشاء قاعدة التجاوز

  1. في لوحة تحكم Cloudflare، افتح موقعك الإلكتروني (zone) وانتقل إلى Security rules.

  2. اختر Create rule > Custom rules.

  3. في Rule name، أدخل اسمًا واضحًا، مثل Allow Shoply AI crawler.

  4. ضمن When incoming requests match، اضبط ما يلي:

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

    إذا كنت تفضّل محرر التعبيرات، فاستخدم:

    text
    (http.user_agent contains "ShoplyAIBot")
  5. ضمن Then take action > Choose action، اختر Skip.

  6. اختر ما الذي تريد تجاوزه (راجع الجدول أدناه).

  7. اترك Log matching requests مفعّلًا. بعد ذلك ستظهر طلبات Shoply في Security Events الخاصة بـ Cloudflare، مما يساعد في استكشاف الأخطاء وإصلاحها.

  8. اختر Deploy.

الخطوة 2: اختر ما الذي يجب تجاوزه

خيار التجاوز في Cloudflareهل يتم تجاوزه؟لماذا
Browser Integrity Checkنعميسبب الخطأ 1010 للزواحف
Security Levelنعميمنع فحوصات Security Level من تحدي الزاحف
All Super Bot Fight Mode rulesنعم، في خطط Pro وما فوقيمكن لـ Super Bot Fight Mode تحدي الزواحف أو حظرها
User Agent Blockingإذا كنت تستخدمهيهم فقط إذا أنشأت قواعد حظر تعتمد على user-agent
All rate limiting rulesفقط إذا أظهرت Security Events أن قاعدة rate limiting تحظر Shoplyمعدل طلبات Shoply منخفض، لكن حدًا صارمًا قد يلتقطه مع ذلك
All managed rulesفقط إذا أظهرت Security Events أن قاعدة مُدارة تحظر Shoplyيُبقي قواعد أنماط الهجمات الخاصة بـ Cloudflare نشطة للجميع الآخرين
All remaining custom rulesإذا كانت لديك قواعد مخصّصة أخرى تحظر الروبوتاتيمنع قواعدك المخصّصة اللاحقة من حظر Shoply

ابدأ بالصفوف التي تحمل “نعم”. إذا كانت Security Events في Cloudflare لا تزال تُظهر أن طلبات Shoply يتم حظرها أو تحديها، فسيخبرك الحدث بالميزة التي تصرفت. أضف تلك الميزة إلى قاعدة التجاوز.

الخطوة 3: ضع القاعدة أولًا

يقيّم Cloudflare القواعد المخصّصة بالترتيب، من الأولى إلى الأخيرة. إذا قامت قاعدة فوق قاعدتك بحظر الطلب أو تحديه، فلن تعمل قاعدة التجاوز الخاصة بك أبدًا. انقل قاعدة Shoply إلى أعلى قائمة القواعد المخصّصة لديك.

إذا كنت تستخدم Bot Fight Mode (خطة Cloudflare Free)

لا يمكن تجاوز Bot Fight Mode باستخدام قاعدة Skip. يشغّله Cloudflare بشكل منفصل عن القواعد المخصّصة، لذلك لا يكون لقواعد skip وallow أي تأثير عليه. لديك خياران:

  • أوقف Bot Fight Mode: انتقل إلى Security > Settings، ثم صفِّ حسب Bot traffic، وأوقف Bot fight mode.
  • قم بالترقية إلى خطة Pro أو أعلى واستخدم Super Bot Fight Mode، الذي يدعم قواعد skip.

إذا كان Under Attack mode مفعّلًا

يعرض Under Attack mode صفحة تحدٍّ لكل زائر، ولا يمكن للزواحف اجتيازها. توصي Cloudflare باستخدامه فقط أثناء وجود هجوم نشط. لن يتمكن Shoply من قراءة موقعك حتى يتم إيقافه.

هل من الآمن السماح لـ user agent؟

يمكن لأي عميل أن يدّعي أنه ShoplyAIBot، لذلك تقوم هذه القاعدة بتجاوز بعض فحوصات الروبوتات لأي جهة ترسل User-Agent هذا. ولإبقاء المخاطر منخفضة، تجاوز فقط الميزات التي تحظر الزاحف، وأبقِ حماية تسجيل الدخول والدفع ولوحة الإدارة مفعّلة. لا يحتاج Shoply أبدًا إلى الوصول إلى تلك المناطق.

كيف أسمح لـ Shoply في جدران الحماية الأخرى؟

المبدأ هو نفسه في كل مكان: السماح للطلبات التي يحتوي فيها User-Agent على ShoplyAIBot. تختلف القوائم الدقيقة بحسب المنتج، لذا اتبع وثائق المورّد لديك لإنشاء قاعدة سماح أو استثناء. أما الأماكن الشائعة التي يجب التحقق منها فهي:

  • جدران حماية تطبيقات الويب السحابية (WAFs) مثل Sucuri وAWS WAF وAkamai: أضف قاعدة سماح أو استثناء تطابق ترويسة User-Agent.
  • إضافات أمان WordPress مثل Wordfence: ابحث عن إعدادات حظر الروبوتات أو rate limiting أو حظر user-agent.
  • عوامل التصفية على مستوى الخادم مثل قواعد ModSecurity، وحاصرات الروبوتات التي توفرها شركة الاستضافة لديك: أدرج user agent في القائمة البيضاء، أو اطلب من مستضيفك القيام بذلك.

متاجر Magento: تأكد من أن القاعدة تغطي أيضًا طلبات POST إلى /graphql. تتعامل بعض جدران الحماية مع طلبات API بشكل منفصل عن مشاهدات الصفحات. إذا كانت الصفحات مسموحًا بها لكن /graphql محظورًا، فلن يتم تحديث كتالوج منتجاتك.

لا تعتمد على قائمة سماح لعناوين IP. لا يستخدم زاحف Shoply عناوين IP ثابتة.

كيف أتحقق من أن ذلك نجح؟

  1. في لوحة إدارة Shoply، انقر على Recrawl Now.
  2. انتظر حتى تنتهي عملية الزحف، ثم تحقّق من أن “Last updated” في لوحة المعلومات قد أُعيد ضبطه إلى وقت حديث.
  3. اسأل روبوت الدردشة عن منتج أو صفحة قمت بتغييرها مؤخرًا، وأكّد أن الإجابة والرابط يطابقان موقعك المباشر.

يمكنك أيضًا إجراء فحص سريع من جهازك الشخصي. استبدل https://your-site.com/ بعنوان موقعك الإلكتروني:

bash
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 الخاص بجهازك، وليس من خوادم Shoply. تتعامل بعض جدران الحماية مع الزيارات بشكل مختلف حسب مصدرها، لذلك فإن إعادة الزحف في لوحة إدارة Shoply هي التحقق النهائي.

هل تحتاج إلى مساعدة؟

راسل support@shoplyai.ai عبر البريد الإلكتروني مع عنوان موقعك الإلكتروني، وجدار الحماية أو موفر الاستضافة الذي تستخدمه، ولقطة شاشة لأي طلب محظور في سجلات جدار الحماية لديك. يُرجى عدم إرسال كلمات المرور أو مفاتيح API.