Irgendwo bei Host Nummer 11.000 stellte ich ernsthaft jede Entscheidung in Frage, die ich je getroffen hatte. Nicht auf dramatische Weise – eher so diese stille, spezifische Angst, zu realisieren, dass du dich in eine Ecke gemalt hast mit einem Datensatz, der ständig wächst, und einem Schema, das für vielleicht 500 Einträge entworfen wurde. Das war Hostlist. Ein Verzeichnis von Web-Hostern. Alle, oder so viele wie möglich.
Ich werde dir erzählen, was wirklich passiert ist – die Architekturentscheidungen, die Daten-Albträume, die Momente, in denen es klick gemacht hat, und die Dinge, die ich komplett anders machen würde, wenn ich heute nochmal anfangen würde.
Warum ein Web-Hosting-Verzeichnis
Ehrlich gesagt? Mich nervte es. Ich machte Recherchen für einen Seahawk-Client – ein mittelständisches SaaS-Unternehmen, das Hoster wechseln musste – und ich konnte kein einziges Verzeichnis finden, das sowohl umfassend als auch aktuell war. Die meisten waren entweder dünne Affiliate-Seiten, die sich als neutral ausgaben, oder veraltete Listen, auf denen immer noch Hoster standen, die 2017 eingegangen waren.and current. Most were either thin affiliate pages pretending to be neutral, or outdated lists that still featured hosts that had gone under in 2017.
Die Web-Hosting-Industrie hat tausende aktive Anbieter. Nicht Dutzende. Tausende. Shared-Hoster, verwaltete WordPress-Hoster, VPS-Anbieter, Bare-Metal-Spezialisten, regionale Akteure, von denen du nie gehört hast. Niemand hatte es richtig kartografiert. Also dachte ich: Das mache ich. Sechs Wochen, sagte ich mir.WordPress hosts, VPS providers, bare-metal specialists, regional players you've never heard of. Nobody had mapped it properly. So I thought: I'll do it. Six weeks, I told myself.
Es hat erheblich länger als sechs Wochen gedauert.
Der Markt hat den Instinkt aber bestätigt. Schau, was spezialisierte Verzeichnisse auch in bescheidenem Maßstab leisten können – Soak Oregon, ein einfaches Thermalquellen-Verzeichnis, generiert ungefähr 1.000 Dollar pro Monat an Anzeigeneinnahmen mit nur 25.000 monatlichen Besuchern. Das ist keine Typo. 25.000 Besucher. Die Wirtschaft eines gut ausgerichteten Verzeichnisses ist wirklich anders als die einer allgemeinen Content-Site.Soak Oregon, a simple hot springs directory, pulls roughly $1,000 a month in ad revenue on just 25,000 monthly visitors. That's not a typo. 25,000 visitors. The economics of a well-targeted directory are genuinely different from a general content site.
Das Datenproblem, das niemand anspricht
Hier versagen die meisten Anleitungen zum Verzeichnisaufbau völlig. Sie werden Ihnen sagen, Sie sollen Kategorien und Listungsfelder einrichten. Okay. Was sie Ihnen nicht sagen werden, ist, dass das Sammeln von 25.000 genauen, strukturierten Datensätzen ein völlig anderes Problem ist.
Mein erster Ansatz war manuelle Recherche plus eine Scraping-Schicht, die ich übers Wochenende zusammengebastelt habe. Der Scraper war okay. Die Daten waren Chaos. Hosting-Provider ändern ihre Preise ständig. Manche hatten drei verschiedene Markennamen. Manche waren Reseller von Resellern – die gleiche zugrundeliegende Infrastruktur mit fünfzehn verschiedenen Logos. Die Deduplizierung allein hat mich drei Wochen gekostet.data was chaos. Hosting providers change their pricing constantly. Some had three different brand names. Some were resellers of resellers -- the same underlying infrastructure wearing fifteen different logos. Deduplication alone cost me three weeks.
Ein paar Dinge, die ich früher hätte entscheiden sollen:
- Ein kanonischer Datensatz pro juristische Person, nicht pro Marke. Einige Hosts haben vier Marken. Sie sind trotzdem ein Host., not per brand. Some hosts have four brands. They're still one host.
- Frische-Datum für jedes Feld. Nicht nur „zuletzt aktualisiert" auf der Zeile – pro Feld. Preise werden schneller alt als Feature-Sets.Not just "last updated" on the row -- per field. Pricing goes stale faster than feature sets.
- Eine Human-Review-Queue von Anfang an. Automatisierte Ingestion ist gut für den ersten Durchgang. Aber du brauchst einen Prozess, um Datensätze zu flaggen, die falsch aussehen, bevor sie live gehen.Automated ingestion is fine for first-pass. But you need a process for flagging records that look wrong before they go live.
Der dritte Punkt besonders. Ich habe ihn anfangs übersprungen und bin dann mit einer Reihe von Einträgen gelandet, die völlig falsche Preisstufen hatten, weil ein Host seine Pläne neu gebrandmarkt hatte und der Scraper auf der alten Seitenstruktur übereingestimmt hatte. Es hat mich ewig gedauert, das zu finden.
Die richtige Tech Stack wählen
Ich bin bei WordPress geblieben. Ich weiß. Aber hör mir zu.
Für ein Verzeichnis dieser Größe willst du etwas mit einem reifen Plugin-Ökosystem und einer Query-Schicht, die du tief verstehst. Ich hatte Directorist bei kleineren Projekten verwendet und es hat sich gut bewährt – flexibles Schema, funktioniert mit Gutenberg, vernünftige Standard-Einstellungen. Für Hostlist speziell habe ich eine benutzerdefinierte Post-Type-Schicht oben drüber gelegt, weil ich Felder brauchte, die kein vorgefertigtes Plugin erwartet hatte (Dinge wie Rechenzentrum-Standorte, Peering-Vereinbarungen, Control-Panel-Versionen).Directorist on smaller projects and it held up well -- flexible schema, works with Gutenberg, sensible defaults. For Hostlist specifically I paired it with a custom post type layer on top, because I needed fields that no off-the-shelf plugin anticipated (things like data-centre locations, peering arrangements, control panel versions).
Die vier Seiten, die wirklich zählen – und ich würde sagen, das gilt für jedes Verzeichnis, egal welche Nische – sind:
- Homepage mit klarem Zweck, hervorgehobenen Einträgen und einer extrem einfachen Suche
- Archiv-/Browse-Seite mit schneller Filterung (hier verbringen 80% deiner Nutzer Zeit)
- Einzelnes Listing mit vollständigem Datensatz, strukturiertem Daten-Markup und einer Möglichkeit zum Beanspruchen/Melden
- Einreichungsseite (auch wenn du anfangs keine Nutzer-Einreichungen machst, baue sie fertig)
Ich kann die Archiv-Seite nicht genug betonen. Benutzer kommen nicht auf deine Startseite und navigieren dann. Sie landen von Google auf einer Archiv-Seite und entscheiden innerhalb von vier Sekunden, ob die Daten glaubwürdig aussehen. Mache diese Seite zuerst richtig.then navigate. They land on an archive page from Google and decide within four seconds whether the data looks credible. Get that page right first.
Was ich an der Stack ändern würde
Benutzerdefinierte Tabellen. Ich hätte die Kern-Listing-Daten viel früher aus der Post-Meta in echte relationale Tabellen verschieben sollen. WordPress post meta funktioniert bis etwa 5.000 Datensätze. Danach werden die Queries schmerzhaft. Die Performance-Überlegungen für großflächige Web-Anwendungen sind real – RAM, Query-Optimierung, Caching-Strategie – nichts davon planst du, wenn du nur versuchst, das Ding zum Laufen zu bringen.performance considerations for large-scale web applications are real -- RAM, query optimisation, caching strategy -- none of which you plan for when you're just trying to get the thing launched.
Das Verzeichnis selbst hosten (Wirklich unangenehm)
Es gibt eine besondere Ironie darin, ein Web-Hosting-Verzeichnis zu bauen und dann einen Host dafür auszuwählen. Im ersten Jahr bin ich durch drei Hosts gegangen.
Der erste war ein verwalteter WordPress-Host, den ich nicht nennen werde. Er ist beim Import-Prozess gescheitert – 25.000 Posts über WP-CLI waren nicht etwas, wofür ihre Infrastruktur ausgelegt war. Der zweite war ein VPS, auf dem ich alles selbst gehandhabt habe: Nginx als Reverse Proxy, Redis für Object Caching, ufw für die Firewall. Diese Self-Hosted-Architektur funktioniert brillant, wenn du weißt, was du tust – vollständige Transparenz, keine mysteriöse Drosselung, du kontrollierst die Cache-Header. Aber es ist auch 23 Uhr an einem Donnerstag, wenn etwas kaputt geht und es ist vollständig dein Problem.That self-hosted architecture approach works brilliantly when you know what you're doing -- total visibility, no mystery throttling, you control the cache headers. But it's also 11pm on a Thursday when something breaks and it's entirely your problem.
Ich bin auf einem verwalteten VPS mit Root-Zugriff gelandet. Beste aus beiden. Ich behielt Nginx davor, fügte eine CDN-Schicht für die statischen Assets hinzu, und das hat seitdem gehalten.
Die Lektion: Egal welchen Host du wählst, teste ihn mit deinem realen Datenvolumen, bevor du dich verpflichtest. Nicht mit einem Sample. Deinem echten Import. Ein Host, der einen 500er-Post-Blog problemlos bewältigt, bricht manchmal völlig zusammen, wenn du ihm 25.000 Datensätze während eines Datenbankneubaus ins Gesicht wirfst.test it with your actual data volume before you commit. Not a sample. Your real import. A host that handles a 500-post blog with flying colours will sometimes completely fall over when you throw 25,000 records at it during a database rebuild.
Monetarisierung: Was ich ausprobiert habe, was funktioniert hat
2019 sagte mir ein Kunde einmal: „Das Geld steckt in der Listung, nicht im Traffic." Das habe ich damals nicht vollständig verstanden. Jetzt tue ich es.
Hostlists Einnahmen kamen aus ein paar Quellen, grob in der Reihenfolge, was tatsächlich den Unterschied gemacht hat:
- Hervorgehobene/Premium-Listings – Hosts zahlen dafür, oben auf den relevanten Kategorieseiten zu erscheinen. Das funktioniert. Die CPMs sind gut, weil die Absicht hoch ist. -- hosts pay to appear at the top of relevant category pages. This works. The CPMs are good because the intent is high.
- Verifizierte Badges mit jährlicher Erneuerung – leichter im Umgang als ein vollständiges Premium-Listing, aber es summiert sich auf. -- lighter-touch than a full premium listing, but it adds up.
- Display-Werbung – Ich habe das spät hinzugefügt und es ist bei weitem der schwächste Performer. Das Publikum ist zu klein und zu spezifisch, damit große Ad-Netzwerke es richtig bewerten können. -- I added this late and it's the weakest performer by quite a lot. The audience is too small and too specific for broad ad networks to value properly.
- Lead-Generierung / Affiliate – Ich war hier vorsichtig, weil ich nicht wollte, dass HostList wie jede andere voreingenommene Vergleichsseite aussieht. Ich habe eine kleine Anzahl von Affiliate-Vereinbarungen, aber sie werden offengelegt und sind begrenzt. -- I was cautious here because I didn't want Hostlist to look like every other biased comparison site. I have a small number of referral arrangements but they're disclosed and limited.
Was ich nicht gemacht habe, ist ein Freemium-Modell, bei dem grundlegende Einträge kostenlos sind und Upgrades kostenpflichtig. Ich habe drüber nachgedacht. Das Problem mit Web-Hosting speziell ist, dass die Provider, die es wert sind, auf deiner Plattform zu sein, auch diejenigen sind, die dein Verzeichnis am wenigsten für Sichtbarkeit brauchen. Die kleineren Hosts profitieren mehr davon, gelistet zu werden, aber sie haben auch die kleinsten Budgets. Die Wirtschaft ist ungünstig.not done is a freemium model where basic listings are free and upgrades are paid. I thought about it. The problem with web hosting specifically is that the providers worth having on your platform are also the ones least likely to need your directory for exposure. The smaller hosts benefit more from being listed, but they're also the ones with the smallest budgets. The economics are awkward.
Brilliant Directories und ähnliche Plattformen haben das für stärker Community-orientierte Verzeichnisse herausgefunden – Hochzeitshändler, Elternressourcen – wo die Mitglieder wirklich von Einheimischen gefunden werden möchten. Web-Hosting ist anders. Es ist ein globaler, extrem wettbewerbsintensiver Markt. have this figured out for more community-oriented directories -- wedding vendors, parenting resources -- where the members genuinely want to be found by locals. Web hosting is different. It's a global, hyper-competitive market.
SEO für ein großes Verzeichnis: Die Dinge, die wirklich geholfen haben
Ein Verzeichnis mit 25.000 Einträgen ist ein SEO-Vorteil, wenn du es richtig machst. Es ist ein SEO-Nachteil, wenn du es nicht machst.
Die spezifischen Dinge, die geholfen haben:
- Einzigartige, vorlagenbasierte, aber variable Meta-Beschreibungen pro Listing – nicht nur der Host-Name + „Web-Hosting-Bewertung". Ich habe tatsächliche Datenpunkte eingezogen (Preisstufe, primärer Anwendungsfall, Gründungsjahr), um Beschreibungen zu generieren, die wirklich unterschiedlich waren. -- not just the host name + "web hosting review". I pulled in actual data points (price tier, primary use case, founding year) to generate descriptions that were genuinely different.
- Kategorie- und Tag-Seiten mit echtem redaktionellem Inhalt – nicht nur ein Raster von Karten. Eine 200-Wort-Einführung, die erklärt, was „verwaltetes WordPress-Hosting" eigentlich bedeutet, einmal geschrieben, auf die Kategorie angewendet. Google möchte sehen, dass jemand über die Seite nachgedacht hat. -- not just a grid of cards. A 200-word intro explaining what "managed WordPress hosting" actually means, written once, applied to the category. Google wants to see that someone thought about the page.
- Structured Data (Schema.org) – jedes Listing hat LocalBusiness- oder Organization-Markup. Die Click-Through-Raten haben sich deutlich verbessert, nachdem ich das richtig hinzugefügt habe. -- every listing has
LocalBusinessorOrganizationmarkup. Click-through rates improved noticeably after I added this properly. - Canonicals für Filter-Kombinationen – das hätte mich fast umgebracht. Faceted Search generiert tausende von URL-Kombinationen. Wenn du sie nicht zurück zur sauberen Archiv-URL kanonisierst, bist du innerhalb eines Monats mit deinem Crawl-Budget bankrott. -- this nearly killed me. Faceted search generates thousands of URL combinations. If you don't canonical them back to the clean archive URL, you'll be crawl-budget bankrupt within a month.
- Indexierte Einträge nur für aktive Hosts -- Ich setze noindex für alles, das ich nicht als noch operativ bestätigen kann. Tote Einträge sind schlimmer als gar keine Einträge. -- I noindex anything I can't confirm is still operating. Dead listings are worse than no listing.
Das eine, das ich früh falsch gemacht habe: Ich habe alles sofort indexiert. Einschließlich Stubs mit fast keinen Daten. Google hat sie gecrawlt, dünne Seiten gefunden und die ganze Domain eine Zeit lang teilweise abgewertet. Lektion: Indexiere es nicht, bis es es wert ist, indexiert zu werden.don't index it until it's worth indexing.
Was ich anders machen würde
Ein paar Dinge, schnell:
- Fang mit einer kleineren, präziseren Nische an. "Web-Hosting-Verzeichnis" ist riesig. Ich hätte mit "verwalteten WordPress-Hosts" starten sollen -- vielleicht 300-400 Datensätze -- das Konzept beweisen und dann expandieren.
- Baue die Data Pipeline vor dem Front End. Ich habe es rückwärts gemacht. Das Front End war live, bevor der Import-Prozess stabil war, was bedeutete, dass ich ständig Live-Daten patchen musste.before the front end. I did it backwards. The front end was live before the import process was solid, which meant I was constantly patching live data.
- Verlangen Sie Gebühren für Listings von Tag eins an. Auch £1/Monat. Kostenlose Listings ziehen Hosts an, die das Formular schlecht ausfüllen und nie auf Aktualisierungsanfragen reagieren. Eine kleine Zahlung filtert nach Qualität.
- Investieren Sie früher in ein ordnungsgemäßes Contributor-System. Einige der besten Datenkorekturen, die ich erhalten habe, kamen von Benutzern, die Fehler entdeckten. Ich hatte in den ersten acht Monaten keine strukturierte Möglichkeit, diese zu akzeptieren.
Ehrlich gesagt, Hostlist zu bauen war eines der technisch interessantesten Nebenprojekte, an denen ich gearbeitet habe -- und eines der demütigendsten. Das Verzeichnisformat sieht von außen betrügerisch einfach aus.
---
FAQ
Wie lange hat der Aufbau von Hostlist gedauert?
Die erste Version -- roh, voller Datenlücken, aber live -- hat etwa drei Monate Abende und Wochenenden gekostet. Sie in einen Zustand zu bringen, auf den ich wirklich stolz war, hat näher an einem Jahr gedauert. Die Datenqualitätsarbeit hört wirklich nie auf.
Welches WordPress-Plugin hast du für die Verzeichnisfunktionalität verwendet?
Directorist als Basis, dann eine erhebliche Menge an Custom Development oben drauf. Für ein kleineres Verzeichnis würde ich es mehr oder weniger out of the box nutzen. Bei 25.000 Einträgen wirst du früher oder später Custom Queries schreiben müssen -- das Plugin gibt dir nur einen Anfang.
Ist ein Web-Hosting-Verzeichnis tatsächlich rentabel?
Es kann sein. Meins deckt seine Kosten und verdient darüber hinaus, aber ich werde nicht so tun, als wäre es eine passive Einkommensmaschine. Die Margen hängen stark davon ab, ob du Premium-Listings verkaufen kannst. Display-Anzeigen allein bringen dich bei moderatem Traffic-Level nicht dorthin.
Wie hältst du 25.000 Einträge aktuell?
Unvollkommen. Ich habe eine Kombination aus geplanten Scrapern, die auf Änderungen von Pricing-Seiten prüfen, eine von der Community gemeldete Korrekturwarteschlange und einen manuellen Überprüfungszyklus für die Top 500 Hosts nach Traffic. Der Long Tail verschlechtert sich im Laufe der Zeit. Ich habe das akzeptiert.
Würdest du empfehlen, ein großes Verzeichnis als erstes Projekt zu bauen?
Nein. Fang mit etwas an, das du mit 500 Datensätzen machen kannst. Beweise, dass Leute es nutzen und dass es einen Monetarisierungspfad gibt. Dann skaliere. Die technische und Daten-Management-Komplexität eines großen Verzeichnisses ist wirklich nicht trivial, und du möchtest auf diese Probleme stoßen, nachdem du die Idee validiert hast, nicht davor.Then scale. The technical and data-management complexity of a large directory is genuinely non-trivial, and you want to encounter those problems after you've validated the idea, not before.
---
Das Besondere an Verzeichnissen ist, dass sie ein Langzeitspiel sind. Sie bauen einen Daten-Asset auf, nicht eine Content-Site. Der Traffic wächst langsam, die Arbeit ist wenig glamourös, und in den ersten sechs Monaten fragen Sie sich, ob jemand es bemerkt. Aber wenn die Daten gut und die Nische richtig sind, entwickeln Verzeichnisse eine Art Gravitationskraft, die mit anderen Formaten schwer zu replizieren ist. Deshalb baue ich sie weiter.
