ALLE PROJEKTESK
AUSGELIEFERT

CRAWLER DASHBOARD

Ein Werkzeug, mit dem ein Verzeichnis-Betreiber neue Einträge findet und SEO-Texte erzeugt – ohne eine Zeile Technik zu verstehen.

1.164Anbieter im Bestand
79Tabellen analysiert
12Crawl-Gebiete
0Kommandozeile nötig

Anforderungsaufnahme, Datenbank-Analyse, Architektur, komplette Umsetzung, Anleitung für den Kunden

Betreiber mehrerer regionaler Branchenverzeichnisse

// HINWEIS: Auftragsarbeit. Kundenname, Domains und Zugangsdaten sind hier bewusst ausgelassen; alle Zahlen beziehen sich auf die anonymisierte Bestandsanalyse.

Das Problem

Der Kunde betreibt mehrere regionale Branchenverzeichnisse mit über tausend Anbieter-Einträgen in einer gewachsenen PHP-Plattform mit 79 Tabellen. Zwei Dinge kosteten ihn dauerhaft Zeit: neue Betriebe zu finden und einzupflegen, und für jeden Eintrag einen brauchbaren SEO-Text zu schreiben. Beides ist stumpfe Fleißarbeit – und der Kunde ist ausdrücklich kein Techniker. Ein Tool, das eine Kommandozeile braucht oder bei dem ein Fehlklick die Live-Datenbank beschädigt, wäre unbrauchbar gewesen.

Der Ansatz

Eine eigenständige Next.js-Anwendung, die per Doppelklick startet und lokal beim Kunden läuft – kein Server, kein Login, keine offene Angriffsfläche. Sie schreibt in dieselbe Bestands-Datenbank, legt dort aber nur eigene Tabellen mit klarem Präfix an, statt bestehende zu verändern. Das Crawling läuft über Apify (Google Maps, Branchenverzeichnisse), die Texte über DeepSeek nach Mustern, die der Kunde selbst im Editor anpassen kann. Jeder gefundene Betrieb läuft vor der Veröffentlichung durch eine Dublettenprüfung gegen den Bestand, jeder Text durch einen Bereinigungs- und Prüf-Durchgang. Alles, was schiefgehen kann, ist umkehrbar: Ein Klick auf „Zurückziehen" stellt den vorherigen Zustand eines Anbieters wieder her.

Was dabei herauskam

Aus stundenlanger Handarbeit wurde ein Vorgang von wenigen Klicks: Gebiet und Kategorie wählen, Crawl starten, Stichprobe prüfen. Das Tool ist mit Bedienungsanleitung und Ein-Klick-Starter ausgeliefert; ein eingebauter Support-Chat beantwortet Bedienfragen direkt in der Oberfläche, sodass der Kunde für Rückfragen nicht auf mich angewiesen ist.

Was drin steckt

01

Crawling über fertige Actors

Google Maps und Branchenverzeichnisse laufen über Apify statt über selbstgebaute Scraper. Das hält die Quellen-Limits ein und spart die Wartung, die eigene Crawler dauerhaft kosten würden.

02

Dublettenprüfung vor der Veröffentlichung

Jeder Treffer wird über Google-Place-ID, normalisierte Telefonnummer und Name-plus-PLZ-Ähnlichkeit gegen den Bestand geprüft. Betriebe an Bezirksgrenzen tauchen in mehreren Gebieten auf – veröffentlicht werden sie trotzdem nur einmal.

03

Scan-Sperre gegen doppelte Kosten

Jeder Crawl kostet Guthaben. Wurde eine Kategorie in einem Gebiet schon gescannt, markiert die Oberfläche das und fragt nach, bevor erneut Geld ausgegeben wird.

04

SEO-Muster statt Prompt-Bastelei

Der Kunde stellt Aufbau, Tonalität, Ziel-Länge, Pflichtelemente und einen Beispieltext ein – global oder je Kategorie. Er formuliert Vorgaben in seinen Worten, das Prompting passiert dahinter.

05

Probetext vor dem Massenlauf

Bevor Texte für hunderte Anbieter erzeugt werden, lässt sich ein einzelner Probetext ansehen. Passt der Ton nicht, wird das Muster nachjustiert – bevor Kosten entstehen.

06

Textprüfung: Unicode und Werbeaussagen

Generierte Texte laufen durch einen Sanitizer, der unsichtbare Sonderzeichen entfernt und Typografie vereinheitlicht, und durch eine Prüfung auf unzulässige Werbeaussagen mit automatischem Korrekturdurchgang.

07

Fehlende Daten nachrecherchieren

Fehlt Website, E-Mail oder Telefon, wird der Wert vor der Filterprüfung im Web nachgeschlagen. Erst was dann noch unvollständig ist, wird aussortiert – mit angezeigter Begründung und der Möglichkeit, es doch zu veröffentlichen.

08

Support-Chat mit Systemwissen

Ein Chat-Assistent kennt jeden Bedienschritt und jeden Fachbegriff des Tools. Bedienfragen werden direkt in der Oberfläche beantwortet statt per Anruf.

09

Alles umkehrbar

Veröffentlichte Einträge und Texte lassen sich einzeln zurückziehen – beim Text wird der vorherige Zustand des Anbieters wiederhergestellt. Automatische Veröffentlichung ohne Rückfahrkarte wäre bei einem Live-Verzeichnis nicht vertretbar.

Eingesetzter Stack

Next.js (App Router)TypeScriptshadcn/uiTailwind CSS
MariaDBDrizzle ORMmysql2
ApifyDeepSeekExa
Lokaler Start per DoppelklickNode.js

Ähnliches Vorhaben? Schreib mir.

Ob SaaS-Plattform, KI-Integration oder ein internes Werkzeug, das jemandem den Tag zurückgibt – ich bringe Ideen schnell und professionell zum Laufen.