Прежде чем сканировать страницы товаров: для каталога товаров лучшим решением будет XML-фид товаров (формат Google Merchant) или загруженный файл с товарами в формате XLSX или CSV с использованием функции AI Search. Этот способ работает без прямой интеграции, не расходует символы обучения и предотвращает устаревание цен и остатков между сканированиями. См. Интеграция с фидом товаров и AI Search. Используйте описанный ниже метод скрапинга для информационных страниц либо для товаров, если фид или файл использовать невозможно.
Вам не нужна прямая интеграция, чтобы обучить функционального чат-бота для вашего интернет-магазина. С помощью одного лишь скрапинга сайта - при правильной настройке - ChatLab сможет отвечать на подробные вопросы о ваших товарах, доставке, возвратах и правилах магазина.
В этом руководстве описана рекомендуемая схема: два отдельных обучения (информационные страницы и база товаров), а также два уровня фильтрации, позволяющие поддерживать порядок в каждом из них.
Интеграция или скрапинг - что дает каждый вариант
- Скрапинг (без интеграции) - статический снимок ваших страниц. Отлично подходит для описаний товаров, характеристик, ответов на частые вопросы (FAQ), условий доставки и возврата, а также общей информации о магазине. Он не знает актуальных остатков на складе и статусов заказов.
- Интеграция - может добавить поиск товаров и проверку заказов в зависимости от провайдера и включенных действий. Поиск по каталогу может использовать синхронизированный индекс, поэтому проверьте периодичность обновления конкретной интеграции, прежде чем обещать отображение остатков в реальном времени.
Лучшие результаты дает разделение этих двух подходов: скрапинг для информационных страниц, а интеграция, товарный фид или файл с товарами - для самих товаров. Если ни один из вариантов недоступен, грамотно настроенный скрапинг станет надежной базой.
Если ваш магазин позже подключит поддерживаемую интеграцию e-commerce (WooCommerce, Shopify, PrestaShop и другие), синхронизированный каталог появится отдельно в разделе Training > E-commerce catalog (Обучение > Каталог e-commerce) на вкладках Products (Товары) и Categories (Категории). Этот каталог синхронизируется через интеграцию - он отличается от описанных здесь собранных страниц, которые остаются статическим снимком.
Где найти настройки фильтрации
Сначала создайте своего чат-бота и проверьте лимиты обучения. Выберите его и перейдите в Training > Links (Обучение > Ссылки), нажмите Add New Training: Website (Добавить новое обучение: Веб-сайт), затем разверните Advanced settings (Расширенные настройки). Внутри вы найдете блоки настроек, которые используются на протяжении всего руководства: URL Filtering (Фильтрация URL: Include only URLs that contain / Exclude URLs that contain), Query Parameters, Content Filtering (Фильтрация контента) и Scraping Behavior.
Два уровня фильтрации (ключевая концепция)
ChatLab предоставляет два независимых уровня контроля в расширенных настройках обучения сайта. Их легко перепутать, поэтому важно понимать разницу между ними:
- Фильтрация URL - какие страницы попадают в обучение. Определяет, какие адреса сохраняет краулер. Настраивается с помощью параметров Include only URLs that contain (Включать только URL, содержащие) и Exclude URLs that contain (Исключать URL, содержащие) - это подстроки URL, разделенные точкой с запятой, например
/product;/produkt. - Фильтрация элементов - какие части каждой сохраненной страницы становятся контентом. Применяется после фильтрации URL и только к тем страницам, которые прошли первый этап. Настраивается с помощью полей Include element IDs (Включить ID элементов) и Exclude element IDs (Исключить ID элементов) - это CSS-селекторы:
#idдля идентификаторов,.classnameдля классов,[data-hook="description"]для атрибутов, разделенные точкой с запятой, например.product-description;#tab-description.
Представьте это в виде воронки: фильтрация URL отбирает нужные страницы, а фильтрация элементов очищает каждую страницу, оставляя только ценный контент.
Сохраняйте меньше контента, но более ценного
RAG-чат-боты работают эффективнее всего, когда каждый фрагмент данных сфокусирован на конкретной теме. На странице товара ценность представляет само описание товара - окружающие его меню, футеры, блоки «похожие товары» и допродажи являются шумом, который ухудшает точность поиска ответов и расходует символы обучения. Обучайте бота только на контенте самого товара.
Настройте два отдельных обучения
Разделение сайта вашего магазина на два источника позволяет поддерживать порядок в каждом из них и легко корректировать настройки. В каждом обучении используется своя фильтрация URL (уровень 1) и фильтрация элементов (уровень 2).
1. Информационные страницы
Цель: сохранить страницы, рассказывающие о вашем бизнесе («О нас», контакты, условия доставки, возврата, гарантии, оплаты, политика конфиденциальности, FAQ).
- Уровень 1 - фильтрация URL: в поле Exclude URLs that contain перечислите шаблоны страниц товаров и категорий, например
/product;/products;/shop;/category;/collections. Это исключит страницы товаров из данного обучения. - Уровень 2 - фильтрация элементов: здесь настройки обычно минимальны. При желании используйте Exclude element IDs, чтобы убрать сквозную шапку и футер сайта, например
header;footer;#navigation. - Для предсказуемого охвата страниц рекомендуется запускать обучение на основе вашей sitemap (карты сайта).
2. База товаров
Цель: одно сфокусированное обучение по страницам товаров, содержащее только информацию о самих товарах.
- Уровень 1 - фильтрация URL: в поле Include only URLs that contain укажите только шаблоны адресов товаров, например
/product;/products. Все остальные страницы будут пропущены. - Уровень 2 - фильтрация элементов: именно здесь вы оставляете исключительно контент товара. Используйте Include element IDs, чтобы захватить блок с информацией о товаре, и/или Exclude element IDs, чтобы вырезать внешние элементы магазина (шапку, футер, навигацию, похожие товары, апселлы, боковые панели). Примеры селекторов для разных платформ приведены ниже.
Протестируйте каждое обучение перед масштабированием
- Начните с режима Single address (Один адрес) и выберите типичную информационную страницу или страницу товара, применив соответствующие фильтры элементов.
- Нажмите Start scanning the website (Начать сканирование сайта) и дождитесь статуса Training completed (Обучение завершено). Небольшой источник может обработаться за несколько минут; сканирование более крупных сайтов занимает больше времени и продолжается в фоновом режиме.
- В разделе Training > Links нажмите View (Просмотр) и убедитесь, что название товара, описание, важные характеристики, контекст цены и полезные ссылки сохранились. Исключение изображений может удалить ссылки, необходимые для карточек товаров.
- Примените проверенную конфигурацию к соответствующей карте сайта sitemap или полному сканированию. Используйте непересекающиеся шаблоны URL, чтобы информационное и товарное обучения не дублировали друг друга.
- Проверьте ответы бота на вопросы о товарах, доставке и возврате в разделе Overview (Обзор). Настройте регулярное переобучение, если оно доступно, и предупредите посетителей о необходимости проверять актуальные цены и наличие на странице магазина.
Селекторы элементов по платформам (уровень 2 - отправные точки)
Ниже приведены примеры значений для полей Include element IDs и Exclude element IDs (уровень 2). Это CSS-селекторы, разделенные точкой с запятой. Селекторы различаются в зависимости от используемой темы оформления - обязательно сверяйте их со своим магазином и вносите корректировки. Общий принцип всегда одинаков: включайте блок с информацией о товаре, исключайте сквозные элементы сайта и блоки кросс-продаж.
Эти примеры являются ориентировочными вариантами, зависящими от темы оформления, а не гарантированными селекторами для всей платформы. Если вы не уверены, попросите разработчика вашего сайта изучить структуру страницы конкретного товара. Разделы документации структура тем Shopify и кастомизация шаблонов WooCommerce объясняют, почему структура разметки может отличаться. Селектор, который ничего не находит или захватывает только блок описания, может пропустить названия, цены, варианты или изображения; всегда проверяйте результат с помощью предварительного просмотра, как описано выше.
WooCommerce
- Include element IDs:
.summary.entry-summary;.woocommerce-product-details__short-description;#tab-description - Exclude element IDs:
header;footer;.related.products;.up-sells;.cross-sells;#secondary
Shopify
- Include element IDs:
.product__info;.product-single__description;.rte - Exclude element IDs:
header;footer;.announcement-bar;.product-recommendations
PrestaShop
- Include element IDs:
.product-information;.product-description;#description - Exclude element IDs:
#header;#footer;#_desktop_top_menu;.block-categories;.featured-products;#search_filters
Magento / Adobe Commerce
- Include element IDs:
.product-info-main;.product.attribute.description;#description - Exclude element IDs:
.page-header;.page-footer;.nav-sections;.block.related;.block.upsell;.sidebar
Shoper
- Include element IDs:
.productfull;.productfull__description;#product-description - Exclude element IDs:
.header;.footer;.navbar;.mainmenu;.product-suggested;.basket
CS-Cart
- Include element IDs:
.ty-product-block;.ty-product-feature;.ty-wysiwyg-content - Exclude element IDs:
.ty-header;.ty-footer;.ty-menu;.ty-product-block__advanced-list;.ty-mainbox-title
IdoSell / IAI
- Include element IDs:
#projector_longDescription;.product_description;#detail_atributes - Exclude element IDs:
#header;#footer;#menu;.suggestedProducts;.breadcrumb
OpenCart
- Include element IDs:
#tab-description;#product .description;.product-description - Exclude element IDs:
#header;#footer;#menu;#column-left;#column-right;.related
BigCommerce
- Include element IDs:
.productView-description;.productView-details;#tab-description - Exclude element IDs:
.header;.footer;.navPages;.productCarousel;.sidebar
Shopware
- Include element IDs:
.product-detail-name;.product-detail-description;.product-detail-description-text - Exclude element IDs:
.header-main;.footer-main;.nav-main;.product-detail-cross-selling;.cms-element-product-slider
Wix Stores
- Include element IDs:
[data-hook="description"];[data-hook="product-description"];[data-hook="info-section"] - Exclude element IDs:
header;footer;[data-hook="header"];[data-hook="related-products"]
Другие платформы (osCommerce, Abicart, Selly, RedCart, AtomStore и другие)
Применяется тот же принцип: откройте страницу товара, найдите контейнер, содержащий название товара, описание и характеристики, укажите его в Include element IDs, а сквозную шапку сайта, футер, меню навигации, боковые панели и блоки с рекомендациями поместите в Exclude element IDs.
Советы
- Выберите в настройках бота модель искусственного интеллекта, подходящую для задач e-commerce.
- Регулярно запускайте повторное обучение, чтобы описания оставались актуальными (скрапинг создает статичный снимок).
- Разделяйте информационное и товарное обучение - это позволит настраивать фильтры URL и элементов для каждого из них независимо.