Hoe je de crawler van Shoply AI door je firewall laat

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

Shoply AI houdt zijn antwoorden nauwkeurig door regelmatig je website te lezen. Als je site Cloudflare of een andere firewall- of botbeschermingsdienst gebruikt, kan die dienst de crawler van Shoply blokkeren. Als dat gebeurt, blijft de chatbot antwoorden geven op basis van een oude kopie van je site.

De oplossing is meestal één regel: sta verzoeken toe waarvan de User-Agent ShoplyAIBot bevat. Deze handleiding legt uit waarom de crawler nodig is, hoe je deze herkent en hoe je deze toestaat in Cloudflare en andere firewalls.

Wie moet dit doen?

  • SiteChat-website-eigenaren. SiteChat is de chat- en zoekoplossing van Shoply voor elke website die geen Shopify-winkel is, inclusief Magento-winkels.
  • Bureaus en ontwikkelaars die hosting, een CDN (content delivery network) of beveiligingsinstellingen voor die websites beheren.

Merchants met de Shopify-app hoeven normaal gesproken niets te wijzigen. Shoply ontvangt Shopify-productgegevens via de API van Shopify, niet door je storefront te crawlen. Als je echter pagina’s van een niet-Shopify-website hebt toegevoegd als kennisbronnen, zoals een helpcentrum of blog die elders wordt gehost, kan de firewall van die website Shoply alsnog blokkeren. Zie hoe je Shoply over je winkel leert om te zien waar die pagina’s worden vermeld.

Waarom moet Shoply mijn website lezen?

Shoply leest de pagina’s die je in je crawl-instellingen hebt opgegeven, zodat de antwoorden, prijzen en links van de chatbot overeenkomen met je live site.

Voor Magento-winkels leest Shoply ook je openbare productcatalogus via het GraphQL-endpoint van je winkel (/graphql). Het verstuurt alleen-lezen-productquery’s voor details zoals namen, SKU’s, prijzen, varianten en product-URL’s.

De crawler logt nooit in, plaatst nooit bestellingen en verstuurt nooit formulieren. Lees welke informatie Shoply gebruikt om vragen van klanten te beantwoorden om te begrijpen wat Shoply met deze inhoud doet.

Wat gebeurt er als de crawler wordt geblokkeerd?

  • Crawls mislukken. Shoply kan je pagina’s of productgegevens niet ophalen.
  • De AI blijft antwoorden geven op basis van de laatste succesvolle crawl. Shoppers kunnen oude prijzen zien, producten die je hebt verwijderd en verouderde of onjuiste links. In een echt geval verhuisde een winkel van een ontwikkelsite naar het productiedomein, maar de firewall blokkeerde de crawler, waardoor de chatbot shoppers bleef linken naar de oude ontwikkelsite.
  • “Last updated … ago” loopt niet verder bij in je Shoply-beheerdashboard.

Veelvoorkomende signalen van een geblokkeerde crawler

In de Shoply-admin loopt de crawltijd achter. Op het dashboard blijft de tijd “Last updated at: … ago” onder Content crawled by Shoply AI oplopen in plaats van elke paar uur te resetten, bijvoorbeeld “770 hours ago” (ongeveer een maand). Die blijft achterlopen, zelfs nadat je op Recrawl Now klikt, omdat een geblokkeerde crawl nooit wordt voltooid.

Als je je firewalllogs controleert, is het gebruikelijke symptoom dat Cloudflare HTTP 403 teruggeeft aan de verzoeken van Shoply, in een van deze vormen:

  • Error 1010, wat betekent dat de site-eigenaar het verzoek heeft verbannen op basis van de browsersignatuur. De eigen oplossing van Cloudflare voor deze fout verwijst naar Browser Integrity Check.
  • Een “Just a moment…” challenge-pagina, die een crawler niet kan voltooien.

Hoe herken ik de crawler van Shoply?

Elk verzoek van de crawler van Shoply gebruikt deze User-Agent:

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

Schrijf je regels zo dat ze overeenkomen met de kortere tekst ShoplyAIBot (bijvoorbeeld: “User-Agent contains ShoplyAIBot”). Dan blijft je regel werken als het versienummer verandert.

Sta toe op basis van user agent, niet op basis van IP-adres. De crawler van Shoply gebruikt geen vaste IP-adressen, dus een IP-allowlist werkt niet betrouwbaar.

Hoe de crawler zich gedraagt

  • Hij crawlt alleen de sites die je hebt geconfigureerd in Shoply.
  • Hij volgt robots.txt bij het lezen van pagina’s. Als je robots.txt een pagina blokkeert, slaat Shoply die over, dus controleer of daarin niet de pagina’s worden geblokkeerd waarvan je wilt dat de AI ervan leert.
  • Hij belast je server minimaal: maximaal 2 verzoeken tegelijk, met 2 seconden vertraging tussen verzoeken.
  • Het aantal pagina’s is begrensd door je Shoply-abonnement.

Wanneer de crawler draait

  • Automatisch volgens een schema. Hoe vaak hangt af van je abonnement.
  • Wanneer je op “Recrawl Now” klikt in de Shoply-admin.
  • Elke 2 dagen zolang crawls blijven mislukken. Shoply probeert het automatisch opnieuw, dus zodra je de allow-regel toevoegt, zal de volgende poging of een handmatige recrawl je site oppakken.

Hoe sta ik Shoply toe in Cloudflare?

Maak in Cloudflare een custom rule aan met de actie Skip. Met een skip-regel kunnen overeenkomende verzoeken de beveiligingscontroles overslaan die ze anders zouden blokkeren of uitdagen.

Stap 1: Maak de skip-regel aan

  1. Open in het Cloudflare-dashboard je website (zone) en ga naar Security rules.

  2. Selecteer Create rule > Custom rules.

  3. Voer bij Rule name een duidelijke naam in, zoals Allow Shoply AI crawler.

  4. Stel onder When incoming requests match het volgende in:

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

    Als je liever de expression editor gebruikt, gebruik dan:

    text
    (http.user_agent contains "ShoplyAIBot")
  5. Selecteer onder Then take action > Choose action de optie Skip.

  6. Kies wat je wilt overslaan (zie de tabel hieronder).

  7. Laat Log matching requests ingeschakeld. De verzoeken van Shoply verschijnen dan in de Security Events van Cloudflare, wat helpt bij probleemoplossing.

  8. Selecteer Deploy.

Stap 2: Kies wat je wilt overslaan

Skip-optie in CloudflareOverslaan?Waarom
Browser Integrity CheckJaVeroorzaakt error 1010 voor crawlers
Security LevelJaVoorkomt dat Security Level-controles de crawler uitdagen
All Super Bot Fight Mode rulesJa, bij Pro-abonnementen en hogerSuper Bot Fight Mode kan crawlers uitdagen of blokkeren
User Agent BlockingAls je dit gebruiktAlleen relevant als je user-agentblokkeringsregels hebt gemaakt
All rate limiting rulesAlleen als Security Events laat zien dat een rate-limitingregel Shoply blokkeertDe requestsnelheid van Shoply is laag, maar een strikte limiet kan het toch raken
All managed rulesAlleen als Security Events laat zien dat een managed rule Shoply blokkeertHoudt de aanvalspatroonregels van Cloudflare actief voor iedereen anders
All remaining custom rulesAls je andere custom rules hebt die bots blokkerenVoorkomt dat je latere custom rules Shoply blokkeren

Begin met de rijen met “Ja”. Als de Security Events van Cloudflare nog steeds laten zien dat de verzoeken van Shoply worden geblokkeerd of uitgedaagd, dan vertelt de gebeurtenis je welke functie heeft ingegrepen. Voeg die functie toe aan de skip-regel.

Stap 3: Zet de regel bovenaan

Cloudflare evalueert custom rules op volgorde, van boven naar beneden. Als een regel boven die van jou het verzoek blokkeert of uitdaagt, wordt je skip-regel nooit uitgevoerd. Verplaats de Shoply-regel naar de top van je lijst met custom rules.

Als je Bot Fight Mode gebruikt (Cloudflare Free-abonnement)

Bot Fight Mode kan niet worden omzeild met een skip-regel. Cloudflare voert dit apart uit van custom rules, dus skip- en allow-regels hebben hier geen effect op. Je hebt twee opties:

  • Schakel Bot Fight Mode uit: ga naar Security > Settings, filter op Bot traffic en zet Bot fight mode uit.
  • Upgrade naar een Pro-abonnement of hoger en gebruik Super Bot Fight Mode, dat skip-regels wel ondersteunt.

Als Under Attack mode is ingeschakeld

Under Attack mode toont een challenge-pagina aan elke bezoeker, en crawlers kunnen daar niet doorheen. Cloudflare raadt aan dit alleen te gebruiken tijdens een actieve aanval. Shoply kan je site pas weer lezen als dit is uitgeschakeld.

Is het veilig om een user agent toe te staan?

Elke client kan beweren ShoplyAIBot te zijn, dus deze regel laat bepaalde botcontroles overslaan voor iedereen die die User-Agent verstuurt. Om het risico klein te houden, sla je alleen de functies over die de crawler blokkeren en laat je je beveiliging voor login, checkout en admin gewoon actief. Shoply heeft nooit toegang tot die onderdelen nodig.

Hoe sta ik Shoply toe in andere firewalls?

Het principe is overal hetzelfde: sta verzoeken toe waarvan de User-Agent ShoplyAIBot bevat. De exacte menu’s verschillen per product, dus volg de documentatie van je leverancier voor het maken van een allow- of uitzonderingsregel. Veelvoorkomende plekken om te controleren:

  • Cloud web application firewalls (WAFs) zoals Sucuri, AWS WAF en Akamai: voeg een allow- of uitzonderingsregel toe die overeenkomt met de User-Agent-header.
  • WordPress-beveiligingsplugins zoals Wordfence: zoek naar instellingen voor botblokkering, rate limiting of user-agentblokkering.
  • Filters op serverniveau zoals ModSecurity-regels en botblokkeerders van je hostingprovider: zet de user agent op de whitelist, of vraag je host om dat te doen.

Magento-winkels: zorg ervoor dat de regel ook POST-verzoeken naar /graphql dekt. Sommige firewalls behandelen API-verzoeken anders dan pageviews. Als pagina’s zijn toegestaan maar /graphql is geblokkeerd, wordt je productcatalogus niet bijgewerkt.

Vertrouw niet op een IP-allowlist. De crawler van Shoply gebruikt geen vaste IP-adressen.

Hoe controleer ik of het heeft gewerkt?

  1. Klik in de Shoply-admin op Recrawl Now.
  2. Wacht tot de crawl is voltooid en controleer vervolgens of “Last updated” op je dashboard is gereset naar een recente tijd.
  3. Stel de chatbot een vraag over een product of pagina die je onlangs hebt gewijzigd, en controleer of het antwoord en de link overeenkomen met je live site.

Je kunt ook snel controleren vanaf je eigen computer. Vervang https://your-site.com/ door het adres van je website:

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

Een antwoord van HTTP/2 200 (of HTTP/1.1 200 OK) betekent dat je regel die user agent doorlaat. Een 403 betekent dat iets deze nog steeds blokkeert.

Deze test draait vanaf het IP-adres van je eigen computer, niet vanaf de servers van Shoply. Sommige firewalls behandelen verkeer verschillend afhankelijk van waar het vandaan komt, dus de recrawl in de Shoply-admin is de definitieve controle.

Hulp nodig?

Stuur een e-mail naar support@shoplyai.ai met het adres van je website, de firewall- of hostingprovider die je gebruikt en een screenshot van een geblokkeerd verzoek in de logs van je firewall. Stuur alsjeblieft geen wachtwoorden of API-sleutels mee.