Scraping konfigurieren
Das Content-Scraping ist die Grundlage für die KI-gestützte Suche in WebSpeaker. Durch die richtige Konfiguration stellen Sie sicher, dass alle relevanten Inhalte Ihrer Website erfasst und für die Suche aufbereitet werden. In diesem Abschnitt erfahren Sie, wie Sie URLs hinzufügen, CSS-Selektoren definieren und Scraping-Regeln einrichten.

URLs hinzufügen
Im Verwaltungsportal navigieren Sie zu Ihrem Projekt und öffnen den Bereich Knowledge base -> Sources. Hier können Sie die Start-URLs eingeben, von denen aus der Scraper Ihre Website durchsucht. Sie können einzelne URLs oder Sitemaps angeben. Der Scraper folgt automatisch internen Links, um weitere Seiten zu entdecken. Achten Sie darauf, alle relevanten Einstiegspunkte anzugeben, damit keine wichtigen Inhalte übersehen werden.
Jede Website-URL in einem Projekt muss eindeutig sein. WebSpeaker behandelt jeden Eintrag als eigenen Scraping-Bereich. Wenn dieselbe Root-URL mehrfach eingetragen wird, würde das nur Konfiguration und Crawling-Aufwand duplizieren.
Sitemap-URL konfigurieren
Jeder Website-Eintrag kann optional eine Sitemap URL enthalten. Wenn Sie sie angeben, versucht WebSpeaker zuerst, Seiten-URLs aus genau dieser Sitemap zu laden, bevor auf automatische Erkennung zurückgefallen wird. Das ist besonders nützlich für größere Websites oder wenn Sie den Umfang des Crawlings genauer steuern möchten.
Die Sitemap-URL muss eine gültige http- oder https-Adresse sein und
auf demselben Host liegen wie die konfigurierte Website-URL. Beim
Speichern der Konfiguration validiert WebSpeaker die Sitemap und zeigt
an, wie viele Seiten-URLs darin erkannt wurden.
Crawler-Typ wählen
Im selben Bereich Advanced, direkt neben dem Feld Sitemap URL, hat jeder Website-Eintrag auch die Einstellung Crawler type. Sie bestimmt, welche Strategie WebSpeaker verwendet, um Seiten dieser Website zu finden und zu lesen:
- Automatic (Standard) — WebSpeaker versucht zuerst die konfigurierte Sitemap, falls vorhanden, prüft dann, ob es sich um eine WordPress-Website handelt, sucht anschließend selbst nach einer Sitemap und greift zuletzt auf das Folgen von Links zurück. Belassen Sie diese Einstellung, sofern Sie keinen konkreten Grund haben, eine Strategie zu erzwingen.
- Generic crawler — entdeckt Seiten, indem er Links ausgehend von der Website-URL folgt, ähnlich wie ein Besucher die Website durchsuchen würde. Wählen Sie diese Option, wenn Ihre Website keine zuverlässige Sitemap hat.
- Sitemap — liest Seiten-URLs direkt aus einer Sitemap, statt Links zu folgen. Wählen Sie diese Option, wenn Ihre Website eine genaue Sitemap veröffentlicht und das Crawling sich eng an die dort gelisteten URLs halten soll.
- WordPress — liest Inhalte über die WordPress-REST-API, statt Seiten zu rendern. Wählen Sie diese Option für WordPress-Websites, damit das Scraping strukturierte Beitrags- und Seitendaten nutzt.
Wenn ein erzwungener Lauf mit Sitemap oder WordPress auf diesem Weg keine verwertbaren Inhalte findet, wechselt WebSpeaker für diese Website automatisch zum generischen Crawler, damit das Scraping trotzdem abgeschlossen wird.
WordPress-Websites beziehen ihre Inhalte normalerweise über die WordPress-REST-API. Liefert die API für eine Seite keinen Inhalt, oder enthält der gelieferte Inhalt noch Reste von Page-Builder-Markup, weicht WebSpeaker darauf aus, die öffentliche Seite direkt abzurufen und den Inhalt aus dem gerenderten HTML zu extrahieren. So bleibt Ihre Wissensbasis auch dann vollständig, wenn ein Plugin oder Theme nicht alle Inhalte über die API bereitstellt.
Mehrere Website-Einträge in einem Projekt
Sie können mehrere Website-Einträge innerhalb eines Projekts anlegen. Das ist der empfohlene Weg, um verschiedene Bereiche derselben Website abzubilden, wenn sie unterschiedliche Crawl-Bereiche oder Scraping- Regeln benötigen.
Zum Beispiel können Sie einen Eintrag für https://example.com/ mit
eigener Sitemap und einen zweiten Eintrag für https://example.com/blog/
mit einer anderen Sitemap oder anderen Skip-Regeln anlegen. Jeder
Eintrag kann eigene Einstellungen haben, zum Beispiel:
- Sitemap URL
- Crawler type
- CSS-Selektoren
- Skip-URL-Muster
- JavaScript-Hooks
- Date-Selector und Altersgrenze für Inhalte
Damit haben Sie mehr Kontrolle, als wenn Sie mehrere Sitemap-Quellen in einen einzigen Website-Eintrag pressen. Außerdem bleibt die Konfiguration übersichtlicher, wenn verschiedene Bereiche der Website unterschiedlich funktionieren.
CSS-Selektoren definieren
CSS-Selektoren bestimmen, welche Bereiche einer Webseite extrahiert
werden sollen. Standardmäßig versucht WebSpeaker, den Hauptinhalt
automatisch zu erkennen. Für genauere Ergebnisse können Sie jedoch
benutzerdefinierte Selektoren angeben. Definieren Sie einen Selektor
für den Hauptinhaltsbereich (z. B. article, main oder
.content), um irrelevante Elemente wie Navigation, Footer oder
Seitenleisten auszuschließen. Sie können auch Selektoren angeben,
deren Inhalte explizit ignoriert werden sollen.
URL-Muster ausschließen
Nicht alle Seiten Ihrer Website sind für die Suche relevant. Mit
Skip-URL-Mustern können Sie bestimmte Pfade oder Muster vom
Scraping ausschließen. Verwenden Sie reguläre Ausdrücke oder
Glob-Muster, um beispielsweise Login-Seiten, Verwaltungsbereiche
oder doppelte Inhalte auszuschließen. Typische Ausschlüsse sind
Pfade wie /admin/*, /login, /warenkorb oder URL-Parameter
wie ?page= für paginierte Inhalte.
JavaScript-Hooks
Für Websites, die Inhalte dynamisch über JavaScript laden, bietet WebSpeaker die Möglichkeit, JS-Hooks zu konfigurieren. Diese Hooks werden vor der Inhaltsextraktion ausgeführt und können beispielsweise dafür sorgen, dass alle dynamischen Inhalte vollständig geladen sind, bevor der Scraper den Text extrahiert. Dies ist besonders nützlich für Single-Page-Applications oder Websites, die Inhalte per AJAX nachladen.
Altersgrenze für Inhalte
Sie können eine Altersgrenze festlegen, um Seiten auszuschließen, die vor langer Zeit veröffentlicht wurden. Wenn Sie eine Altersgrenze in Monaten festlegen, überspringt der Scraper alle Seiten, deren Veröffentlichungsdatum älter als der angegebene Schwellenwert ist. Dies ist besonders hilfreich für Websites mit einem großen Archiv veralteter Inhalte, wie Nachrichtenportale oder Blogs, in denen alte Artikel nicht mehr relevant sind. Durch das Setzen einer Altersgrenze stellen Sie sicher, dass nur aktuelle Inhalte in Ihrer Wissensbasis enthalten sind und Besucher aktuelle Antworten von der KI-Suche erhalten.
Verwenden Sie das Feld Date Selector, um einen CSS-Selektor
anzugeben, der auf das HTML-Element mit dem Veröffentlichungsdatum
Ihrer Seiten verweist (z. B. time.published, .post-date). Der
Scraper liest das Datum aus diesem Element und vergleicht es mit
der Altersgrenze, um zu entscheiden, ob die Seite aufgenommen
werden soll.
Geplante Aktualisierung
Wenn sich die Inhalte Ihrer Website regelmäßig ändern, können Sie Scraping-Läufe automatisieren, statt sie jedes Mal manuell zu starten. Öffnen Sie im Verwaltungsportal Knowledge base -> Sources und wechseln Sie zum Tab Scheduled Refresh.
Sie können zwischen drei Modi wählen:
- Manual — Scraping wird nur gestartet, wenn Sie es selbst manuell auslösen.
- Daily — WebSpeaker startet einmal täglich zur gewählten Stunde einen neuen Scraping-Lauf.
- Weekly — WebSpeaker startet einmal pro Woche am gewählten Wochentag und zur gewählten Stunde einen neuen Scraping-Lauf.
Für automatische Modi wählen Sie die Stunde und die Zeitzone, nach der der Lauf geplant werden soll. Im wöchentlichen Modus wählen Sie zusätzlich den Wochentag. Der Zeitplan arbeitet mit einer Auflösung von einer Stunde, daher wird keine Minute ausgewählt.
Jeder geplante Lauf erzeugt eine neue Collection, genau wie ein manueller Lauf. Die aktuell aktive Collection bleibt für Besucher aktiv, bis der neue Lauf abgeschlossen ist und das System die aktualisierte Collection aktiviert. So können Sie Ihre Wissensbasis regelmäßig aktualisieren, ohne die Verfügbarkeit der Suche zu unterbrechen.
Falls zum nächsten geplanten Zeitpunkt bereits ein Scraping-Lauf aktiv ist, startet WebSpeaker keinen zweiten parallelen Lauf. Im selben Tab sehen Sie außerdem Last refresh, Last result und Next refresh, um den Zustand des Zeitplans schnell zu überprüfen.