Как да позволите на обхождащия бот на Shoply AI да преминава през вашата защитна стена
Shoply AI поддържа точността на своите отговори, като редовно прочита вашия уебсайт. Ако сайтът ви използва Cloudflare или друга защитна стена, или услуга за защита от ботове, тази услуга може да блокира обхождащия бот на Shoply. Когато това се случи, чатботът продължава да отговаря по стара версия на вашия сайт.
Решението обикновено е едно правило: позволете заявки, чийто User-Agent съдържа ShoplyAIBot. Това ръководство обяснява защо е нужен обхождащият бот, как да го разпознаете и как да го позволите в Cloudflare и други защитни стени.
Кой трябва да направи това?
- Собственици на уебсайтове със SiteChat. SiteChat е чатът и търсенето на Shoply за всеки уебсайт, който не е Shopify магазин, включително Magento магазини.
- Агенции и разработчици, които управляват хостинг, CDN (мрежа за доставяне на съдържание) или настройки за сигурност за тези уебсайтове.
Търговците с приложението за Shopify обикновено не трябва да променят нищо. Shoply получава данни за продуктите в Shopify чрез API на Shopify, а не чрез обхождане на вашия storefront. Въпреки това, ако сте добавили страници от уебсайт извън Shopify като източници на знания, например помощен център или блог, хостван другаде, защитната стена на този уебсайт все още може да блокира Shoply. Вижте как да научите Shoply за вашия магазин, за да разберете къде са изброени тези страници.
Защо Shoply трябва да прочита моя уебсайт?
Shoply прочита страниците, които сте посочили в настройките си за обхождане, така че отговорите, цените и връзките на чатбота да съответстват на вашия реален сайт.
За Magento магазини Shoply също така прочита вашия публичен продуктов каталог чрез GraphQL endpoint на магазина ви (/graphql). То изпраща заявки само за четене за продукти с подробности като имена, SKU, цени, варианти и URL адреси на продуктите.
Обхождащият бот никога не влиза в профил, никога не прави поръчки и никога не изпраща формуляри. За да научите какво прави Shoply с това съдържание, прочетете каква информация използва Shoply, за да отговаря на въпросите на клиентите.
Какво се случва, ако обхождащият бот е блокиран?
- Обхожданията се провалят. Shoply не може да извлече вашите страници или продуктови данни.
- AI продължава да отговаря според последното успешно обхождане. Купувачите могат да виждат стари цени, продукти, които сте премахнали, и остарели или грешни връзки. В един реален случай магазин преминава от сайт за разработка към продукционния си домейн, но защитната му стена блокира обхождащия бот, така че чатботът продължава да изпраща купувачите към стария сайт за разработка.
- „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, което означава, че собственикът на сайта е забранил заявката въз основа на нейния browser signature. Самото решение на Cloudflare за тази грешка сочи към Browser Integrity Check.
- Страница с предизвикателство “Just a moment…”, която един обхождащ бот не може да премине.
Как да разпозная обхождащия бот на Shoply?
Всяка заявка от обхождащия бот на Shoply използва този User-Agent:
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 адреси, така че allowlist по IP няма да работи надеждно.
Как се държи обхождащият бот
- Той обхожда само сайтовете, които сте конфигурирали в Shoply.
- Спазва robots.txt при прочитане на страници. Ако robots.txt блокира дадена страница, Shoply ще я пропусне, така че проверете дали не блокира страниците, от които искате AI да се учи.
- Щади сървъра ви: най-много 2 заявки едновременно, с 2 секунди забавяне между заявките.
- Броят на страниците е ограничен от вашия план в Shoply.
Кога работи обхождащият бот
- Автоматично по график. Колко често зависи от вашия план.
- Когато натиснете “Recrawl Now” в администрацията на Shoply.
- На всеки 2 дни, докато обхожданията продължават да се провалят. Shoply опитва автоматично отново, така че след като добавите правилото за позволяване, следващият опит или ръчното повторно обхождане ще прихване сайта ви.
Как да позволя Shoply в Cloudflare?
В Cloudflare създайте custom rule с действие Skip. Skip rule позволява на съвпадащите заявки да заобиколят проверките за сигурност, които иначе биха ги блокирали или им показали предизвикателство.
Стъпка 1: Създайте skip rule
-
В таблото на Cloudflare отворете уебсайта си (zone) и отидете на Security rules.
-
Изберете Create rule > Custom rules.
-
В Rule name въведете ясно име, например
Allow Shoply AI crawler. -
Под When incoming requests match задайте:
- Field: User Agent
- Operator: contains
- Value:
ShoplyAIBot
Ако предпочитате редактора за изрази, използвайте:
text(http.user_agent contains "ShoplyAIBot") -
Под Then take action > Choose action изберете Skip.
-
Изберете какво да се пропуска (вижте таблицата по-долу).
-
Оставете Log matching requests включено. Така заявките на Shoply ще се появяват в Security Events на Cloudflare, което помага при отстраняване на проблеми.
-
Изберете Deploy.
Стъпка 2: Изберете какво да се пропуска
| Опция за пропускане в Cloudflare | Да се пропуска ли? | Защо |
|---|---|---|
| Browser Integrity Check | Да | Причинява error 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 показва, че managed rule блокира Shoply | Запазва правилата на Cloudflare за модели на атаки активни за всички останали |
| All remaining custom rules | Ако имате други custom rules, които блокират ботове | Спира по-късните ви custom rules да блокират Shoply |
Започнете с редовете с „Да“. Ако Security Events на Cloudflare все още показва, че заявките на Shoply са блокирани или им е показано предизвикателство, събитието ще ви каже коя функция е сработила. Добавете тази функция към skip rule.
Стъпка 3: Поставете правилото първо
Cloudflare оценява custom rules по ред, от първата към последната. Ако правило над вашето блокира заявката или ѝ показва предизвикателство, вашето skip rule никога няма да се изпълни. Преместете правилото на Shoply най-горе в списъка си с custom rules.
Ако използвате Bot Fight Mode (безплатен план на Cloudflare)
Bot Fight Mode не може да бъде заобиколен със skip rule. Cloudflare го изпълнява отделно от custom rules, така че skip и allow rules нямат ефект върху него. Имате две възможности:
- Изключете Bot Fight Mode: отидете на Security > Settings, филтрирайте по Bot traffic и изключете Bot fight mode.
- Надстройте до Pro план или по-висок и използвайте Super Bot Fight Mode, който поддържа skip rules.
Ако е включен Under Attack mode
Under Attack mode показва страница с предизвикателство на всеки посетител, а обхождащите ботове не могат да я преминат. Cloudflare препоръчва да го използвате само по време на активна атака. Shoply няма да може да прочита сайта ви, докато не бъде изключен.
Безопасно ли е да се позволява user agent?
Всеки клиент може да твърди, че е ShoplyAIBot, така че това правило пропуска някои проверки за ботове за всеки, който изпрати този User-Agent. За да сведете риска до минимум, пропускайте само функциите, които блокират обхождащия бот, и запазете защитите за вход, checkout и администраторския панел. Shoply никога не се нуждае от достъп до тези области.
Как да позволя Shoply в други защитни стени?
Принципът е един и същ навсякъде: позволете заявки, чийто User-Agent съдържа ShoplyAIBot. Точните менюта се различават според продукта, затова следвайте документацията на вашия доставчик за създаване на правило за allow или exception. Често срещани места за проверка:
- Cloud web application firewalls (WAFs) като Sucuri, AWS WAF и Akamai: добавете allow или exception rule, което съвпада със заглавката User-Agent.
- Разширения за сигурност за WordPress като Wordfence: потърсете настройки за блокиране на ботове, rate limiting или блокиране по user-agent.
- Филтри на ниво сървър като правила на ModSecurity и блокиращи ботове инструменти, предоставени от хостинг компанията ви: добавете user agent-а в whitelist или помолете хоста си да го направи.
Magento магазини: уверете се, че правилото обхваща и POST заявки към /graphql. Някои защитни стени третират API заявките отделно от прегледите на страници. Ако страниците са позволени, но /graphql е блокиран, продуктовият ви каталог няма да се обновява.
Не разчитайте на allowlist по IP. Обхождащият бот на Shoply не използва фиксирани IP адреси.
Как да проверя, че е проработило?
- В администрацията на Shoply натиснете Recrawl Now.
- Изчакайте обхождането да завърши, след което проверете дали “Last updated” в таблото ви е нулирано до скорошен момент.
- Задайте на чатбота въпрос за продукт или страница, които сте променили наскоро, и потвърдете, че отговорът и връзката съответстват на реалния ви сайт.
Можете също да направите бърза проверка от собствения си компютър. Заменете https://your-site.com/ с адреса на вашия уебсайт:
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 ключове.
