Webseiten
Öffentliche Webseiten können inklusive verlinkter PDF-Dokumente automatisch indexiert werden. Der Crawler folgt dabei den konfigurierten Regeln und extrahiert den Inhalt der Seiten für die Wissensdatenbank.
Grundkonfiguration
| Feld | Beschreibung |
|---|---|
| Start-URL | Die Basis-URL, ab der gecrawlt wird. Mehrere Start-URLs können angegeben werden. |
| Unterseiten indexieren | Aktiviert das automatische Crawlen aller verlinkten Unterseiten der Start-URL. |
| Zusätzliche URLs | Weitere Seiten, die indexiert werden sollen, aber nicht automatisch verlinkt sind. |
| Ausgeschlossene URLs | URLs, die beim Crawlen übersprungen werden sollen. Wildcards (z.B. *example.com/blog*) werden unterstützt. |
URL-Filterung mit Präfixen und Mustern
Neben der Start-URL können Sie präzise steuern, welche verlinkten Seiten indexiert werden sollen. Dies ermöglicht eine granulare Kontrolle über den Crawling-Umfang.
Verlinkte Seiten mit folgenden URL-Präfixen indexieren
Mit diesem Feld können Sie explizit definieren, welche URL-Bereiche beim Crawlen berücksichtigt werden sollen. Der Crawler folgt nur Links, die mit einem der angegebenen Präfixe übereinstimmen.
Beispiele:
https://www.example.ch/– Indexiert alle Seiten der Domainhttps://www.example.ch/de/– Indexiert nur deutschsprachige Seitenhttps://www.example.ch/de/produkte/– Beschränkt auf den Produktbereich
Anwendungsfälle:
- Mehrsprachige Websites: Nur bestimmte Sprachversionen indexieren
- Themenbereiche: Nur relevante Sektionen einer grossen Website erfassen
- Subdomain-Filterung: Mehrere Subdomains gezielt einschliessen
Verlinkte Seiten mit folgenden URLs oder Mustern ausschliessen
Dieses Feld erlaubt es, bestimmte URL-Bereiche vom Crawling auszuschliessen, selbst wenn sie unter einem indexierten Präfix liegen. Dies ist nützlich, um irrelevante oder sensible Bereiche auszusparen.
Beispiele:
https://www.siteA.ch/de/admin/– Schliesst den Admin-Bereich aus*/de/ueber-uns/*– Schliesst "Über uns"-Seiten im deutschen Bereich aus*/blog/archiv/*– Verhindert die Indexierung von Archiv-Seiten in allen Sprachversionen*?print=true– Schliesst Druckversionen von Seiten aus
Pattern-Syntax:
*– Platzhalter für beliebige Zeichen- Exakte URLs werden direkt ausgeschlossen
- Patterns mit
*ermöglichen flexible Muster
Verlinkte Dokumente
Zusätzlich zu den Webseiten können auch verlinkte Dokumente indexiert werden:
| Feld | Beschreibung |
|---|---|
| Verlinkte Dokumente indexieren | Aktiviert die Indexierung von verlinkten PDF- und Word-Dokumenten. |
| Zusätzliche Dokument-URLs | Weitere Dokument-Links, die indexiert werden sollen. |
| Ausgeschlossene Dokument-URLs | Dokument-Links, die beim Crawlen übersprungen werden sollen. |
Auch für verlinkte Dokumente steht die gleiche URL-Filterung wie bei Webseiten zur Verfügung:
- Dokumente mit folgenden URL-Präfixen indexieren: Nur Dokumente, die mit den angegebenen Präfixen übereinstimmen, werden indexiert
- Dokumente mit folgenden URLs oder Mustern ausschliessen: Bestimmte Dokumente können gezielt vom Crawling ausgeschlossen werden
Die Pattern-Syntax funktioniert identisch wie bei der URL-Filterung für Webseiten.
Alter der Inhalte
Über das maximale Seitenalter kann gesteuert werden, wie alte Inhalte berücksichtigt werden. Seiten, deren Veröffentlichungsdatum älter als die eingestellte Zeitspanne ist, werden beim Crawlen übersprungen.
Das Datum wird aus <time>-Elementen (datetime) oder gängigen Meta-Tags (z.B. article:published_time, og:published_time) ausgelesen. Seiten ohne erkennbares Datum werden nicht gefiltert.
Diese Funktion ist besonders bei Blogs oder News-Seiten nützlich, damit der Chatbot keine veralteten Inhalte verwendet.
Erweiterte HTML-Extraktion
Für Webseiten mit spezieller Struktur können CSS-Selektoren konfiguriert werden:
| Feld | Beschreibung |
|---|---|
| Content-Selektor | CSS-Selektor für den zu indexierenden Inhaltsbereich (z.B. main, article) |
| Exclude-Selektor | CSS-Selektor für Bereiche, die aus dem Inhalt ausgeschlossen werden sollen (z.B. Navigation, Footer) |
| Click-Selektor | CSS-Selektor für Elemente, die vor der Indexierung geklickt werden sollen |
| Wait-Selektor | CSS-Selektor, auf dessen Erscheinen gewartet wird (z.B. bei JavaScript-gerenderten Inhalten) |
| Custom Headers | Zusätzliche HTTP-Header für die Requests (z.B. für API-Keys) |
Authentifizierung
Für nicht öffentlich zugängliche Seiten kann eine Anmeldung konfiguriert werden:
| Methode | Beschreibung |
|---|---|
| Keine | Die Seite ist öffentlich zugänglich. |
| Basic Auth | HTTP-Basisauthentifizierung mit Benutzername und Passwort. |
Automatische Reindexierung
Webseiten können in regelmässigen Abständen automatisch neu indexiert werden:
| Intervall | Beschreibung |
|---|---|
| Nie | Manuell neu indexieren (Standard) |
| Täglich | Einmal pro Tag |
| Wöchentlich | Einmal pro Woche |
| Monatlich | Einmal pro Monat |
Automatische Metadaten-Extraktion
Beim Crawlen werden strukturierte Metadaten aus jeder Seite automatisch extrahiert und zusammen mit dem Inhalt im RAG-Prozess verwendet. Diese Metadaten helfen dem Chatbot, Antworten besser einzuordnen und präziser zu formulieren.
Folgende Metadaten werden automatisch ausgelesen:
- Breadcrumbs: Navigationspfad der Seite (z.B.
Home → Produkte → Software), aus JSON-LD (BreadcrumbList) oder gängigen CSS-Strukturen - Keywords: Schlüsselwörter aus dem
<meta name="keywords">-Tag - Autor: Name des Autors aus
<meta name="author">oder JSON-LD (author) - Dokumenttyp: Schema.org-Typ der Seite (z.B.
FAQPage,Article,Product) - Kategorie: Thematische Einordnung aus JSON-LD (
articleSection,category), Open Graph (article:section) oder<meta name="category">
Die extrahierten Metadaten sind im CMS unter jedem indexierten Dokument einsehbar.
Umgang mit einer Webseiten-Firewall
Wird der Crawler durch die Firewall einer Webseite blockiert (generiert den Fehler-Code 403: FORBIDDEN), kann in der Firewall eine Regel zum Erlauben des Crawlers eingerichtet werden. Dabei stehen zwei Optionen zur Verfügung:
-
Statische IP-Adressen: Der Bubble Chat Instanz können folgende statische IP-Adressen zugewiesen werden, welche in der Firewall der Whitelist hinzugefügt werden können:
- 34.65.11.159
- 34.65.50.222
- 34.65.164.143
-
Custom Header: Alternativ kann im CMS in der Webseiten-Konfiguration (unter Verschiedenes) ein benutzerdefinierter HTTP-Header (z.B.
X-Bubble-Token) konfiguriert werden, der von Bubble Chat bei ausgehenden Anfragen mitgesendet wird. In der Firewall kann Bubble Chat anhand dieses Headers der Whitelist hinzufügt werden.
Cloudflare
Wenn für die Firewall einer Webseite Cloudflare verwendet wird, kann in Cloudflare für den Chatbot eine Skip-Rule eingerichtet werden. Diese kann für die IP-Adressen oder auch für den Custom Header eingerichtet werden.
Wichtig: Dabei ist zu beachten, dass bei der Skip-Rule auch die Browser-Integritäts-Prüfung übersprungen wird, da der Crawler einen Headless Browser verwendet, welcher diese Prüfung nicht besteht.
Standardmässig werden maximal 300 Seiten pro Wissensquelle indexiert. Bei Erreichen dieses Limits wird eine Warnung angezeigt.