Jak przepuścić crawler Shoply AI przez zaporę

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

Shoply AI utrzymuje poprawność swoich odpowiedzi, regularnie odczytując Twoją stronę internetową. Jeśli Twoja witryna korzysta z Cloudflare albo innej zapory lub usługi ochrony przed botami, ta usługa może blokować crawler Shoply. Gdy tak się dzieje, chatbot nadal odpowiada na podstawie starej kopii Twojej witryny.

Naprawa zazwyczaj sprowadza się do jednej reguły: zezwól na żądania, których User-Agent zawiera ShoplyAIBot. Ten przewodnik wyjaśnia, dlaczego crawler jest potrzebny, jak go rozpoznać i jak zezwolić na niego w Cloudflare oraz innych zaporach.

Kto musi to zrobić?

  • Właściciele stron korzystających z SiteChat. SiteChat to czat i wyszukiwarka Shoply dla dowolnej strony internetowej, która nie jest sklepem Shopify, w tym sklepów Magento.
  • Agencje i deweloperzy, którzy zarządzają hostingiem, CDN-em (siecią dostarczania treści) lub ustawieniami bezpieczeństwa tych witryn.

Sprzedawcy korzystający z aplikacji Shopify zwykle nie muszą nic zmieniać. Shoply pobiera dane produktowe Shopify przez API Shopify, a nie przez crawl Twojego storefrontu. Jednak jeśli dodałeś strony z witryny spoza Shopify jako źródła wiedzy, na przykład centrum pomocy lub blog hostowany gdzie indziej, zapora tej witryny nadal może blokować Shoply. Zobacz jak nauczyć Shoply wiedzy o Twoim sklepie, aby sprawdzić, gdzie te strony są wymienione.

Dlaczego Shoply musi odczytywać moją stronę?

Shoply odczytuje strony, które wskazałeś w ustawieniach crawlowania, aby odpowiedzi chatbota, ceny i linki odpowiadały temu, co jest aktualnie widoczne w Twojej witrynie.

W przypadku sklepów Magento Shoply odczytuje także publiczny katalog produktów przez endpoint GraphQL Twojego sklepu (/graphql). Wysyła zapytania produktowe tylko do odczytu, aby pobrać takie informacje jak nazwy, SKU, ceny, warianty i adresy URL produktów.

Crawler nigdy się nie loguje, nigdy nie składa zamówień i nigdy nie wysyła formularzy. Aby dowiedzieć się, co Shoply robi z tymi treściami, przeczytaj jakie informacje Shoply wykorzystuje do odpowiadania na pytania klientów.

Co się stanie, jeśli crawler jest zablokowany?

  • Crawle kończą się niepowodzeniem. Shoply nie może pobrać Twoich stron ani danych produktowych.
  • AI nadal odpowiada na podstawie ostatniego udanego crawla. Klienci mogą widzieć stare ceny, produkty, które zostały już usunięte, oraz nieaktualne lub błędne linki. W jednym rzeczywistym przypadku sklep został przeniesiony ze strony deweloperskiej na domenę produkcyjną, ale jego zapora zablokowała crawler, więc chatbot nadal kierował klientów do starej strony deweloperskiej.
  • „Ostatnia aktualizacja … temu” przestaje się aktualizować w panelu administracyjnym Shoply.

Typowe oznaki zablokowanego crawlera

W panelu administracyjnym Shoply czas crawla zaczyna się opóźniać. Na dashboardzie czas „Last updated at: … ago” pod Content crawled by Shoply AI stale rośnie zamiast resetować się co kilka godzin, na przykład do „770 hours ago” (około miesiąca). Pozostaje opóźniony nawet po kliknięciu Recrawl Now, ponieważ zablokowany crawl nigdy się nie kończy.

Jeśli sprawdzisz logi swojej zapory, typowym objawem jest zwracanie przez Cloudflare HTTP 403 dla żądań Shoply, w jednej z tych form:

  • Błąd 1010, co oznacza, że właściciel strony zablokował żądanie na podstawie jego sygnatury przeglądarki. Własna instrukcja Cloudflare dotycząca tego błędu wskazuje na Browser Integrity Check.
  • Strona testu „Just a moment…”, której crawler nie jest w stanie ukończyć.

Jak rozpoznać crawler Shoply?

Każde żądanie z crawlera Shoply używa tego User-Agent:

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

Twórz reguły tak, aby dopasowywały krótszy tekst ShoplyAIBot (na przykład „User-Agent contains ShoplyAIBot”). Dzięki temu reguła będzie nadal działać, jeśli numer wersji się zmieni.

Zezwalaj na podstawie user agenta, a nie adresu IP. Crawler Shoply nie używa stałych adresów IP, więc lista dozwolonych adresów IP nie będzie działać niezawodnie.

Jak zachowuje się crawler

  • Crawleruje tylko witryny, które skonfigurowałeś w Shoply.
  • Przestrzega robots.txt podczas odczytywania stron. Jeśli Twój robots.txt blokuje stronę, Shoply ją pominie, więc sprawdź, czy nie blokuje stron, z których AI ma się uczyć.
  • Jest łagodny dla Twojego serwera: maksymalnie 2 żądania jednocześnie, z 2-sekundowym opóźnieniem między żądaniami.
  • Liczba stron jest ograniczona przez Twój plan Shoply.

Kiedy crawler działa

  • Automatycznie według harmonogramu. Częstotliwość zależy od Twojego planu.
  • Gdy klikniesz „Recrawl Now” w panelu administracyjnym Shoply.
  • Co 2 dni, dopóki crawle kończą się niepowodzeniem. Shoply automatycznie ponawia próby, więc gdy tylko dodasz regułę zezwalającą, kolejna próba lub ręczny recrawl pobierze Twoją witrynę.

Jak zezwolić Shoply w Cloudflare?

W Cloudflare utwórz custom rule z akcją Skip. Reguła pomijania pozwala dopasowanym żądaniom ominąć kontrole bezpieczeństwa, które w innym przypadku by je zablokowały lub poddały wyzwaniu.

Krok 1: Utwórz regułę pomijania

  1. W panelu Cloudflare otwórz swoją witrynę (zone) i przejdź do Security rules.

  2. Wybierz Create rule > Custom rules.

  3. W polu Rule name wpisz czytelną nazwę, na przykład Allow Shoply AI crawler.

  4. W sekcji When incoming requests match ustaw:

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

    Jeśli wolisz edytor wyrażeń, użyj:

    text
    (http.user_agent contains "ShoplyAIBot")
  5. W sekcji Then take action > Choose action wybierz Skip.

  6. Wybierz, co ma zostać pominięte (zobacz tabelę poniżej).

  7. Pozostaw włączoną opcję Log matching requests. Dzięki temu żądania Shoply będą widoczne w Security Events Cloudflare, co ułatwia rozwiązywanie problemów.

  8. Wybierz Deploy.

Krok 2: Wybierz, co pominąć

Opcja pomijania w CloudflarePominąć?Dlaczego
Browser Integrity CheckTakPowoduje błąd 1010 dla crawlerów
Security LevelTakZatrzymuje kontrole Security Level przed rzucaniem wyzwań crawlerowi
All Super Bot Fight Mode rulesTak, w planach Pro i wyższychSuper Bot Fight Mode może rzucać wyzwania crawlerom lub je blokować
User Agent BlockingJeśli tego używaszMa znaczenie tylko wtedy, gdy utworzyłeś reguły blokowania user-agentów
All rate limiting rulesTylko jeśli Security Events pokazuje, że reguła rate limiting blokuje ShoplyTempo żądań Shoply jest niskie, ale ścisły limit nadal może je złapać
All managed rulesTylko jeśli Security Events pokazuje, że managed rule blokuje ShoplyPozwala utrzymać reguły wykrywania wzorców ataków Cloudflare aktywne dla wszystkich pozostałych
All remaining custom rulesJeśli masz inne custom rules blokujące botyUniemożliwia późniejszym własnym regułom blokowanie Shoply

Zacznij od wierszy oznaczonych „Tak”. Jeśli Security Events Cloudflare nadal pokazuje, że żądania Shoply są blokowane lub dostają wyzwanie, zdarzenie wskaże, która funkcja zadziałała. Dodaj tę funkcję do reguły pomijania.

Krok 3: Umieść regułę na początku

Cloudflare ocenia custom rules po kolei, od pierwszej do ostatniej. Jeśli reguła znajdująca się wyżej zablokuje żądanie lub rzuci wyzwanie, Twoja reguła pomijania nigdy się nie uruchomi. Przenieś regułę Shoply na górę listy custom rules.

Jeśli używasz Bot Fight Mode (plan Cloudflare Free)

Bot Fight Mode nie da się ominąć regułą Skip. Cloudflare uruchamia go oddzielnie od custom rules, więc reguły skip i allow nie mają na niego wpływu. Masz dwie możliwości:

  • Wyłącz Bot Fight Mode: przejdź do Security > Settings, przefiltruj po Bot traffic i wyłącz Bot fight mode.
  • Przejdź na plan Pro lub wyższy i użyj Super Bot Fight Mode, który obsługuje reguły skip.

Jeśli tryb Under Attack jest włączony

Tryb Under Attack pokazuje stronę z wyzwaniem każdemu odwiedzającemu, a crawlery nie są w stanie przez nią przejść. Cloudflare zaleca używać go tylko podczas aktywnego ataku. Shoply nie będzie mogło odczytać Twojej witryny, dopóki ten tryb nie zostanie wyłączony.

Czy zezwolenie na user agent jest bezpieczne?

Każdy klient może podać się za ShoplyAIBot, więc ta reguła pomija część kontroli botów dla każdego, kto wysyła taki User-Agent. Aby ograniczyć ryzyko, pomijaj tylko te funkcje, które blokują crawler, i pozostaw ochronę logowania, checkoutu oraz panelu administracyjnego. Shoply nigdy nie potrzebuje dostępu do tych obszarów.

Jak zezwolić Shoply w innych zaporach?

Zasada wszędzie jest taka sama: zezwól na żądania, których User-Agent zawiera ShoplyAIBot. Dokładne menu różnią się w zależności od produktu, więc postępuj zgodnie z dokumentacją dostawcy dotyczącą tworzenia reguły zezwolenia lub wyjątku. Typowe miejsca do sprawdzenia:

  • Chmurowe zapory aplikacyjne (WAF), takie jak Sucuri, AWS WAF i Akamai: dodaj regułę zezwolenia lub wyjątku, która dopasowuje nagłówek User-Agent.
  • Wtyczki bezpieczeństwa WordPressa, takie jak Wordfence: szukaj ustawień blokowania botów, rate limitingu lub blokowania user-agentów.
  • Filtry na poziomie serwera, takie jak reguły ModSecurity, oraz blokady botów dostarczane przez firmę hostingową: dodaj user agent do whitelisty albo poproś hosting o zrobienie tego.

Sklepy Magento: upewnij się, że reguła obejmuje także żądania POST do /graphql. Niektóre zapory traktują żądania API osobno względem odsłon stron. Jeśli strony są dozwolone, ale /graphql jest blokowane, Twój katalog produktów nie będzie się aktualizował.

Nie polegaj na liście dozwolonych adresów IP. Crawler Shoply nie używa stałych adresów IP.

Jak sprawdzić, czy to zadziałało?

  1. W panelu administracyjnym Shoply kliknij Recrawl Now.
  2. Poczekaj, aż crawl się zakończy, a następnie sprawdź, czy „Last updated” na dashboardzie zresetowało się do niedawnego czasu.
  3. Zapytaj chatbota o produkt lub stronę, które były ostatnio zmieniane, i potwierdź, że odpowiedź oraz link odpowiadają temu, co jest aktualnie widoczne w Twojej witrynie.

Możesz też wykonać szybki test z własnego komputera. Zastąp https://your-site.com/ adresem swojej witryny:

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

Odpowiedź HTTP/2 200 (lub HTTP/1.1 200 OK) oznacza, że Twoja reguła przepuszcza ten user agent. 403 oznacza, że coś nadal go blokuje.

Ten test działa z adresu IP Twojego komputera, a nie z serwerów Shoply. Niektóre zapory traktują ruch inaczej w zależności od miejsca, z którego pochodzi, więc recrawl w panelu administracyjnym Shoply jest ostatecznym sprawdzeniem.

Potrzebujesz pomocy?

Napisz na support@shoplyai.ai, podając adres swojej witryny, używaną zaporę lub dostawcę hostingu oraz zrzut ekranu zablokowanego żądania w logach zapory. Nie wysyłaj haseł ani kluczy API.