Eigenen Webkatalog oder Branchenverzeichnis erstellen: Schritt für Schritt
Allgemeine Webkataloge für das ganze Internet haben es heute schwer. Das Yahoo-Verzeichnis wurde Ende 2014 geschlossen, dmoz im März 2017. Curlie führt dmoz seither ehrenamtlich weiter. Wer heute einen allgemeinen Katalog betreibt, gewinnt Besucher vor allem mit einzelnen Rubriken, die jemand wirklich pflegt. Neue Verzeichnisse haben vor allem dann eine Chance, wenn sie ein klares Thema oder einen Ort haben: die Hundeschulen einer Region, die Betriebe eines Gewerbevereins, die Vereine einer Sportart. Sie sind nützlich, weil jemand die Einträge ausgewählt und geprüft hat.
Die Software ist der kleinste Teil der Arbeit. Ein Verzeichnis taugt so viel wie die Auswahl, die Prüfung und die Pflege dahinter. Diese Anleitung erklärt alle drei, egal womit Sie das Verzeichnis am Ende betreiben.
Stand: 16.10.2026. Zahlen wie „30 Einträge“ oder „zweimal im Jahr“ sind Faustregeln aus unserer Arbeit an Verzeichnissen, keine Messwerte.
Sie betreiben schon einen Katalog und müssen umziehen, etwa weil das alte Script unter PHP 8 nicht mehr läuft? Dann lesen Sie zuerst Bestehenden Webkatalog umziehen.
Sie planen ein Verzeichnis für eine Gemeinde oder eine andere öffentliche Stelle? Was dort zusätzlich gilt, steht unter Branchenverzeichnis für Gemeinden.
Jedes Verzeichnis besteht aus drei Teilen, ob es sich Webkatalog, Linkliste oder Branchenbuch nennt:
Struktur. Die Kategorien. Sie bestimmen, wo ein Besucher sucht und wie viele Klicks er bis zum Ziel braucht.
Bestand. Die Einträge. Jeder verweist auf eine Website und sagt in ein bis zwei Sätzen, was dort zu finden ist.
Ablauf. Der Weg, auf dem Einträge hineinkommen und wieder verschwinden: einsenden, prüfen, freischalten, regelmäßig kontrollieren.
Struktur und Bestand sieht jeder Besucher. Den Ablauf bemerkt man erst, wenn er fehlt: an Einträgen, die seit Monaten auf Freischaltung warten, und an Links, die ins Leere führen. Planen Sie deshalb alle drei Teile, bevor Sie anfangen. Die folgenden Abschnitte gehen sie der Reihe nach durch.
Struktur und Bestand der Demo: Startseite, Rubriken und Unterrubriken. Die meisten Einträge stehen in den Unterrubriken, einige allgemeine direkt in einer Rubrik. Bis zum Eintrag sind es zwei Klicks, jede Rubrik hat eine eigene Adresse wie /demo/hundeschulen-training.html.
2. Die Nische
Ein Verzeichnis braucht eine Grenze. Ohne sie tritt es gegen Suchmaschinen an und verliert. Die einfachste Grenze ist eine Schnittmenge: ein Thema, eingeschränkt auf einen Ort oder eine Zielgruppe.
Thema und Ort sind jeder für sich zu breit. Erst die Schnittmenge ergibt ein Verzeichnis, das jemand gezielt aufruft.
Statt des Orts taugt auch eine Zielgruppe: „Rettungshundestaffeln“ statt „alles über Hunde“, „Ausbildungsbetriebe im Handwerk“ statt „alle Betriebe“. Wie das bei Orten und Vereinen aussieht, zeigen die Seiten Branchenverzeichnis erstellen und Fachverzeichnis erstellen.
Die Probe vor dem Start
Bevor Sie irgendetwas installieren, suchen Sie selbst die ersten Einträge zusammen, ohne eine einzige Einsendung. Was dabei herauskommt, zeigt, ob die Nische trägt. Die Schwellen sind Faustregeln:
Sie finden
Das heißt
Was Sie tun
weniger als 10 passende Websites
zu eng
Thema oder Gebiet weiter fassen
10 bis 24
knapp
anfangen, wenn Sie wissen, woher weitere Einträge kommen, etwa von Vereinsmitgliedern
25 oder mehr, und Sie kennen sich im Thema aus
trägt
anfangen
Tausende, die Sie nie alle prüfen könnten
zu breit
einen Ort oder eine Zielgruppe hinzunehmen
Stellen Sie sich außerdem zwei Fragen. Warum sollte jemand hier suchen und nicht bei einer Suchmaschine? Die Antwort muss konkret sein, etwa: weil hier alle Hundeschulen des Landkreises an einer Stelle stehen und jede geprüft ist. Und: Wer pflegt das Verzeichnis, wenn Sie selbst keine Zeit mehr haben? Ein Verzeichnis ist auf Jahre angelegt, nicht auf ein Wochenende. Legen Sie deshalb früh fest, wer neben Ihnen Zugang zum Admin bekommt.
3. Die Kategorien
Es liegt nahe, mit den Kategorien anzufangen. Wer aber zuerst einen Kategoriebaum entwirft, hat am Ende viele leere Seiten und ein paar überfüllte. Besser geht es andersherum: Die Kategorien entstehen aus dem Bestand.
Erst sammeln, dann gruppieren, dann benennen. Als Faustregel wird eine Gruppe zur Hauptkategorie, sobald sie drei Einträge hat.
Sammeln. Tragen Sie die ersten 30 Einträge in eine einfache Liste ein: Name, Adresse und ein Satz dazu. Eine Tabellenkalkulation reicht, viele Verzeichnis-Programme können eine solche Tabelle später als CSV importieren.
Gruppieren. Schieben Sie zusammen, was zusammengehört. Fragen Sie dabei, wonach ein Besucher sucht, und nicht, wie ein Fachmann ordnen würde.
Benennen. Eine Gruppe mit drei oder mehr Einträgen wird eine Hauptkategorie. Darunter darf eine Unterkategorie auch mit einem einzigen guten Eintrag starten, wenn sie eine eigene Frage beantwortet. In der Demo gilt das für sieben der 13 Unterkategorien, etwa „Impfen“. Was keine eigene Frage beantwortet, bleibt in der Hauptkategorie, bis weitere Einträge dazukommen.
Regeln für die Struktur
Zwei Ebenen reichen fast immer, Hauptkategorie und Unterkategorie. Jede weitere Ebene ist ein Klick mehr bis zum Eintrag, und tiefe Ebenen bleiben oft leer. Unser eigenes Script hat genau zwei Ebenen, wir sind hier also nicht unparteiisch. Die Begründung gilt trotzdem für jedes System.
Benennen Sie Kategorien so, wie Besucher suchen: „Tierärzte“ statt „Veterinärmedizin“, „Giftiges für Hunde“ statt „Toxikologie“.
Stellen Sie keine leeren Kategorien online. Eine Seite ohne Einträge sieht verlassen aus.
Geben Sie jeder Kategorie einen kurzen eigenen Text, was hineingehört. In der Demo steht bei „Hundeschulen und Training“: „Berufsverbände für Hundetrainer, Hundeschulen und Hilfe bei Verhaltensproblemen.“
Legen Sie die Adressen der Kategorien einmal fest. Muss sich eine ändern, leiten Sie die alte per 301 auf die neue um. Wie das geht, steht unter Umleitungen alter Adressen.
4. Die Regeln für Einträge
Regeln sind ein Filter, den Sie einmal schreiben, statt bei jedem Eintrag neu zu entscheiden. Stellen Sie sie neben das Eintragsformular. Dann wissen Einsender vorher, was durchgeht, und Sie können eine Ablehnung mit einem Satz begründen.
Die folgende Vorlage passt für ein Fach- oder Ortsverzeichnis eines Vereins oder einer Privatperson. Ersetzen Sie die Angaben in eckigen Klammern und streichen Sie, was für Sie nicht gilt. Öffentliche Stellen brauchen strengere, neutrale Kriterien, siehe Branchenverzeichnis für Gemeinden.
Vorlage: Regeln für Einträge
Wir nehmen Websites auf, die zum Thema [Thema] passen und [Ort oder Zielgruppe] betreffen. Jeder Eintrag wird vor der Veröffentlichung von Hand geprüft. Das dauert in der Regel bis zu [einer Woche].
Aufgenommen werden Websites mit eigenem Inhalt zum Thema. Geschäftsmäßig betriebene Websites brauchen ein vollständiges Impressum. Jede Website bekommt einen Eintrag.
Nicht aufgenommen werden Shops ohne eigenen Inhalt, Seiten mit überwiegend Partnerlinks, Weiterleitungen, unfertige Seiten und Inhalte, die gegen geltendes Recht verstoßen.
Titel und Beschreibung: Der Titel ist der Name der Website, kein Suchbegriff. Die Beschreibung sagt in zwei bis drei eigenen Sätzen, was auf der Website zu finden ist, ohne Werbesprüche. Wir dürfen Titel und Beschreibung kürzen oder umformulieren.
Gegenlink: Ein Link auf dieses Verzeichnis ist keine Bedingung für den Eintrag.
Entfernen: Wir entfernen Einträge, deren Website nicht mehr erreichbar ist oder nicht mehr zum Thema passt. Vorher fragen wir per E-Mail nach, wenn eine Adresse hinterlegt ist.
Gegenlink als Bedingung?
Viele Kataloge nehmen eine Seite nur auf, wenn sie zurückverlinkt. Google zählt es in seinen Spam-Richtlinien zu Link-Spam, wenn ein Link als Bedingung verlangt wird und der andere ihn nicht kennzeichnen darf. Die Vorlage verzichtet deshalb darauf. Wer sich trotzdem über einen Link freut, darf darum bitten, ohne den Eintrag davon abhängig zu machen.
In denselben Richtlinien nennt Google auch Links aus minderwertigen Verzeichnissen und Lesezeichenseiten als Beispiel für Link-Spam, im englischen Original „Low-quality directory or bookmark site links“. Ein Verzeichnis grenzt sich davon ab, indem es jeden Eintrag prüft, eigene Beschreibungen schreibt und keine Links verkauft, die nicht gekennzeichnet sind. Für Links, die Besucher eingesandt haben, sieht Google die Kennzeichnung rel="ugc" vor, für bezahlte rel="sponsored". Ob Sie die Links Ihres Verzeichnisses so kennzeichnen, entscheiden Sie selbst. Wer jeden Eintrag von Hand prüft, steht mit normalen Links dafür ein, dass sie empfehlenswert sind.
Bezahlte Einträge und Anzeigen
Ein Verzeichnis darf Geld verdienen, etwa mit bezahlten Plätzen oben in einer Rubrik. Zwei Regeln gelten dann. Das deutsche Recht verlangt, dass Werbung als solche erkennbar ist. Schreiben Sie sichtbar „Anzeige“ oder „bezahlter Eintrag“ dazu (§ 5a Abs. 4 UWG, § 22 Abs. 1 MStV). Google verlangt für bezahlte Links das Attribut rel="sponsored" oder rel="nofollow". Seit 2019 behandelt Google diese Attribute als Hinweis, so gekennzeichneten Links folgt es nach eigener Aussage in der Regel nicht. Ein bezahlter Platz ist deshalb so viel wert wie die Besucher, die er bringt. Mehr dazu, auch zu bestehenden Kunden alter Kataloge, steht unter Bezahlte Einträge.
5. Recht und Datenschutz
Ein Verzeichnis mit Eintragsformular verarbeitet personenbezogene Daten: mindestens Name und E-Mail-Adresse der Einsender, bei Branchenverzeichnissen auch Anschrift und Telefon, und bei kleinen Betrieben ist schon der Firmenname oft der Name des Inhabers. Die folgende Liste zeigt, woran Sie denken sollten. Sie ersetzt keine Rechtsberatung, und für Vereine bieten die Datenschutzbehörden der Länder eigene Ratgeber an.
Das Minimum für einen Verein
Ein Impressum mit Name und Anschrift des Vereins und seiner Vertretungsberechtigten.
Eine Datenschutzerklärung, die das Formular nennt: welche Daten, wofür, wie lange, welche Rechte. Viele Scripte bringen dafür einen Mustertext mit.
Am Formular ein eigenes Kästchen für die Einwilligung und ein Link auf die Datenschutzerklärung.
Ein Vertrag zur Auftragsverarbeitung mit dem Hoster, oft per Klick im Kundenmenü.
Ein kurzer Eintrag im Verzeichnis der Verarbeitungstätigkeiten.
Eine E-Mail-Adresse für Hinweise auf rechtswidrige Inhalte, und eine kurze Begründung, wenn Sie einen Eintrag ablehnen oder entfernen.
Die Liste darunter erklärt die Gründe und die Fundstellen.
Rechtsgrundlage festlegen. Für Einsendungen über das Formular stützen sich die meisten Verzeichnisse auf eine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO), weil die Aufsichtsbehörden sie für Veröffentlichungen im Internet in der Regel verlangen. Man kann den Eintrag auch als Leistung sehen, die der Einsender selbst beantragt (lit. b). Eine Aussage der Behörden dazu kennen wir nicht. Fragen Sie die Einwilligung mit einem eigenen Kästchen ab, nicht gekoppelt an die Regeln oder AGB. Öffentliche Stellen brauchen eine gesetzliche Grundlage (lit. e mit Art. 6 Abs. 3), siehe Gemeinden.
Informieren. Direkt am Formular gehört ein Link auf die Datenschutzerklärung. Darin steht, wer verantwortlich ist, welche Daten Sie wofür speichern, wie lange und welche Rechte die Einsender haben (Art. 13 DSGVO). Wollen Sie Betriebe oder Privatleute selbst eintragen, deren Angaben Sie zum Beispiel aus dem Gemeindeblatt haben, fragen Sie vorher und informieren Sie dabei nach Art. 14 DSGVO. Das Musteranschreiben im Branchenverzeichnis-Ratgeber erledigt beides. Für die Website eines Verbands oder einer Behörde ohne Personenbezug ist das nicht nötig.
Einwilligung nachweisen können. Wer sich auf eine Einwilligung stützt, muss sie belegen können (Art. 7 Abs. 1 DSGVO). Bewahren Sie die Antwort auf, mit der ein Betrieb zugestimmt hat. Bei Einsendungen über das Formular speichern Sie den Zeitpunkt und den Wortlaut der Einwilligung. Der Hinweis auf eine korrekt eingerichtete Website reicht nach dem Europäischen Datenschutzausschuss nicht. Ein Widerruf muss so einfach sein wie die Einwilligung (Art. 7 Abs. 3 DSGVO).
Speicherdauer festlegen. Legen Sie Fristen fest, nennen Sie sie in der Datenschutzerklärung und halten Sie sie ein. Zum Beispiel: Einsendungen, die Sie nicht freischalten, nach 30 Tagen löschen. Name und E-Mail des Einsenders löschen, wenn der Eintrag gelöscht wird. Wie lange der Hoster die Protokolle des Webservers aufbewahrt, steht in seinem Vertrag, oft sind es einige Wochen.
Hoster einbinden. Liegt die Datenbank bei einem Hoster, verarbeitet er die Daten nach Auffassung der Aufsichtsbehörden in Ihrem Auftrag. Dafür brauchen Sie einen Vertrag zur Auftragsverarbeitung (Art. 28 DSGVO). Viele Hoster bieten ihn im Kundenmenü zum Abschluss an.
Verzeichnis der Verarbeitungstätigkeiten. Halten Sie fest, welche Daten das Verzeichnis verarbeitet (Art. 30 DSGVO). Die Ausnahme für Einrichtungen mit weniger als 250 Beschäftigten greift nach Auffassung der Aufsichtsbehörden nicht, wenn Daten nicht nur gelegentlich verarbeitet werden. Bei einem Verzeichnis mit Formular ist das der Fall, auch für kleine Vereine.
Impressum. Wer ein Verzeichnis geschäftsmäßig betreibt, braucht ein Impressum nach § 5 DDG. Aber auch ein Verein oder eine Privatperson muss Namen und Anschrift angeben, sobald die Seite nicht nur persönlichen oder familiären Zwecken dient (§ 18 Abs. 1 MStV), und das trifft auf ein öffentliches Verzeichnis praktisch immer zu. Einen Verantwortlichen nach § 18 Abs. 2 MStV brauchen nur journalistisch-redaktionell gestaltete Angebote, etwa ein eigener Nachrichtenteil. Selbst geschriebene Beschreibungen machen ein Verzeichnis dazu in der Regel nicht.
Meldungen nach dem Digital Services Act. Speichert Ihr Verzeichnis Einsendungen anderer, kann es ein Hostingdienst im Sinne des Digital Services Act sein (Verordnung (EU) 2022/2065). Dann gehören dazu eine Kontaktstelle für Behörden und Nutzer (Art. 11 und 12 DSA), ein leicht erreichbarer elektronischer Weg, rechtswidrige Inhalte zu melden, etwa ein Formular oder eine eigene E-Mail-Adresse (Art. 16), und eine Begründung, wenn Sie einen Eintrag ablehnen oder entfernen (Art. 17). Die Begründung nennt den Sachverhalt, die Regel oder das Gesetz, auf das Sie sich stützen, und wie der Einsender widersprechen kann. Prüfen Sie jeden Eintrag vorher und schreiben die Beschreibung selbst, spricht viel dafür, dass Sie die Inhalte ohnehin als eigene verantworten. Die Pflichten erfüllen Sie in beiden Fällen mit wenig Aufwand: eine E-Mail-Adresse für Meldungen im Impressum, Regeln für Einträge neben dem Formular und eine kurze Begründung nach diesem Muster bei jeder Ablehnung.
6. Der Schutz vor Spam
Jedes öffentliche Formular bekommt früher oder später Spam, und zwar aus zwei Richtungen. Bots füllen massenhaft Formulare aus, ohne die Seite zu lesen. Menschen tragen Websites ein, weil sie einen Link wollen, und schreiben Suchbegriffe in den Titel. Gegen Bots hilft Technik. Gegen Menschen hilft nur Ihre Prüfung.
Die ersten drei Stufen sortieren automatisch aus und sparen Ihnen Arbeit. Spam, den Menschen eintragen, hält erst die vierte Stufe auf.
Verstecktes Feld. Das Formular enthält ein zusätzliches Feld, das Besucher nicht sehen, weil das Stylesheet es aus dem sichtbaren Bereich schiebt. Einfache Bots füllen jedes Feld aus, das sie finden. Steht darin etwas, verwirft der Server die Einsendung. Man nennt das Honeypot.
Zeitsperre. Der Server prüft, wie viel Zeit zwischen dem Laden und dem Absenden des Formulars vergangen ist. Wer es nach zwei, drei Sekunden schon abschickt, hat es nicht gelesen. Damit ein Bot die Zeit nicht fälschen kann, unterschreibt der Server den Zeitstempel mit einem geheimen Schlüssel.
Doppelte Adresse. Steht die Website schon im Verzeichnis oder wartet sie auf Prüfung, lehnt das Formular sie ab.
Prüfung von Hand. Kein Eintrag geht online, bevor Sie ihn angesehen haben. Das ist der eigentliche Schutz. Ein Captcha kommt erst dazu, wenn die Stufen davor nicht reichen. Es bremst auch echte Besucher, und Bild-Captchas sind für Menschen mit Sehbehinderung eine Hürde.
Für Selbstbauer: verstecktes Feld und signierte Zeitsperre in PHP
So sieht das Prinzip im Code aus. Der Zeitstempel steht im Formular, ist aber mit hash_hmac unterschrieben. Ändert ein Bot ihn, passt die Unterschrift nicht mehr. Das hält einfache Bots auf. Wer ein Formular gezielt angreift, kommt trotzdem durch, dagegen hilft nur die Prüfung von Hand. Getestet mit PHP 8.4.
<?php
// Schlüssel einmal erzeugen, etwa mit bin2hex(random_bytes(32)), und als Datei
// eine Ebene über dem Webroot ablegen, dort ist er von außen nicht abrufbar
function formular_schluessel(): string {
$datei = dirname((string) $_SERVER['DOCUMENT_ROOT']) . '/geheim/formular.key';
$schluessel = is_readable($datei) ? trim((string) file_get_contents($datei)) : '';
if (strlen($schluessel) < 32) {
// Ohne Schlüssel ließen sich Tokens fälschen: dann lieber gar nichts annehmen
throw new RuntimeException('Schlüssel für das Formular fehlt: ' . $datei);
}
return $schluessel;
}
function formular_token(): string {
$zeit = (string) time();
return $zeit . '.' . hash_hmac('sha256', $zeit, formular_schluessel());
}
// Gibt '' zurück, wenn alles stimmt, sonst den Grund
// $hoechst: 24 Stunden. Ohne Verlängerung erlauben die WCAG nur Zeitbegrenzungen von mehr als 20 Stunden
function formular_pruefen(string $token, int $mindest = 3, int $hoechst = 86400): string {
[$zeit, $unterschrift] = array_pad(explode('.', $token, 2), 2, '');
if (!ctype_digit($zeit) || !hash_equals(hash_hmac('sha256', $zeit, formular_schluessel()), $unterschrift)) {
return 'Bitte laden Sie das Formular neu.';
}
$alter = time() - (int) $zeit;
if ($alter < $mindest) { return 'Das ging sehr schnell. Bitte prüfen Sie Ihre Angaben und senden Sie noch einmal.'; }
if ($alter > $hoechst) { return 'Das Formular war zu lange offen. Bitte senden Sie es noch einmal.'; }
return '';
}
// Ganz oben in der Seite, vor jeder Ausgabe
$fehler = '';
if (($_SERVER['REQUEST_METHOD'] ?? '') === 'POST') {
if (($_POST['kontrollfeld'] ?? '') !== '') {
// Verstecktes Feld ausgefüllt, vermutlich ein Bot: protokollieren, nichts speichern
error_log('Eintragsformular: verstecktes Feld ausgefüllt, Einsendung verworfen');
header('Location: danke.php', true, 303);
exit;
}
$fehler = formular_pruefen((string) ($_POST['token'] ?? ''));
if ($fehler === '') {
// Eingaben prüfen und speichern, dann weiter zur Bestätigung
header('Location: danke.php', true, 303);
exit;
}
}
?>
<!-- im Formular, darüber gegebenenfalls $fehler anzeigen -->
<input type="hidden" name="token" value="<?php echo formular_token(); ?>">
<div class="hinweis-feld" aria-hidden="true">
<label for="kontrollfeld">Dieses Feld bitte leer lassen</label>
<input type="text" name="kontrollfeld" id="kontrollfeld" tabindex="-1" autocomplete="off">
</div>
Im Stylesheet schiebt .hinweis-feld { position: absolute; left: -9999px; } das Feld aus dem sichtbaren Bereich. Mit display: none würden manche Bots es überspringen. Geben Sie dem Feld einen Namen, den Browser und Passwortmanager nicht automatisch ausfüllen, also nicht „website“ oder „email“. Sonst landen echte Einsendungen unbemerkt im Papierkorb, deshalb auch der Eintrag im Fehlerprotokoll. Fehlt die Schlüsseldatei, bricht das Script ab, statt mit leerem Schlüssel weiterzuarbeiten. Der Pfad über dirname($_SERVER['DOCUMENT_ROOT']) liegt auch dann außerhalb des Webroots, wenn das Formular in einem Unterordner steht. Ein Token gilt im Beispiel 20 Stunden, damit auch Menschen, die länger brauchen, das Formular nicht neu ausfüllen müssen (WCAG 2.2.1). In dieser Zeit lässt es sich mehrfach verwenden. Wer das verhindern will, merkt sich benutzte Tokens bis zu ihrem Ablauf.
Spam erkennen
Was durch die Technik kommt, erkennen Sie meist an einem dieser Merkmale. Die Beispiele sind erfunden.
Merkmal
Beispiel
Suchbegriffe statt Name im Titel
„Hundeschule günstig Welpenkurs sofort“
kopierte Beschreibung
Der Text steht wortgleich auf der Startseite der eingetragenen Website.
Weiterleitung
Die Adresse führt auf eine ganz andere Domain.
Kategorie passt nicht
Ein Kreditvergleich unter „Hundesport“
7. Prüfen und freischalten
Prüfen heißt: die Website öffnen und ansehen. Diese Arbeit nimmt Ihnen keine Software ab. Jeder Eintrag läuft dabei denselben Weg, vom Formular bis zur Löschung:
Der Weg eines Eintrags. Online bleibt er nur, solange die Kontrolle ihn bestätigt.
Fünf Fragen je Eintrag
Ist die Seite erreichbar und fertig, nicht nur eine Baustelle?
Passt sie zum Thema und zur gewählten Kategorie?
Hat sie ein Impressum, wenn sie geschäftsmäßig betrieben wird?
Ist der Titel der Name der Website und kein Suchbegriff?
Beschreibt der Text die Seite in eigenen Worten?
Den Text nachbessern statt ablehnen
Oft passt die Website, aber nicht der Text. Bessern Sie ihn nach, statt den Eintrag abzulehnen. Gerade daran merken Besucher, dass hier jemand ausgewählt hat und nicht nur gesammelt.
So kommt es oft an (erfunden)
So steht es in der Demo
Titel
„Giftpflanzen Hund Liste Vergiftung was tun“
„Clinitox“
Beschreibung
„Die beste Seite für alle Hundebesitzer! Jetzt informieren und Ihren Liebling schützen!“
„Datenbank des Instituts für Veterinärpharmakologie und -toxikologie in Zürich zu Giften und Giftpflanzen, mit Symptomen nach Tierart und einem Beratungsdienst.“
Schalten Sie in einem festen Rhythmus frei, etwa jeden Montag. Wer wochenlang wartet, hat Ihr Verzeichnis bis dahin vergessen. Lehnen Sie einen Eintrag ab, schreiben Sie einen Satz mit dem Grund und verweisen Sie auf die Regeln.
8. Die Pflege: tote Links
Websites verschwinden, und ihre Domains werden weiterverkauft. Nicht jeder tote Link sieht dabei aus wie ein Fehler:
Ein Linkprüfer erkennt Fehlerseiten sicher. Geparkte und umgewidmete Domains antworten oft wie eine normale Website und fallen erst durch Hinweise oder den eigenen Blick auf.
Wie das in der Praxis aussieht, haben wir bei der Arbeit an unserer Übersicht der Verzeichnis-Scripte gesehen. Von zwölf Script-Websites zeigten im Oktober 2026 fünf kein Script mehr. Sicher angeschlagen hätte ein einfacher Linkprüfer nur bei zweien.
Unsere Prüfung von zwölf Websites für Verzeichnis-Scripte im Oktober 2026. Die Einzelheiten stehen in der Übersicht der Verzeichnis-Scripte.
Hinweise, die eine Prüfung automatisch geben kann
Weiterleitung auf eine fremde Domain. Viele geparkte Domains leiten auf die Seite eines Parkdienstes weiter. Ein Linkprüfer meldet das als Weiterleitung, nicht als Fehler. Lesen Sie diese Meldungen deshalb genauso aufmerksam.
Typische Texte von Parkdiensten und Standardseiten von Hostern, etwa „Domain zu verkaufen“ oder „Welcome to nginx“.
Geänderter Seitentitel. Wer beim Freischalten den Titel der Seite speichert und später vergleicht, findet umgewidmete Domains, unter denen inzwischen ein anderes Angebot steht.
So prüfen Sie
Zweimal im Jahr alle Links prüfen. Der kostenlose W3C Link Checker prüft eine Seite und auf Wunsch rekursiv die verlinkten Seiten desselben Verzeichnisses. Er meldet Fehler und Weiterleitungen. Manche Server weisen solche Prüfprogramme ab, ein einzelner Fehler 403 heißt also nicht sicher, dass die Seite tot ist. Für WordPress gibt es Plugins, die Links regelmäßig prüfen. Das Verzeichnisscript hat eine Linkprüfung eingebaut, die auch Parkdienste und geänderte Titel erkennt.
Meldungen von Hand ansehen. Öffnen Sie jede gemeldete Website, bevor Sie handeln. Bei einigen Tausend Einträgen schaffen Sie das nur für die gemeldeten, deshalb lohnt eine Prüfung, die Hinweise sammelt statt nur Fehlercodes.
Tote Einträge erst offline nehmen. Schreiben Sie den Betreiber an, an die hinterlegte E-Mail-Adresse oder über das Kontaktformular der Website. Meldet er sich mit einer neuen Adresse, tragen Sie sie ein. Sonst löschen Sie den Eintrag nach einigen Wochen.
Ein kurzer Satz im Verzeichnis wie „Ein Link funktioniert nicht? Schreiben Sie uns.“ hilft zusätzlich. Besucher bemerken tote Links oft vor Ihnen.
9. Aufwand und Kosten
Die Zeit, nicht die Software, ist der größte Posten. Damit Sie planen können, hier unsere Schätzung für ein Verzeichnis mit einigen Hundert Einträgen. Sie beruht auf unserer eigenen Arbeit, etwa an der Demo, und ist kein Messwert:
Aufgabe
Zeitbedarf (Schätzung)
Einrichten der Software und der Seitentexte
einen halben bis einen Tag, mit Anpassung an die Gestaltung Ihrer Website mehr
Die ersten 30 Einträge suchen, beschreiben und eintragen
fünf bis zehn Minuten je Eintrag, zusammen zweieinhalb bis fünf Stunden
Eine Einsendung prüfen und freischalten
zwei bis fünf Minuten
Linkprüfung zweimal im Jahr
Sie starten die Prüfung, die Software arbeitet die Einträge dann selbst ab. Dazu ein bis zwei Minuten je gemeldetem Eintrag
Alle Einträge einmal im Jahr ansehen
etwa eine Minute je Eintrag. Bei Tausenden Einträgen schaffen Sie das nicht. Dann sehen Sie sich an, was die Linkprüfung meldet, und jedes Jahr ein paar Rubriken ganz.
Bis zum Start mit 30 Einträgen
rund ein bis zwei Arbeitstage. Jede weitere Hundert Einträge kostet acht bis 17 Stunden.
Bei den Kosten kommt es auf den Weg an. Einen Webspace mit PHP und Datenbank haben viele Vereine und Betriebe schon. WordPress-Plugins wie Business Directory Plugin, Directorist und GeoDirectory gibt es in einer kostenlosen Grundversion, ihre Erweiterungen kosten Geld, oft als jährliche Lizenz. Das Verzeichnisscript kostet einmalig 39 Euro in der Einzel-Lizenz und 138 Euro in der White-Label-Lizenz ohne Hinweis auf das Script. Die Installation durch uns kostet 19 Euro, mit Anpassung an die Gestaltung Ihrer Website 85 Euro. Nach dem Kauf helfen wir 30 Tage per E-Mail und Telefon. Alle Preise stehen auf der Seite Bestellen.
Rechnen Sie für die Planung über drei Jahre: Webspace, Ihre Zeit für Pflege und Updates und gegebenenfalls laufende Lizenzen für Erweiterungen. Die Software selbst ist dabei fast immer der kleinste Posten.
10. Betrieb und Sicherheit
Ein Verzeichnis mit Formular ist eine Webanwendung, die Jahre läuft und Eingaben Fremder annimmt. Planen Sie den Betrieb gleich mit:
HTTPS für die ganze Website, damit Formular und Anmeldung verschlüsselt sind.
Updates der Software und der PHP-Version. Jede PHP-Version bekommt nur einige Jahre Sicherheitsupdates, welche noch unterstützt werden, steht auf php.net. Für ein Script ohne Updates müssen Sie früher oder später Ersatz suchen, so wie viele Betreiber alter Kataloge gerade.
Den Admin schützen: ein langes, eigenes Passwort, so wenige Zugänge wie möglich und, wenn der Hoster es anbietet, zusätzlich ein Verzeichnisschutz für den Admin-Ordner.
Sicherungen: die Datenbank regelmäßig sichern und die Rücksicherung einmal ausprobieren. Ein Export der Einträge als CSV hilft zusätzlich, wenn Sie das System wechseln müssen.
E-Mails: Bestätigungen und Benachrichtigungen kommen nur an, wenn die Absenderadresse zur Domain gehört und beim Hoster per SPF und DKIM freigegeben ist. Fragen Sie das vor dem Start.
Das Verzeichnisscript bringt dafür mit: Admin nur nach Anmeldung, Sperre nach zehn Fehlversuchen in 15 Minuten, Abmeldung nach einstellbarer Untätigkeit, Schutz gegen untergeschobene Anfragen (CSRF) bei jeder Änderung, Datenbankabfragen mit Platzhaltern, maskierte Ausgaben und eine Linkprüfung, die keine Adressen im internen Netz aufruft. Getestet haben wir es mit PHP 8.4 und 8.5, MySQL 8.0 sowie MariaDB 10.5 und 11.4. Es fehlen: mehrere Admin-Zugänge mit Rollen, eine Anmeldung mit zweitem Faktor, ein Protokoll, wer was geändert hat, und ein Versand über SMTP. E-Mails gehen über die Mailfunktion von PHP. Für das Verzeichnis der Verarbeitungstätigkeiten steht hier, was es speichert:
Daten
Wofür
Wie lange
Angaben aus dem Formular: Titel, Adresse und Beschreibung der Website, Anschrift und Telefon, wenn abgefragt, Name, E-Mail und Nachricht des Einsenders
Eintrag, Rückfragen, Benachrichtigungen per E-Mail
bis Sie den Eintrag löschen. Nicht freigeschaltete auf Wunsch automatisch nach einer festen Zahl von Tagen
Zeitpunkt und Wortlaut der Einwilligung
Nachweis nach Art. 7 Abs. 1 DSGVO
mit dem Eintrag
nicht umkehrbarer Prüfwert der IP-Adresse und Zeitpunkt der Einsendung
Begrenzung der Einsendungen je Stunde
24 Stunden
nicht umkehrbarer Prüfwert der IP-Adresse bei einer fehlgeschlagenen Anmeldung im Admin
Sperre nach zehn Fehlversuchen
24 Stunden
Ergebnis der Linkprüfung mit Statuscode und Seitentitel
Pflege des Bestands
bis zur nächsten Prüfung
Sitzungs-Cookie im Admin
Anmeldung des Betreibers
bis zur Abmeldung
Besucher des Verzeichnisses bekommen keine Cookies. E-Mails verschickt das Script über die Mailfunktion des Servers, die Protokolle des Webservers führt Ihr Hoster. Tragen Sie in der Konfiguration einen Schlüssel für OpenAI ein, erscheint im Editor des Admins ein Knopf, der markierten Text zum Umformulieren an OpenAI schickt. Ohne Schlüssel gibt es den Knopf nicht, und es gehen keine Daten an OpenAI.
11. Die Software
Erst jetzt kommt die Frage nach der Software. Sie hängt vor allem davon ab, was Sie schon haben, wie groß das Verzeichnis wird und ob Fremde Einträge vorschlagen sollen.
Zwei Fragen reichen für die Wahl zwischen WordPress-Plugin, Linkliste und eigenständigem Script.
Weg
Passt, wenn
Zu beachten
WordPress-Plugin, etwa Business Directory Plugin, Directorist oder GeoDirectory
Ihre Website läuft mit WordPress.
Alle drei bringen in der kostenlosen Version ein Formular für Einsendungen und einen CSV-Import mit, auch sie können neue Einträge erst nach Freigabe zeigen. Erweiterungen kosten Geld, oft als jährliche Lizenz. Directorist und GeoDirectory zeigen Einträge auf einer Karte. Die Websites der Anbieter sind englisch, ob es eine deutsche Übersetzung gibt, zeigt die Plugin-Seite auf WordPress.org. Updates kommen über WordPress.
Seite mit Linkliste in WordPress, einem Baukasten oder einem anderen Redaktionssystem
Es sind höchstens ein paar Dutzend Einträge, und Fremde sollen keine vorschlagen.
Kein Formular, also kein Spam und kein zusätzlicher Datenschutz. Jede Änderung machen Sie selbst im Seitentext. In WordPress ordnet das Plugin Link Library Links nach Kategorien und nimmt auf Wunsch Vorschläge mit Freigabe an, das Plugin Broken Link Checker prüft die Links.
Modul Ihres vorhandenen Systems
Ihre Website läuft mit einem anderen Redaktionssystem, etwa dem einer Gemeinde.
Fragen Sie zuerst Ihren Dienstleister, ob es ein Verzeichnis-Modul gibt. Dann bleibt alles in einem System.
Eigenständiges Script
Sie wollen kein WordPress, aber Einsendungen mit Freischaltung, oder das Verzeichnis soll unabhängig von der übrigen Website laufen.
Ein zweiter Admin mit eigenen Updates. Viele ältere Scripte werden nicht mehr gepflegt. Welche es noch gibt, zeigt die Übersicht der Verzeichnis-Scripte.
Wir verkaufen selbst ein solches Script, das Verzeichnisscript 2.1. Es ist deutschsprachig und läuft mit PHP 8.4 und MySQL oder MariaDB auf normalem Webspace, auch im Unterordner einer vorhandenen Website. Zu den Punkten dieser Anleitung bringt es mit:
zwei Kategorie-Ebenen mit lesbaren Adressen und eigenen Metadaten je Kategorie,
Freischaltung jedes Eintrags und Einträge, die Sie selbst im Admin anlegen oder als CSV importieren,
ein Formular, dessen Felder Sie im Admin festlegen, standardmäßig ohne Gegenlink-Pflicht, mit eigener Einwilligung zum Datenschutz und gespeichertem Nachweis,
verstecktes Feld, signierte Zeitsperre, Begrenzung je Stunde und gesperrte Wörter gegen Spam,
eine Linkprüfung, die Fehler, Parkdienste, Weiterleitungen und geänderte Titel meldet,
auf Wunsch die automatische Löschung nicht freigeschalteter Einsendungen nach einer festen Zahl von Tagen,
bezahlte oder hervorgehobene Einträge mit sichtbarer Kennzeichnung, der Link standardmäßig mit rel="sponsored",
eine Sitemap unter /sitemap.xml für die Search Console.
Was es nicht kann: Einträge auf einer Karte zeigen, mehr als zwei Ebenen bilden, einen Eintrag in mehrere Kategorien stellen, Plugins von Drittanbietern einbinden oder mehrere Admin-Zugänge mit Rollen verwalten. Eine feste Zusage, wie lange Updates kommen und was sie kosten, steht bisher nicht in den Lizenzbedingungen. Fragen Sie uns vor dem Kauf, wenn das für Sie wichtig ist. Das Script ist offener PHP-Code ohne Verschlüsselung, und alle Einträge lassen sich als CSV exportieren. Wie es aussieht, zeigen die Screenshots und die Live-Demo, die Arbeit im Admin zeigen die Video-Anleitungen. Alle Funktionen stehen auf der Seite Funktionen.