Jak povolit crawler Shoply AI přes váš firewall

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

Shoply AI udržuje své odpovědi přesné tím, že pravidelně čte váš web. Pokud váš web používá Cloudflare nebo jiný firewall či službu na ochranu proti botům, může tato služba crawler Shoply blokovat. Když se to stane, chatbot dál odpovídá ze staré kopie vašeho webu.

Řešením je obvykle jediné pravidlo: povolit požadavky, jejichž User-Agent obsahuje ShoplyAIBot. Tento návod vysvětluje, proč je crawler potřeba, jak ho rozpoznat a jak ho povolit v Cloudflare a dalších firewallech.

Kdo to musí udělat?

  • Vlastníci webů se SiteChat. SiteChat je chat a vyhledávání od Shoply pro jakýkoli web, který není obchod na Shopify, včetně obchodů Magento.
  • Agentury a vývojáři, kteří spravují hosting, CDN (content delivery network) nebo bezpečnostní nastavení těchto webů.

Obchodníci používající aplikaci pro Shopify obvykle nemusí nic měnit. Shoply získává produktová data Shopify přes Shopify API, ne procházením vašeho storefrontu. Pokud jste ale přidali stránky z webu mimo Shopify jako zdroje znalostí, například centrum nápovědy nebo blog hostovaný jinde, firewall tohoto webu může Shoply stále blokovat. Podívejte se na jak naučit Shoply informace o vašem obchodě, kde jsou tyto stránky uvedeny.

Proč Shoply potřebuje číst můj web?

Shoply čte stránky, které jste uvedli v nastavení crawlování, aby odpovědi chatbotu, ceny a odkazy odpovídaly vašemu živému webu.

U obchodů Magento Shoply také čte váš veřejný produktový katalog přes GraphQL endpoint vašeho obchodu (/graphql). Odesílá produktové dotazy pouze pro čtení kvůli údajům, jako jsou názvy, SKU, ceny, varianty a URL produktů.

Crawler se nikdy nepřihlašuje, nikdy nevytváří objednávky a nikdy neodesílá formuláře. Chcete-li zjistit, co Shoply s tímto obsahem dělá, přečtěte si jaké informace Shoply používá k zodpovídání dotazů zákazníků.

Co se stane, když je crawler blokován?

  • Crawly selžou. Shoply nemůže načíst vaše stránky ani produktová data.
  • AI dál odpovídá podle posledního úspěšného crawlu. Nakupující mohou vidět staré ceny, produkty, které jste odstranili, a zastaralé nebo chybné odkazy. V jednom skutečném případě se obchod přesunul z vývojového webu na produkční doménu, ale jeho firewall crawler zablokoval, takže chatbot dál odkazoval nakupující na starý vývojový web.
  • „Last updated … ago“ se na administračním panelu Shoply přestane posouvat.

Běžné příznaky blokovaného crawleru

V administraci Shoply se čas crawlu opožďuje. Na dashboardu čas “Last updated at: … ago” pod Content crawled by Shoply AI stále roste místo toho, aby se každých pár hodin resetoval, například na „770 hours ago“ (asi měsíc). Zůstává opožděný i poté, co kliknete na Recrawl Now, protože blokovaný crawl se nikdy nedokončí.

Pokud zkontrolujete logy firewallu, obvyklým příznakem je, že Cloudflare vrací na požadavky Shoply HTTP 403, v jedné z těchto podob:

  • Error 1010, což znamená, že vlastník webu zakázal požadavek na základě jeho browser signature. Samotné doporučené řešení Cloudflare pro tuto chybu odkazuje na Browser Integrity Check.
  • Stránka s výzvou “Just a moment…”, kterou crawler nemůže dokončit.

Jak rozpoznám crawler Shoply?

Každý požadavek z crawleru Shoply používá tento User-Agent:

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

Pravidla pište tak, aby odpovídala kratšímu textu ShoplyAIBot (například „User-Agent contains ShoplyAIBot“). Vaše pravidlo pak bude fungovat i v případě, že se číslo verze změní.

Povolujte podle user agentu, ne podle IP adresy. Crawler Shoply nepoužívá pevné IP adresy, takže allowlist podle IP nebude spolehlivě fungovat.

Jak se crawler chová

  • Prochází pouze weby, které jste nakonfigurovali v Shoply.
  • Respektuje robots.txt při čtení stránek. Pokud vaše robots.txt blokuje stránku, Shoply ji přeskočí, proto zkontrolujte, že neblokuje stránky, ze kterých se má AI učit.
  • Je šetrný k vašemu serveru: maximálně 2 požadavky současně, s prodlevou 2 sekundy mezi požadavky.
  • Počet stránek je omezen podle vašeho tarifu Shoply.

Kdy crawler běží

  • Automaticky podle plánu. Jak často, závisí na vašem tarifu.
  • Když v administraci Shoply kliknete na „Recrawl Now“.
  • Každé 2 dny, dokud crawly dál selhávají. Shoply opakování provádí automaticky, takže jakmile přidáte pravidlo pro povolení, další pokus nebo ruční recrawl váš web načte.

Jak povolím Shoply v Cloudflare?

V Cloudflare vytvořte custom rule s akcí Skip. Skip pravidlo umožní odpovídajícím požadavkům obejít bezpečnostní kontroly, které by je jinak blokovaly nebo jim zobrazovaly výzvu.

Krok 1: Vytvořte skip pravidlo

  1. V dashboardu Cloudflare otevřete svůj web (zone) a přejděte do Security rules.

  2. Vyberte Create rule > Custom rules.

  3. Do Rule name zadejte jasný název, například Allow Shoply AI crawler.

  4. V části When incoming requests match nastavte:

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

    Pokud dáváte přednost editoru výrazů, použijte:

    text
    (http.user_agent contains "ShoplyAIBot")
  5. V části Then take action > Choose action vyberte Skip.

  6. Zvolte, co se má přeskočit (viz tabulka níže).

  7. Nechte Log matching requests zapnuté. Požadavky Shoply se pak budou zobrazovat v Security Events v Cloudflare, což pomáhá při řešení problémů.

  8. Vyberte Deploy.

Krok 2: Zvolte, co se má přeskočit

Možnost Skip v CloudflarePřeskočit?Proč
Browser Integrity CheckAnoZpůsobuje chybu 1010 pro crawlery
Security LevelAnoZabrání tomu, aby kontroly Security Level crawleru zobrazovaly výzvu
All Super Bot Fight Mode rulesAno, u tarifů Pro a vyššíchSuper Bot Fight Mode může crawlery blokovat nebo jim zobrazovat výzvu
User Agent BlockingPokud ho používáteDůležité jen tehdy, pokud jste vytvořili pravidla blokování podle user agentu
All rate limiting rulesJen pokud Security Events ukazují, že Shoply blokuje pravidlo rate limitingFrekvence požadavků Shoply je nízká, ale přísný limit ho může přesto zachytit
All managed rulesJen pokud Security Events ukazují, že Shoply blokuje managed ruleZachová pravidla Cloudflare proti vzorcům útoků aktivní pro všechny ostatní
All remaining custom rulesPokud máte další custom rules, které blokují botyZabrání tomu, aby vaše pozdější vlastní pravidla blokovala Shoply

Začněte řádky s „Ano“. Pokud Security Events v Cloudflare stále ukazují, že jsou požadavky Shoply blokovány nebo je jim zobrazována výzva, událost vám řekne, která funkce zasáhla. Přidejte tuto funkci do skip pravidla.

Krok 3: Umístěte pravidlo na první místo

Cloudflare vyhodnocuje custom rules postupně, od prvního po poslední. Pokud požadavek blokuje nebo mu zobrazí výzvu pravidlo nad vaším, vaše skip pravidlo se nikdy nespustí. Přesuňte pravidlo Shoply na začátek seznamu vašich custom rules.

Pokud používáte Bot Fight Mode (bezplatný tarif Cloudflare)

Bot Fight Mode nelze obejít skip pravidlem. Cloudflare ho spouští odděleně od custom rules, takže skip ani allow pravidla na něj nemají vliv. Máte dvě možnosti:

  • Vypnout Bot Fight Mode: přejděte do Security > Settings, filtrujte podle Bot traffic a vypněte Bot fight mode.
  • Přejít na tarif Pro nebo vyšší a použít Super Bot Fight Mode, který skip pravidla podporuje.

Pokud je zapnutý režim Under Attack

Režim Under Attack zobrazuje stránku s výzvou každému návštěvníkovi a crawlery jí nemohou projít. Cloudflare doporučuje používat jej pouze během aktivního útoku. Dokud bude zapnutý, Shoply nebude moci váš web číst.

Je bezpečné povolit user agent?

Každý klient může tvrdit, že je ShoplyAIBot, takže toto pravidlo přeskočí některé kontroly botů pro kohokoli, kdo odešle tento User-Agent. Aby bylo riziko malé, přeskočte jen ty funkce, které crawler blokují, a ponechte ochranu přihlášení, checkoutu a administrace. Shoply nikdy nepotřebuje přístup do těchto oblastí.

Jak povolím Shoply v jiných firewallech?

Princip je všude stejný: povolte požadavky, jejichž User-Agent obsahuje ShoplyAIBot. Přesné nabídky se liší podle produktu, proto se při vytváření pravidla pro povolení nebo výjimku řiďte dokumentací vašeho dodavatele. Běžná místa ke kontrole:

  • Cloud web application firewally (WAFs) jako Sucuri, AWS WAF a Akamai: přidejte pravidlo pro povolení nebo výjimku, které odpovídá hlavičce User-Agent.
  • Bezpečnostní pluginy pro WordPress jako Wordfence: hledejte nastavení pro blokování botů, rate limiting nebo blokování podle user agentu.
  • Filtry na úrovni serveru jako pravidla ModSecurity a blokátory botů poskytované vaší hostingovou společností: přidejte user agent na whitelist nebo o to požádejte svůj hosting.

Obchody Magento: ujistěte se, že pravidlo pokrývá také POST požadavky na /graphql. Některé firewally zacházejí s API požadavky odděleně od zobrazení stránek. Pokud jsou stránky povoleny, ale /graphql je blokováno, váš produktový katalog se nebude aktualizovat.

Nespoléhejte na allowlist podle IP adres. Crawler Shoply nepoužívá pevné IP adresy.

Jak zkontroluji, že to funguje?

  1. V administraci Shoply klikněte na Recrawl Now.
  2. Počkejte na dokončení crawlu a pak zkontrolujte, že se “Last updated” na vašem dashboardu resetovalo na nedávný čas.
  3. Zeptejte se chatbotu na produkt nebo stránku, které jste nedávno změnili, a ověřte, že odpověď i odkaz odpovídají vašemu živému webu.

Můžete také provést rychlou kontrolu ze svého počítače. Nahraďte https://your-site.com/ adresou svého webu:

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

Odpověď HTTP/2 200 (nebo HTTP/1.1 200 OK) znamená, že vaše pravidlo tento user agent propouští. 403 znamená, že ho něco stále blokuje.

Tento test běží z IP adresy vašeho počítače, ne ze serverů Shoply. Některé firewally zacházejí s provozem různě podle toho, odkud přichází, takže recrawl v administraci Shoply je konečná kontrola.

Potřebujete pomoc?

Napište na support@shoplyai.ai a uveďte adresu svého webu, firewall nebo poskytovatele hostingu, kterého používáte, a screenshot jakéhokoli blokovaného požadavku v logách vašeho firewallu. Neposílejte prosím hesla ani API klíče.