Was ist ein Online-Verzeichnis und warum ist es im Jahr 2023 wichtig
Eine Verzeichnis-Website ist eine Online-Plattform, die als umfassendes und strukturiertes Repository mit Informationen über Unternehmen, Dienstleistungen oder Produkte innerhalb einer bestimmten Branche oder Nische dient.
Indem sie Nutzern eine praktische und zentralisierte Informationsquelle bieten, helfen Verzeichnis-Websites ihnen dabei, fundierte Entscheidungen zu treffen, wenn sie nach Produkten, Dienstleistungen oder Unternehmen suchen, die ihren Bedürfnissen entsprechen.
Im digitalen Zeitalter, in dem Verbraucher stark auf das Internet angewiesen sind, um Lösungen zu finden und Informationen zu sammeln, spielen Verzeichnis-Websites eine entscheidende Rolle dabei, Unternehmen mit ihrer Zielgruppe zu verbinden.
Diese Websites erleichtern es Nutzern nicht nur, Angebote verschiedener Unternehmen zu entdecken und zu vergleichen, sondern helfen Unternehmen auch dabei, ihre Online-Sichtbarkeit zu erhöhen, Leads zu generieren und ihre Glaubwürdigkeit zu verbessern.
Angesichts des stetig wachsenden Wettbewerbs im Online-Bereich ist eine gut gestaltete und benutzerfreundliche Verzeichnis-Website unerlässlich, um sich abzuheben und sowohl Nutzern als auch Unternehmen einen echten Mehrwert zu bieten.
Verwendung von WordPress Custom Post Types und Advanced Custom Fields bei der Erstellung von Verzeichnis-Websites
Wenn man WordPress-zentrierte Facebook-Gruppen und Subreddits fragt, wie man am besten eine Verzeichnis-Website erstellt, werden die meisten antworten, man solle speziell entwickelte Plugins meiden und stattdessen mit CPT UI (Custom Post Type) und ACF (Advanced Custom Fields) arbeiten.
Dies sind sehr leistungsfähige Plugins, die von Millionen von Nutzern verwendet werden. Wenn es jedoch darum geht, eine Verzeichnis-Website mit WordPress, Custom Post Types und Advanced Custom Fields zu entwickeln, kann der Prozess herausfordernd, frustrierend und mit vielen versteckten Kosten verbunden sein.
Diese Tools sind zwar beliebt und weit verbreitet, erfordern von Entwicklern jedoch oft eine steile Lernkurve, um komplexe Lösungen zu realisieren, und können zu suboptimaler Performance und eingeschränkten Möglichkeiten führen.
Ich zeige Ihnen, warum.
15 Herausforderungen beim Erreichen der gewünschten Funktionen mit Custom Post Types und ACF beim Aufbau einer Verzeichnis-Website:
- Erstellen Sie ein Frontend-Formular zum Einreichen von Einträgen – zum Hinzufügen und Bearbeiten von Inseraten mit Zahlungen und Ablauf von Einträgen.
während Sie mit ACF zwar einfach ein Formular im Frontend erstellen Ihrer Website können, um Inhalte hinzuzufügen oder zu bearbeiten – es jedoch deutlich schwieriger ist, Zahlungen zu integrieren, zusätzliche Funktionen für bezahlte gegenüber kostenlosen Einträgen anzubieten, Abonnements (wiederkehrende Zahlungen) zu ermöglichen und so weiter.
Wenn Sie ein eingefleischter Entwickler sind, der DIY-Lösungen bevorzugt, bleibt Ihnen nur die Möglichkeit, alle zusätzlichen Funktionen individuell zu programmieren.
Das würde Wochen an Arbeit bedeuten (oder sogar Monate, wenn Sie eine solche Aufgabe zum ersten Mal angehen).
Alternativ lässt sich das durch das Hinzufügen zusätzlicher kostenpflichtiger Plugins erreichen.
Zum Beispiel würde die Pro-Version des Frontend Admin-Plugins eine Frontend-Benutzerregistrierung, die kostenpflichtige Einreichung von Einträgen sowie deren Bearbeitung ermöglichen.
Für eine einzelne Website kämen für dieses Plugin 90 $/Jahr zu Ihrem Budget hinzu.
- Premium-Einträge von kostenlosen Einträgen unterscheiden
Wenn Sie Premium-Einträge verkaufen möchten und gleichzeitig kostenlose Einträge anbieten, müssen Sie beide klar voneinander unterscheiden und der kostenpflichtigen Option einen Mehrwert verleihen.
Die beste Option besteht darin, für jeden Eintragstyp ein eigenes „Eintrag einreichen"-Formular zu erstellen und den Premium-Einträgen in Form von zusätzlichen benutzerdefinierten Feldern mehr Funktionen hinzuzufügen.
Zum Beispiel könnte der kostenlose Eintrag nur den Namen des Inserats, die Adresse, die Telefonnummer und 1 Bild enthalten.
Während die Premium-Einträge mehr Details wie eine Webadresse, Social-Media-Konten, mehr Bilder, eine längere Textbeschreibung, ein Kontaktformular und vieles mehr umfassen würden.
Darüber hinaus sollten Premium-Einträge visuell hervorgehoben sein, zum Beispiel mit einem „FEATURED"-Badge oder einem anderen Layout.
Das ist zwar nicht besonders schwierig umzusetzen, aber dennoch relativ zeitaufwendig.
Was jedoch nicht so einfach ist: den Premium-Einträgen im Vergleich zu den kostenlosen Einträgen mehr Sichtbarkeit zu verschaffen.
Zum Beispiel, dass Premium-Einträge auf Kategorie-Archivseiten immer ganz oben erscheinen.
Dafür müssen Sie WP-Queries und/oder SQL beherrschen.
- Abonnements für Einträge, fehlgeschlagene wiederkehrende Zahlungen und den Ablauf von Einträgen verwalten
Was tun Sie, wenn ein Inserent seinen Eintrag nicht durch erneute Zahlung verlängert?
Oder in dem Fall, in dem Sie ein Abonnement mit wiederkehrender Zahlungeinrichten und der Inserent das Abonnement kündigt oder seine Zahlungsmethode abgelehnt wird?
Sie möchten auf keinen Fall, dass der Eintrag aktiv bleibt oder die Vorteile eines Premium-Eintrags ohne Zahlung genießt, oder?
Sie müssen ein System einrichten, das den Eintrag entweder herabstuft oder ablaufen lässt und seinen Status auf "Nicht veröffentlicht" setzt.
All das erfordert benutzerdefinierten Code, und um so etwas zu entwickeln, benötigen Sie fundierte Kenntnisse der APIs von Zahlungsanbietern – insbesondere von IPNs (Instant Payment Notifications).
Sie müssen außerdem wissen, wie man einen CRON-Job einrichtet, wie man Post-Status ändert und wie man einen Premium-Eintrag in einen kostenlosen Eintrag umwandelt – möglichst ohne die zusätzlichen Daten zu verlieren.
- Entwicklung einer Karte mit mehreren Pins.
Standorte auf einer Google Map mit Advanced Custom Fields und etwas JavaScript darzustellen ist relativ einfach.
Der erste Schritt besteht darin, die Adressen der einzelnen Einträge zu geokodieren – darauf gehen wir unter Punkt 6 dieser Liste noch näher ein.
Was nicht einfach ist, ist die Darstellung vieler Standorte – besonders wenn Sie mehr als nur einen Eintragstitel an die Karte übergeben, der bei einem Klick auf die Kartenmarkierungen angezeigt werden soll.
Wenn Sie versuchen, mehr als ein paar Hundert Einträge auf einer Karte anzuzeigen (weniger, wenn der Server nicht erstklassig ist), wird die Karte extrem langsam laden oder sogar einfrieren.
Die einzige Lösung besteht darin, die Standorte sowie die Informationen asynchron zu laden (AJAX).
Das ist deutlich schwieriger, als eine Karte mit ein paar Markierungen zu erstellen, und wird selbst für einen erfahrenen Entwickler wesentlich mehr Zeit in Anspruch nehmen.
Je mehr Einträge Sie haben, desto komplexer muss Ihre Lösung sein.
Zunächst stoßen Sie an die maximale AJAX-Antwortgröße des Browsers, dann müssen Sie Details einzelner Einträge per AJAX laden, anschließend benötigen Sie Clustering und sogar serverseitiges Clustering, das Millionen von Einträgen anzeigen kann.
Ein System zu entwickeln, das die Kartenmarkierungen in Clustern zusammenfasst, wird bei einer großen Anzahl von Einträgen unerlässlich, wenn man mit einer riesigen Menge an Einträgen umgeht.
An diese Grenzen auf einer Live-Website zu stoßen, weil Ihre Website etwas Aufmerksamkeit erhalten hat, ist etwas, das Sie weder wollen noch über Nacht beheben können.
Der Aufbau eines solchen Systems bringt eine ganze Reihe weiterer großer Herausforderungen mit sich.
Um das zu erreichen, ist umfangreiche Programmiererfahrung erforderlich.
- Integration eines dynamischen Kontaktformulars in das Inserats
Die Integration eines einzigartigen Kontaktformulars für jedes Inserat, das es Website-Besuchern ermöglicht, den Geschäftsinhaber direkt zu kontaktieren, kann verschiedene Herausforderungen mit sich bringen.
Die Komplexität der dynamischen Formulargenerierung, Datenverwaltung, Anpassung und Konsistenz, Spam-Prävention, Kompatibilitätsprobleme, Leistungsbedenken sowie laufende Wartung und Updates.
Trotz dieser Schwierigkeiten kann die Implementierung dieser Funktion die Funktionalität der Website erheblich verbessern und die Kommunikation zwischen Besuchern und Geschäftsinhabern fördern.
Es gibt kein Plugin, das diese Funktionalität sofort und ohne Anpassung bereitstellt.
Zur Implementierung einer solchen Funktion in einem WordPress-Verzeichnis, das mit Custom Post Types und Advanced Custom Fields erstellt wurde, ist erheblicher benutzerdefinierter Code erforderlich.
- Inserate geokodieren und nach Entfernung suchen
Um eine Suche nach Entfernung zu erstellen, müssen Sie zunächst die Adresse jedes Inserats geokodieren.
Geokodierung bedeutet, die Längen- und Breitengradkoordinaten aus der Adresse zu ermitteln.
Dies kann über die Google Maps Geocoding API erfolgen. Es gibt viele Tutorials online und es ist keine besonders komplexe Aufgabe, benötigt aber Zeit.
Es gibt ein Plugin, das den Einstieg erleichtern kann, das jedoch seit über 4 Jahren nicht mehr aktualisiert wurde: https://wordpress.org/plugins/address-geocoder/
Sobald Sie alle Ihre Inserate geokodiert haben, haben Sie die Grundlage für die Suche nach Entfernung – doch die Umsetzung dieser Funktion erfordert gute WP-Query/SQL-Kenntnisse und benutzerdefinierten Code.
Eine weitere Möglichkeit wäre die Verwendung von FacetWP, einem Premium-Such-Plugin, das ab 99 $/Jahr für 1 bis 3 Websites erhältlich ist.
- Benutzer orten und nahegelegene Inserate anzeigen
Dies kann automatisch erfolgen (Sie benötigen dafür zuverlässige IP-Geolocation-Daten).
Oder durch Verwendung der Google GeoLocation API, indem Benutzer gebeten werden, ihren Browser-Standort freizugeben.
Die erste Option ist benutzerfreundlicher, aber weniger präzise. Die IP-Adresse liefert selten eine 100 % korrekte Adresse.
Die zweite Option liefert den Standort des Benutzers mit wesentlich höherer Genauigkeit, funktioniert jedoch nur mit der Zustimmung des Benutzers.
Beide Optionen erfordern benutzerdefinierten Code, da es kein Plugin gibt, das all dies automatisch erledigt.
Außerdem ist der Standort des Benutzers nur der Ausgangspunkt.
Sie müssen dennoch die Datenbank abfragen und die Inserate zurückgeben, die dem Standort des Benutzers am nächsten sind.
- Automatisierung von Inseratsübernahmen für Geschäftsinhaber
Eine der einfachsten Möglichkeiten, Geschäftsinhaber anzusprechen und sie dazu zu bringen, für ein Premium-Inserat zu zahlen, besteht darin, ihr Unternehmen als kostenloses Inserat in Ihr Verzeichnis aufzunehmen und es ihnen zur Übernahme anzubieten.
Sie können sie dann entweder direkt kontaktieren und sie auf die Möglichkeit hinweisen, eventuell mit einer kostenlosen Testphase.
Oder die andere Option, die in der Regel die besten Ergebnisse liefert: Sie entdecken ihr Inserat in Ihrem Verzeichnis ganz von selbst.
So zeigen Sie ihnen direkt vor Ort, dass Sie wissen, wie man Ihrer Website Sichtbarkeit verschafft, und werden für sie sofort 10x attraktiver.
Damit die zweite Option möglich ist, benötigen Sie ein Inseratsübernahme-System das eingerichtet ist.
Ein Inseratsübernahme-System ist eine Funktion, die auf Verzeichnis-Websites implementiert wird und es Geschäftsinhabern ermöglicht, das Eigentum an ihrem Unternehmenseintrag auf der Plattform zu übernehmen.
Dieses System soll sicherstellen, dass die auf der Verzeichnis-Website angezeigten Informationen korrekt und aktuell sind und vom autorisierten Geschäftsinhaber oder Vertreter verwaltet werden.
Um ein Inserat zu übernehmen, müssen Geschäftsinhaber einen von der Verzeichnis-Website festgelegten Verifizierungsprozess durchlaufen, der möglicherweise die Vorlage eines Identitäts- oder Unternehmensnachweises erfordert, z. B. eine Gewerbegenehmigung, Steueridentifikationsnummer oder einen Versorgungsnachweis.
Sobald die Übernahme genehmigt ist, erhält der Geschäftsinhaber die Kontrolle über das Inserat und kann die Informationen aktualisieren, Fotos hinzufügen, auf Bewertungen antworten oder sein Unternehmen mithilfe der von der Verzeichnis-Website angebotenen Premium-Funktionen bewerben.
Für ein kleines Verzeichnis mit wenigen Inseraten können Sie dies mit einem Kontaktformular und einem manuellen Prozess einrichten.
Wenn Sie etwas Automatisierung hinzufügen möchten, ist für diese Funktion viel benutzerdefinierter Code erforderlich – insbesondere wenn Geschäftsinhaber im Rahmen des Übernahmeprozesses für ein Upgrade ihres Inserats bezahlen sollen.
Es gibt kein Plugin, das dies für Verzeichnisse, die mit CPT und ACF erstellt wurden, sofort und ohne Anpassung erledigt.
- Öffnungszeiten anzeigen und nach Verfügbarkeit filtern
Mit dem Advanced Custom Fields-Plugin können Sie Wiederholungsfelder für die Öffnungszeiten jedes Inserats erstellen.
Sie müssen ein Dropdown-Feld mit den Stundenwerten erstellen und dann PHP verwenden, um es für die Anzeige oder Berechnungen korrekt zu formatieren.
Wenn Sie minutengenaue Zeitangaben benötigen, müssen Sie ein Zahlenfeld verwenden.
Die Suche nach „Jetzt geöffnet
Eine weitere große Herausforderung besteht darin, diese Informationen zu cachen, ohne den Öffnungs-/Schließungsstatus der Einträge zu beeinträchtigen.
Dies erfordert JavaScript-Kenntnisse, damit die Änderung „Geöffnet/Geschlossen
It goes without saying that there is no ready-made plugin that will help you accomplish this feature for a CPT and ACF listing.
- Adding Ratings, Reviews, and Sorting Listings by Top Rated
Adding ratings and reviews to a custom post type, using the comments system is relatively easy.
There are free and premium plugins that will help you do that, and you may even find tutorials on how to achieve it without a plugin.
Sorting listings by popularity or top ratings is a bit more complex and will require some custom code and knowledge of the WP_Query class and possibly SQL.
Also, when working on this, you soon realize a simple best rating ordering is a poor ranking factor and it requires more complex ranking queries.
Especially if you decide to build custom database tables because, with all these fields, you will quickly notice that ACF is not scalable at all.
But more on this in the next point.
- Listings nach benutzerdefinierten Feldern oder Standort durchsuchen
Genau hier wird dieser Ansatz bei zunehmender Skalierung kläglich scheitern.
Die Datenbanktabelle wp_postmeta (benutzerdefinierte Felder) ist nicht dafür ausgelegt, Beiträge anhand benutzerdefinierter Felder abzufragen.
Das Filtern nach mehr als einem benutzerdefinierten Feld kann zu einem exponentiellen Anstieg der Abfragezeiten führen, und selbst ein kleines Verzeichnis hätte Schwierigkeiten, nach mehr als zwei benutzerdefinierten Feldern zu filtern.
Wer eine technische Erklärung sucht, kann diesen Beitrag über ACF-Skalierbarkeitsgrenzen.
Es sei denn, Sie arbeiten mit einigen hundert Listings mit jeweils einer geringen Anzahl benutzerdefinierter Felder – selbst bei einem hervorragenden Such-Plugin wie FacetWP werden Sie sehr schnell an Ihre Grenzen stoßen.
Je besser Ihr Server ist, desto länger dauert es, bis Sie an diese Grenze stoßen – aber irgendwann werden Sie dort ankommen.
Es gibt Plugins, die ACF-Daten in benutzerdefinierten Datenbanktabellen speichern, wie z. B.: https://hookturn.io/downloads/acf-custom-database-tables/, aber das ist mit zusätzlichen Kosten verbunden, und Sie müssen eine benutzerdefinierte Abfrage für Ihr Suchformular schreiben, um die neuen Datenbanktabellen zu durchsuchen.
- Kostenlose und kostenpflichtige Testversionen für Unternehmensinhaber einrichten
Das Anbieten von Testoptionen für ein einfacheres Onboarding ist ein effektiver Weg, um Unternehmensinhaber dazu zu ermutigen, die Funktionen und Vorteile einer Verzeichnis-Website zu entdecken.
Durch die Bereitstellung von kostenlosem oder vergünstigtem Zugang zu Premium-Funktionen können Unternehmensinhaber den Mehrwert der Plattform erleben, ohne sofort eine finanzielle Verpflichtung einzugehen.
Dieser Ansatz hilft dabei, die Einstiegshürden zu senken und Vertrauen zwischen der Verzeichnis-Website und potenziellen Kunden aufzubauen.
Wenn Unternehmensinhaber sich mit der Plattform vertraut machen und ihr Potenzial erkennen, ihre Online-Sichtbarkeit zu erhöhen, Leads zu generieren und ihren Ruf zu verbessern, ist es wahrscheinlicher, dass sie von Testnutzern zu zahlenden Kunden werden.
Das heißt, eine kostenlose oder kostenpflichtige Testversion anzubieten ist möglicherweise nicht so einfach. Wenn Sie den Weg der Eigenentwicklung gehen, werden Ihrem Projekt und Budget dadurch Tage, wenn nicht sogar Wochen an individueller Programmierarbeit hinzugefügt.
- Events hinzufügen und nach Datum suchen
Events sind Einträge mit mehr Statusoptionen als gewöhnliche Einträge, die von einem Start- und Enddatum abhängen. Events können vergangen, bevorstehend oder laufend sein.
Sie benötigen einen weiteren benutzerdefinierten Beitragstyp und komplexere Suchanfragen.
Es gibt mehrere Plugins, die einen vollständigen Event-Kalender zu Ihrer Website hinzufügen, aber der Stil wird sich völlig von Ihren mit der CPT/ACF-Kombination erstellten Einträgen unterscheiden.
Wenn Sie sich entscheiden, auch dies mit CPT/ACF zu erstellen, verdoppelt sich Ihre Entwicklungszeit.
- Eine Funktion zum Vergleichen von Einträgen erstellen
Die Vorteile, Nutzern zu ermöglichen, Einträge zu vergleichen auf einer Verzeichnis-Website sind zahlreich.
Indem Nutzern ermöglicht wird, verschiedene Unternehmen oder Dienstleistungen einfach nebeneinander zu bewerten, kann eine Vergleichsfunktion ihnen helfen, fundiertere Entscheidungen zu treffen.
Diese Funktion ermöglicht es Nutzern, wichtige Unterschiede wie Preise, Funktionen, Bewertungen oder Entfernung schnell zu erkennen und die am besten geeignete Option basierend auf ihren Bedürfnissen und Vorlieben zu wählen.
Die Implementierung einer Vergleichs-Listings-Funktion mithilfe von Custom Post Types und Advanced Custom Fields kann anspruchsvoll und zeitaufwendig sein.
Die Schwierigkeit ergibt sich aus der Notwendigkeit, ein System zu erstellen, das dynamisch einen Nebeneinandervergleich der ausgewählten Listings generiert und dabei verschiedene benutzerdefinierte Felder und Attribute berücksichtigt.
Darüber hinaus muss die Vergleichsoberfläche benutzerfreundlich, visuell ansprechend und auf verschiedene Bildschirmgrößen und Geräte angepasst sein.
Die Zeit, die für die Implementierung einer Vergleichs-Listings-Funktion benötigt wird, hängt von mehreren Faktoren ab, wie der Komplexität der Listings, der Anzahl der zu vergleichenden benutzerdefinierten Felder und der Erfahrung des Entwicklers mit Custom Post Types und Advanced Custom Fields.
Es ist jedoch nicht ungewöhnlich, dass dieser Prozess mehrere Wochen Entwicklung und Tests in Anspruch nimmt, um eine reibungslose und funktionale Benutzererfahrung zu gewährleisten.
- Ein Buchungssystem für Ferienunterkünfte hinzufügen
Dies wäre mit CPT und ACF allein eine äußerst komplexe Aufgabe. Es würde monatelange individuelle Programmierarbeit erfordern.
Es gibt einige kostenlose Plugins, die es uns ermöglichen, Buchungen für eine einzelne Unterkunft entgegenzunehmen – in diesem Fall müssten wir jedoch Buchungen für mehrere Immobilien verwalten, die jeweils verschiedenen Personen gehören.
Wir konnten kein Premium-Plugin finden, das Multivendor-Buchungen mit einer globalen Suche nach Datum, benutzerdefinierten Feldern (Schwimmbad, WLAN, Parkplatz) und Personenanzahl ermöglicht.
GeoDirectory ist jetzt die einzige Lösung, die eine vollständige Buchungs-Plugin für Ferienunterkünfte, das den Aufbau eines vollständigen Airbnb Clone ermöglicht, bei dem der Verzeichnis-Administrator durch eine Provision für jede gesicherte Buchung Geld verdienen kann.
Fazit
Obwohl es durchaus möglich ist, ein vollwertiges Unternehmensverzeichnis mit Custom Post Types und Advanced Custom Fields aufzubauen, könnte dieser Ansatz Monate oder sogar Jahre individueller Programmierarbeit erfordern, um alle benötigten Funktionen umzusetzen.
Eine alternative Lösung ist die Verwendung von ACF-kompatiblen Plugins, die bestimmte Aspekte der Entwicklung vereinfachen können.
Dieser Ansatz erfordert jedoch möglicherweise die Installation einer Vielzahl von Plugins verschiedener Entwickler, von denen viele nicht kostenlos sind, was zu potenziellen Kompatibilitätsproblemen und höheren Kosten führen kann.
Wenn Sie zum Beispiel folgende verwenden:
- Frontend Admin: $49,99/Jahr
- FactWP: $99/Jahr
- ACF Custom Database Tables: $149/Jahr
Kommen Sie bereits auf fast $300/Jahr und haben dabei nur einen Bruchteil der benötigten Funktionen abgedeckt.
Eine effizientere und kostengünstigere Option ist die Verwendung eines speziellen WordPress-Unternehmensverzeichnis-Plugins, wie zum Beispiel GeoDirectory.
Mit diesem Ansatz profitieren Sie von einer Reihe von Funktionen, die speziell für Verzeichnis-Websites entwickelt wurden – alles aus einer Hand.
Die Plugins sind in der Regel schlank, minimieren Performance-Probleme und bieten eine kohärentere und überlegene Anwendung, die gezielt auf den Aufbau von Verzeichnis-Websites ausgerichtet ist.
Mit einer Lösung wie GeoDirectory sparen Sie Zeit und Geld und können eine leistungsstarke, benutzerfreundliche Verzeichnis-Website erstellen – ohne die Herausforderungen und Komplexitäten, die mit individueller Programmierung und der Verwaltung mehrerer Plugins verbunden sind.