Wer eine Website betreibt, bekommt immer wieder dieselben Fragen: Öffnungszeiten, Preise, Lieferzeiten, Rückgabe. Der WP FAQ Bot beantwortet sie direkt auf der Website, aus den Texten, die dort schon stehen. Das Plugin ist eine Eigenentwicklung von Fragon Studios und läuft derzeit auf einer Website. Wenn Sie so einen Chatbot für Ihre eigene Website möchten, finden Sie das Angebot unter KI-Chatbot für Ihre Website.
Auf einen Blick
| Projekt | Eigenentwicklung, Fragon Studios |
| Stand | Im Einsatz auf einer Website |
| Technologien | PHP 8, WordPress, MySQL, OpenAI-kompatible Schnittstellen, JavaScript ohne Framework |
| Ergebnis | KI-Chatbot mit Vektorsuche in MySQL, läuft auf üblichem Shared Hosting |
Die Ausgangssituation
Betreiber von WordPress-Seiten wollen Besuchern schnell antworten, ohne dafür jemanden ans Telefon zu setzen. Die vorhandenen Chatbot-Plugins arbeiten entweder mit festen Frage-Antwort-Paaren, die jemand von Hand pflegen muss, oder sie hängen an einem bestimmten Onlinedienst: Die Daten verlassen den Server, es fallen monatliche Kosten an, und ein Wechsel ist mühsam.
Unser Ziel war ein Plugin, das die Inhalte der Website selbst einliest und daraus Antworten erzeugt. Es soll mit jedem Sprachmodell arbeiten, das die OpenAI-Schnittstelle versteht, und außer dem Sprachmodell keinen weiteren Dienst brauchen.
Die zentrale Entscheidung: Vektorsuche in MySQL
Damit ein Chatbot aus eigenen Inhalten antworten kann, sucht er zu jeder Frage zuerst die passenden Textstellen und gibt sie dem Sprachmodell mit. Dieses Verfahren heißt RAG (Retrieval-Augmented Generation). Üblich sind dafür eigene Vektordatenbanken wie Pinecone, Weaviate oder Qdrant. Für ein WordPress-Plugin ist das unpraktisch, weil die meisten WordPress-Hoster so eine Datenbank nicht anbieten.
Wir speichern die Vektoren deshalb direkt in MySQL und berechnen die Ähnlichkeit in PHP. Jeder Textabschnitt wird als Zahlenreihe abgelegt (pack('f*', ...$vector) in einer LONGBLOB-Spalte) und bei der Suche wieder ausgepackt. Die Suche vergleicht die Frage mit allen gespeicherten Abschnitten.
Das klingt langsam, reicht aber für die Größe üblicher Websites: Bei 1.000 bis 5.000 Textabschnitten liegt unser Richtwert für die Suche unter 500 ms. Eine zweite Datenbank oder ein zusätzlicher Dienst ist nicht nötig.
Für Ihr Projekt heißt das: Eine Vektorsuche braucht nicht zwingend eine Vektordatenbank. Bis etwa 10.000 Textabschnitte genügt eine gewöhnliche Datenbank, erst darüber lohnt sich eine spezialisierte Lösung.
Aufbau
Das Plugin besteht aus vier Teilen.
Indexer
Er liest Beiträge, Seiten und eigene Inhaltstypen ein, teilt sie in Abschnitte und lässt für jeden Abschnitt einen Vektor erzeugen. Wird ein Beitrag gespeichert oder gelöscht, aktualisiert sich der Index über die WordPress-Hooks save_post und delete_post von selbst.
Chat
Er nimmt die Frage über eine REST-Schnittstelle entgegen, sucht die passenden Abschnitte und lässt das eingestellte Sprachmodell daraus eine Antwort formulieren. Die Grundanweisung an das Modell lässt sich im Adminbereich ändern, damit Ton, Sprache und Verhalten zum Betrieb passen.
Antwort-Cache
Er merkt sich Fragen und Antworten auf zwei Ebenen: wortgleiche Fragen und Fragen, die anders formuliert sind, aber dasselbe meinen. Auf der Website, auf der das Plugin läuft, kommen nach einer Einlaufphase 60 bis 80 % der Antworten aus diesem Zwischenspeicher. Das ist der Wert einer einzelnen Installation, kein Durchschnitt über viele.
Adminbereich
Hier stehen die Zugangsdaten zum Sprachmodell (Adresse, Schlüssel, Modellname), die Grundanweisung, Schalter für einzelne Funktionen und eine Übersicht, welche Inhalte eingelesen sind.
Kosten im Griff durch den Antwort-Cache
Jede Anfrage an ein Sprachmodell kostet Geld. Ein gut besuchter Shop mit Chatbot kommt schnell auf spürbare Beträge, vor allem weil viele Besucher dieselbe Frage in anderen Worten stellen („Wie sind die Öffnungszeiten?“, „Wann habt ihr offen?“, „Bis wann ist geöffnet?“).
Der Cache erkennt, dass diese Fragen dasselbe meinen, und liefert die gespeicherte Antwort, solange die Ähnlichkeit über einem einstellbaren Schwellenwert liegt. Bei einer Quote von 60 bis 80 % sinkt die Zahl der bezahlten Anfragen auf zwei Fünftel bis ein Fünftel.
Für Ihr Projekt heißt das: Bevor Sie am Modell oder an der Länge der Anweisungen sparen, bauen Sie einen Cache ein, der auch ähnlich formulierte Fragen erkennt.
Schalter statt mehrerer Versionen
Ein kleiner Blog braucht keine Begrenzung der Anfragen pro Minute, ein stark besuchter Shop schon. Manche Betreiber wollen den Cache selbst einstellen, andere wollen nur einschalten und fertig.
Statt mehrere Ausgaben des Plugins zu pflegen, lässt sich jede Funktion einzeln ein- und ausschalten. So bleibt es bei einem Plugin und einer Codebasis.
Offen für jeden Anbieter
Das Plugin ist an keinen KI-Anbieter gebunden. Jeder Dienst, der die OpenAI-Schnittstelle anbietet, funktioniert, darunter Anthropic Claude, Google Gemini und selbst betriebene Modelle.
Einzustellen sind drei Werte: Adresse der Schnittstelle, Schlüssel und Modellname. Wer ein lokales Modell über Ollama betreibt, trägt http://localhost:11434/v1 ein. Dann verlässt keine Anfrage den eigenen Server. Dafür braucht es allerdings einen eigenen Server mit genug Leistung, auf Shared Hosting läuft ein lokales Modell nicht.
Für Ihr Projekt heißt das: Sie können den Anbieter wechseln, wenn sich Preise ändern, und einen Anbieter in der EU oder ein lokales Modell wählen. Ob der Einsatz der DSGVO entspricht, hängt vom gewählten Anbieter und dem Vertrag mit ihm ab.
Die Grenzen von Shared Hosting
Ein WordPress-Plugin muss auf einfachem Shared Hosting laufen. Dort gibt es weder Composer noch Node.js, Python oder Docker. Alles muss in PHP funktionieren und die WordPress-Datenbank nutzen.
Diese Grenze hat dem Aufbau gutgetan. Alle Abhängigkeiten sind im Plugin enthalten, die Daten liegen in eigenen Tabellen der WordPress-Datenbank, die Schnittstelle nutzt die REST-Infrastruktur von WordPress, und das Chatfenster ist reines JavaScript ohne Framework.
Die Installation besteht aus drei Schritten: Plugin hochladen, aktivieren, Schlüssel eintragen. Einen Zugang zum Server per Kommandozeile braucht es nicht.
Kennzahlen
Die Zeiten sind Richtwerte, an denen wir das Plugin ausrichten, keine Messreihe unter Last.
| Kennzahl | Wert |
|---|---|
| Textabschnitte im Index | 1.000 bis 5.000 |
| Suche nach passenden Abschnitten | unter 500 ms |
| Laden des Chatfensters | unter 100 ms |
| Erste Antwort | unter 2 Sekunden, einschließlich Anfrage an das Sprachmodell |
| Antwort aus dem Cache | unter 100 ms |
| Einlesen von 100 Beiträgen | unter 60 Sekunden |
| Anteil der Antworten aus dem Cache | 60 bis 80 % (eine Installation, nach Einlaufphase) |
| Zusätzliche Dienste | nur die Schnittstelle zum Sprachmodell |
| Hosting | übliches WordPress Shared Hosting |
Was Sie für Ihre Projekte mitnehmen können
Vektorsuche geht auch in MySQL
Für wenige tausend Dokumente reicht eine gewöhnliche Datenbank. Nach unserer Einschätzung liegt die Grenze bei etwa 10.000 Textabschnitten.
Der Cache bestimmt die laufenden Kosten
Die meisten Besucher stellen Varianten derselben Fragen. Ein Cache, der das erkennt, spart mehr als ein kleineres Modell.
Datenschutz gehört in den Entwurf
Kunden in der EU fragen, wo ihre Daten verarbeitet werden. Ein Plugin, das auf dem eigenen Server läuft und lokale Modelle zulässt, kann darauf eine klare Antwort geben.
WordPress kann mehr, als man ihm zutraut
Suche über Vektoren und ein Cache für ähnliche Fragen lassen sich in PHP auf üblichem Hosting umsetzen. Die engen Grenzen der Plattform zwingen zu sparsamem Code.
Häufige Fragen
Was ist der WP FAQ Bot?
Der WP FAQ Bot ist ein WordPress-Plugin, das Fragen von Besuchern direkt auf der Website beantwortet, aus den Texten, die dort schon stehen. Es ist eine Eigenentwicklung von Fragon Studios aus Linz und läuft derzeit auf einer Website.
Braucht ein KI-Chatbot für WordPress eine eigene Vektordatenbank?
Nein. Der WP FAQ Bot speichert die Vektoren direkt in MySQL und berechnet die Ähnlichkeit in PHP. Nach unserer Einschätzung genügt das bis etwa 10.000 Textabschnitte, erst darüber lohnt sich eine spezialisierte Vektordatenbank.
Läuft das Plugin auf gewöhnlichem Shared Hosting?
Ja. Es braucht nur PHP und die WordPress-Datenbank, alle Abhängigkeiten sind im Plugin enthalten. Die Installation besteht aus drei Schritten: Plugin hochladen, aktivieren, Schlüssel eintragen. Ein lokales Sprachmodell braucht dagegen einen eigenen Server.
Mit welchen KI-Anbietern arbeitet der WP FAQ Bot?
Mit jedem Dienst, der die OpenAI-Schnittstelle anbietet, darunter Anthropic Claude, Google Gemini und selbst betriebene Modelle, zum Beispiel über Ollama. Einzustellen sind Adresse der Schnittstelle, Schlüssel und Modellname.
Wie bleiben die laufenden Kosten eines KI-Chatbots niedrig?
Durch einen Zwischenspeicher für Antworten, der auch anders formulierte Fragen mit derselben Bedeutung erkennt. Auf der Website, auf der das Plugin läuft, kommen nach einer Einlaufphase 60 bis 80 % der Antworten aus diesem Zwischenspeicher. Das ist der Wert einer einzelnen Installation, kein Durchschnitt über viele.
Ist der Einsatz mit der DSGVO vereinbar?
Das hängt vom gewählten KI-Anbieter und dem Vertrag mit ihm ab. Das Plugin lässt Ihnen die Wahl: ein Anbieter in der EU oder ein lokales Modell auf dem eigenen Server, bei dem keine Anfrage den Server verlässt.
Der WP FAQ Bot ist eine Eigenentwicklung von Fragon Studios aus Linz.
