Comment autoriser le crawler de Shoply AI à travers votre pare-feu

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

Shoply AI maintient l’exactitude de ses réponses en lisant régulièrement votre site web. Si votre site utilise Cloudflare ou un autre pare-feu, ou un service de protection contre les bots, ce service peut bloquer le crawler de Shoply. Dans ce cas, le chatbot continue de répondre à partir d’une ancienne copie de votre site.

La solution est généralement une seule règle : autoriser les requêtes dont le User-Agent contient ShoplyAIBot. Ce guide explique pourquoi le crawler est nécessaire, comment l’identifier et comment l’autoriser dans Cloudflare et d’autres pare-feu.

Qui doit faire cela ?

  • Les propriétaires de sites SiteChat. SiteChat est la solution de chat et de recherche de Shoply pour tout site web qui n’est pas une boutique Shopify, y compris les boutiques Magento.
  • Les agences et les développeurs qui gèrent l’hébergement, un CDN (réseau de diffusion de contenu) ou les paramètres de sécurité de ces sites web.

Les marchands utilisant l’application Shopify n’ont normalement rien à modifier. Shoply reçoit les données produit de Shopify via l’API de Shopify, et non en explorant votre vitrine. Cependant, si vous avez ajouté des pages d’un site non-Shopify comme sources de connaissances, par exemple un centre d’aide ou un blog hébergé ailleurs, le pare-feu de ce site peut tout de même bloquer Shoply. Consultez comment apprendre à Shoply à connaître votre boutique pour voir où ces pages sont listées.

Pourquoi Shoply doit-il lire mon site web ?

Shoply lit les pages que vous avez listées dans vos paramètres d’exploration afin que les réponses, les prix et les liens du chatbot correspondent à votre site en ligne.

Pour les boutiques Magento, Shoply lit aussi votre catalogue produit public via le point de terminaison GraphQL de votre boutique (/graphql). Il envoie des requêtes produit en lecture seule pour obtenir des détails tels que les noms, SKU, prix, variantes et URL de produits.

Le crawler ne se connecte jamais, ne passe jamais de commande et ne soumet jamais de formulaire. Pour savoir ce que Shoply fait avec ce contenu, consultez quelles informations Shoply utilise pour répondre aux questions des clients.

Que se passe-t-il si le crawler est bloqué ?

  • Les explorations échouent. Shoply ne peut pas récupérer vos pages ni vos données produit.
  • L’IA continue de répondre à partir de la dernière exploration réussie. Les acheteurs peuvent voir d’anciens prix, des produits que vous avez supprimés, ainsi que des liens obsolètes ou incorrects. Dans un cas réel, une boutique est passée d’un site de développement à son domaine de production, mais son pare-feu a bloqué le crawler ; le chatbot continuait donc à envoyer les acheteurs vers l’ancien site de développement.
  • Le “Dernière mise à jour …” cesse d’avancer sur votre tableau de bord d’administration Shoply.

Signes courants d’un crawler bloqué

Dans l’administration Shoply, l’heure d’exploration prend du retard. Sur le tableau de bord, l’heure “Last updated at: … ago” sous Content crawled by Shoply AI continue d’augmenter au lieu de se réinitialiser toutes les quelques heures, par exemple “770 hours ago” (environ un mois). Elle reste en retard même après avoir cliqué sur Recrawl Now, car une exploration bloquée ne se termine jamais.

Si vous consultez les journaux de votre pare-feu, le symptôme habituel est que Cloudflare renvoie HTTP 403 aux requêtes de Shoply, sous l’une de ces formes :

  • Erreur 1010, ce qui signifie que le propriétaire du site a interdit la requête en fonction de sa signature de navigateur. La propre solution de Cloudflare pour cette erreur renvoie vers Browser Integrity Check.
  • Une page de vérification “Just a moment…”, qu’un crawler ne peut pas compléter.

Comment reconnaître le crawler de Shoply ?

Chaque requête du crawler de Shoply utilise ce User-Agent :

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

Écrivez vos règles pour correspondre au texte plus court ShoplyAIBot (par exemple, “User-Agent contient ShoplyAIBot”). Votre règle continuera alors à fonctionner si le numéro de version change.

Autorisez par user agent, pas par adresse IP. Le crawler de Shoply n’utilise pas d’adresses IP fixes, donc une liste d’autorisation IP ne fonctionnera pas de manière fiable.

Comment le crawler se comporte

  • Il explore uniquement les sites que vous avez configurés dans Shoply.
  • Il respecte robots.txt lors de la lecture des pages. Si votre robots.txt bloque une page, Shoply l’ignorera ; vérifiez donc qu’il ne bloque pas les pages à partir desquelles vous voulez que l’IA apprenne.
  • Il ménage votre serveur : au maximum 2 requêtes à la fois, avec un délai de 2 secondes entre les requêtes.
  • Le nombre de pages est plafonné selon votre forfait Shoply.

Quand le crawler s’exécute

  • Automatiquement selon un calendrier. La fréquence dépend de votre forfait.
  • Quand vous cliquez sur “Recrawl Now” dans l’administration Shoply.
  • Tous les 2 jours tant que les explorations continuent d’échouer. Shoply réessaie automatiquement ; ainsi, une fois la règle d’autorisation ajoutée, la prochaine tentative ou une réexploration manuelle prendra votre site en compte.

Comment autoriser Shoply dans Cloudflare ?

Dans Cloudflare, créez une règle personnalisée avec l’action Skip. Une règle d’exclusion permet aux requêtes correspondantes de contourner les contrôles de sécurité qui les bloqueraient ou leur imposeraient autrement un challenge.

Étape 1 : Créer la règle d’exclusion

  1. Dans le tableau de bord Cloudflare, ouvrez votre site web (zone) et accédez à Security rules.

  2. Sélectionnez Create rule > Custom rules.

  3. Dans Rule name, saisissez un nom clair, par exemple Allow Shoply AI crawler.

  4. Sous When incoming requests match, définissez :

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

    Si vous préférez l’éditeur d’expressions, utilisez :

    text
    (http.user_agent contains "ShoplyAIBot")
  5. Sous Then take action > Choose action, sélectionnez Skip.

  6. Choisissez ce qu’il faut ignorer (voir le tableau ci-dessous).

  7. Laissez Log matching requests activé. Les requêtes de Shoply apparaîtront alors dans les Security Events de Cloudflare, ce qui aide au dépannage.

  8. Sélectionnez Deploy.

Étape 2 : Choisir ce qu’il faut ignorer

Option Skip dans CloudflareL’ignorer ?Pourquoi
Browser Integrity CheckOuiProvoque l’erreur 1010 pour les crawlers
Security LevelOuiEmpêche les vérifications du Security Level de défier le crawler
All Super Bot Fight Mode rulesOui, sur les forfaits Pro et supérieursSuper Bot Fight Mode peut défier ou bloquer les crawlers
User Agent BlockingSi vous l’utilisezNe concerne que les règles de blocage par user-agent que vous avez créées
All rate limiting rulesUniquement si les Security Events montrent qu’une règle de limitation de débit bloque ShoplyLe taux de requêtes de Shoply est faible, mais une limite stricte peut quand même l’affecter
All managed rulesUniquement si les Security Events montrent qu’une règle gérée bloque ShoplyPermet de garder actives les règles Cloudflare basées sur les modèles d’attaque pour tous les autres
All remaining custom rulesSi vous avez d’autres règles personnalisées qui bloquent les botsEmpêche vos règles personnalisées suivantes de bloquer Shoply

Commencez par les lignes marquées “Oui”. Si les Security Events de Cloudflare montrent encore que les requêtes de Shoply sont bloquées ou soumises à un challenge, l’événement indiquera quelle fonctionnalité est intervenue. Ajoutez alors cette fonctionnalité à la règle d’exclusion.

Étape 3 : Mettre la règle en premier

Cloudflare évalue les règles personnalisées dans l’ordre, de la première à la dernière. Si une règle placée au-dessus de la vôtre bloque ou soumet la requête à un challenge, votre règle d’exclusion ne s’exécute jamais. Déplacez la règle Shoply en haut de votre liste de règles personnalisées.

Si vous utilisez Bot Fight Mode (offre gratuite Cloudflare)

Bot Fight Mode ne peut pas être contourné avec une règle d’exclusion. Cloudflare l’exécute séparément des règles personnalisées ; les règles skip et allow n’ont donc aucun effet sur lui. Vous avez deux options :

  • Désactiver Bot Fight Mode : allez dans Security > Settings, filtrez par Bot traffic, puis désactivez Bot fight mode.
  • Passer à une offre Pro ou supérieure et utiliser Super Bot Fight Mode, qui prend en charge les règles d’exclusion.

Si le mode Under Attack est activé

Le mode Under Attack affiche une page de challenge à chaque visiteur, et les crawlers ne peuvent pas la franchir. Cloudflare recommande de ne l’utiliser que pendant une attaque active. Shoply ne pourra pas lire votre site tant qu’il ne sera pas désactivé.

Est-il sûr d’autoriser un user agent ?

N’importe quel client peut prétendre être ShoplyAIBot, donc cette règle contourne certains contrôles anti-bot pour toute personne qui envoie ce User-Agent. Pour limiter le risque, n’ignorez que les fonctionnalités qui bloquent le crawler et laissez en place les protections de connexion, de paiement et d’administration. Shoply n’a jamais besoin d’accéder à ces zones.

Comment autoriser Shoply dans d’autres pare-feu ?

Le principe est le même partout : autoriser les requêtes dont le User-Agent contient ShoplyAIBot. Les menus exacts diffèrent selon le produit ; suivez donc la documentation de votre fournisseur pour créer une règle d’autorisation ou d’exception. Endroits courants à vérifier :

  • Pare-feu applicatifs web cloud (WAF) comme Sucuri, AWS WAF et Akamai : ajoutez une règle d’autorisation ou d’exception qui correspond à l’en-tête User-Agent.
  • Extensions de sécurité WordPress comme Wordfence : recherchez les paramètres de blocage des bots, de limitation de débit ou de blocage par user-agent.
  • Filtres au niveau du serveur comme les règles ModSecurity, ainsi que les bloqueurs de bots fournis par votre hébergeur : mettez le user agent en liste d’autorisation, ou demandez à votre hébergeur de le faire.

Boutiques Magento : assurez-vous que la règle couvre aussi les requêtes POST vers /graphql. Certains pare-feu traitent les requêtes API séparément des vues de pages. Si les pages sont autorisées mais que /graphql est bloqué, votre catalogue produit ne se mettra pas à jour.

Ne vous fiez pas à une liste d’autorisation IP. Le crawler de Shoply n’utilise pas d’adresses IP fixes.

Comment vérifier que cela a fonctionné ?

  1. Dans l’administration Shoply, cliquez sur Recrawl Now.
  2. Attendez la fin de l’exploration, puis vérifiez que “Last updated” sur votre tableau de bord a bien été réinitialisé à une heure récente.
  3. Posez une question au chatbot sur un produit ou une page que vous avez modifiés récemment, et confirmez que la réponse et le lien correspondent à votre site en ligne.

Vous pouvez aussi effectuer une vérification rapide depuis votre propre ordinateur. Remplacez https://your-site.com/ par l’adresse de votre site web :

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

Une réponse HTTP/2 200 (ou HTTP/1.1 200 OK) signifie que votre règle laisse passer ce user agent. Un 403 signifie que quelque chose le bloque encore.

Ce test s’exécute depuis l’adresse IP de votre ordinateur, et non depuis les serveurs de Shoply. Certains pare-feu traitent le trafic différemment selon sa provenance ; la réexploration dans l’administration Shoply reste donc la vérification finale.

Besoin d’aide ?

Envoyez un e-mail à support@shoplyai.ai avec l’adresse de votre site web, le pare-feu ou l’hébergeur que vous utilisez, ainsi qu’une capture d’écran de toute requête bloquée dans les journaux de votre pare-feu. Merci de ne pas envoyer de mots de passe ni de clés API.