Konfiguracja skrapowania
Skrapowanie treści to proces automatycznego pobierania i przetwarzania zawartości Twojej witryny internetowej. Prawidłowa konfiguracja skrapowania jest kluczowa dla jakości wyników wyszukiwania AI, ponieważ to właśnie pobrane treści stanowią bazę wiedzy, na której opiera się generowanie odpowiedzi.

Dodawanie adresów URL
W portalu zarządzania przejdź do swojego projektu i otwórz sekcję Knowledge base -> Sources. Pierwszym krokiem jest podanie adresów URL stron, które mają zostać pobrane. Możesz dodać pojedyncze adresy URL lub skorzystać z opcji automatycznego odkrywania podstron, podając adres główny witryny. System przejdzie przez strukturę linków na stronie i zidentyfikuje wszystkie dostępne podstrony. Możesz również zaimportować listę adresów URL z pliku sitemap.xml.
Każdy adres website w projekcie musi być unikalny. WebSpeaker traktuje każdy wpis jako osobny zakres skrapowania, więc dodanie dwa razy tego samego adresu tylko dublowałoby konfigurację i pracę crawlera.
Ustawienie Sitemap URL
Każdy wpis website może opcjonalnie zawierać pole Adres URL mapy witryny (opcjonalnie). Jeśli je ustawisz, WebSpeaker najpierw spróbuje pobrać listę stron właśnie z tej sitemap, a dopiero później przejdzie do automatycznego odkrywania. To dobre rozwiązanie dla większych serwisów albo wtedy, gdy chcesz mieć większą kontrolę nad zakresem crawlownych stron.
Adres sitemap musi być poprawnym adresem http lub https i musi
pozostawać na tym samym hoście co skonfigurowany adres website.
Podczas zapisu konfiguracji WebSpeaker waliduje sitemap i pokazuje,
ile adresów URL zostało w niej wykrytych.
Wybór typu crawlera
W tej samej sekcji Zaawansowane, obok pola Adres URL mapy witryny (opcjonalnie), każdy wpis website ma też ustawienie Typ crawlera (Crawler type). Określa ono, jakiej strategii WebSpeaker używa do znajdowania i odczytywania stron danej witryny:
- Automatycznie (domyślnie) — WebSpeaker najpierw próbuje skonfigurowanej sitemap, jeśli ją podano, potem sprawdza, czy witryna jest oparta na WordPressie, następnie samodzielnie szuka sitemap, a na końcu przechodzi do śledzenia linków na stronie. Zostaw tę opcję, chyba że masz konkretny powód, by wymusić jedną strategię.
- Ogólny crawler — odkrywa strony, śledząc linki od adresu website, tak jak robiłby to odwiedzający witrynę. Wybierz tę opcję, gdy Twoja witryna nie ma wiarygodnej sitemap.
- Mapa strony — odczytuje adresy URL bezpośrednio z sitemap, zamiast śledzić linki. Wybierz tę opcję, gdy Twoja witryna publikuje dokładną sitemap i zależy Ci, aby crawling trzymał się adresów w niej podanych.
- WordPress — odczytuje treść przez REST API WordPressa, zamiast renderować strony. Wybierz tę opcję dla witryn opartych na WordPressie, aby skrapowanie korzystało ze strukturalnych danych wpisów i stron.
Jeśli wymuszony crawler Mapa strony albo WordPress nie znajdzie w ten sposób użytecznej treści, WebSpeaker automatycznie przełącza się na crawler ogólny dla danej witryny, aby skrapowanie mimo to się zakończyło.
Witryny WordPress zwykle pobierają treść przez REST API WordPressa. Jeśli API nie zwróci treści dla danej strony albo zwrócona treść nadal zawiera pozostałości znaczników kreatora stron, WebSpeaker przełącza się na pobranie publicznej strony bezpośrednio i wydobycie treści z wyrenderowanego HTML. Dzięki temu baza wiedzy pozostaje kompletna nawet wtedy, gdy wtyczka lub motyw nie udostępniają pełnej treści przez API.
Wiele website w jednym projekcie
W jednym projekcie możesz skonfigurować wiele wpisów website. To zalecany sposób na obsługę różnych sekcji tego samego serwisu, jeśli wymagają innych zakresów crawl lub innych reguł skrapowania.
Na przykład możesz dodać jeden wpis dla https://example.com/ z własną
sitemapą i drugi wpis dla https://example.com/blog/ z inną sitemapą
albo innymi regułami pomijania URL-i. Każdy wpis może mieć własne:
- Adres URL mapy witryny (opcjonalnie)
- Typ crawlera
- selektory CSS
- wzorce wykluczeń URL
- hooki JavaScript
- selector daty i limit wieku treści
To daje większą kontrolę niż próba łączenia wielu źródeł sitemap w jednym wpisie website. Taka konfiguracja jest też czytelniejsza, gdy różne sekcje serwisu działają inaczej.
Selektory CSS
Selektory CSS pozwalają wskazać systemowi, które części strony
zawierają istotne treści, a które powinny zostać pominięte.
Domyślnie system próbuje automatycznie zidentyfikować główną treść
strony, jednak dla lepszych rezultatów warto zdefiniować własne
selektory. Możesz określić selektor wskazujący na element
zawierający główną treść (np. article, main, .content) oraz
selektory elementów do wykluczenia (np. nav, footer,
.sidebar). Precyzyjne selektory eliminują szum z nawigacji,
stopek i elementów bocznych, co znacząco poprawia jakość indeksu
wyszukiwania.
Wzorce wykluczeń URL
Nie wszystkie strony Twojej witryny powinny być indeksowane.
Wzorce wykluczeń URL pozwalają na automatyczne pomijanie stron
pasujących do określonych reguł. Możesz na przykład wykluczyć
strony wyników wyszukiwania, panele administracyjne, strony
logowania lub strony z dynamicznymi parametrami. Wzorce obsługują
symbole wieloznaczne, dzięki czemu możesz zdefiniować reguły
takie jak /admin/* lub *?page=*, aby wykluczyć całe grupy
stron jednocześnie.
Hooki JavaScript
W przypadku stron dynamicznie generowanych za pomocą JavaScript, standardowe skrapowanie może nie wystarczyć do pobrania pełnej treści. WebSpeaker oferuje możliwość konfiguracji hooków JavaScript, które wykonują się przed ekstrakcją treści ze strony. Dzięki temu możesz na przykład poczekać na załadowanie określonego elementu, kliknąć przycisk rozwijający ukrytą treść lub przewinąć stronę, aby załadować dodatkowe sekcje. Hooki definiuje się jako fragmenty kodu JavaScript w konfiguracji skrapowania.
Limity wieku treści
WebSpeaker pozwala ustawić limit wieku treści, co oznacza, że strony opublikowane dawniej niż wskazana liczba miesięcy są automatycznie pomijane podczas skrapowania. Ta funkcja jest przydatna dla witryn z dużym archiwum nieaktualnych treści, takich jak portale informacyjne czy blogi, gdzie stare artykuły nie są już istotne. Dzięki ustawieniu limitu wieku masz pewność, że w bazie wiedzy znajdą się tylko aktualne treści, a odpowiedzi AI będą oparte na najnowszych informacjach.
W polu Selektor daty możesz wskazać selektor CSS elementu
HTML, który zawiera datę publikacji na Twoich stronach
(np. time.published, .post-date). Scraper odczytuje datę
z tego elementu i porównuje ją z limitem wieku, aby zdecydować,
czy strona powinna zostać uwzględniona.
Zaplanowane odświeżanie
Jeśli treści na Twojej stronie zmieniają się regularnie, możesz zautomatyzować uruchamianie skrapowania zamiast startować je ręcznie za każdym razem. W portalu zarządzania otwórz Knowledge base -> Sources i przejdź do zakładki Zaplanowane odświeżanie.
Do wyboru są trzy tryby:
- Ręcznie — skrapowanie uruchamia się tylko wtedy, gdy zrobisz to ręcznie.
- Codziennie — WebSpeaker uruchamia nowe skrapowanie raz dziennie o wybranej godzinie.
- Co tydzień — WebSpeaker uruchamia nowe skrapowanie raz w tygodniu w wybrany dzień tygodnia i o wybranej godzinie.
W trybach automatycznych wybierasz godzinę oraz strefę czasową, według których ma być liczony harmonogram. Tryb tygodniowy wymaga także wyboru dnia tygodnia. Harmonogram ma dokładność do godziny, więc nie ustawiasz minut.
Każde zaplanowane uruchomienie tworzy nową kolekcję, tak samo jak start ręczny. Aktualnie aktywna kolekcja nadal obsługuje użytkowników, dopóki nowe skrapowanie się nie zakończy i system nie aktywuje zaktualizowanej kolekcji. Dzięki temu możesz regularnie odświeżać bazę wiedzy bez przerywania działania wyszukiwania.
Jeśli w chwili kolejnego terminu skrapowanie już trwa, WebSpeaker nie uruchomi drugiego równoległego procesu. W tej samej zakładce możesz też sprawdzić pola Ostatnie odświeżenie, Ostatni wynik i Następne odświeżenie, aby szybko ocenić stan harmonogramu.