Quelque part autour de l'hébergeur numéro 11 000, j'ai sérieusement remis en question chaque décision que j'avais jamais prise. Pas de manière dramatique — plutôt comme cette anxiété tranquille et spécifique de réaliser que vous vous êtes peint dans un coin avec un dataset qui ne cesse de croître et un schéma conçu pour peut-être 500 entrées. C'était Hostlist. Un annuaire d'hébergeurs web. Tous, ou aussi près que possible.
Je vais vous dire ce qui s'est réellement passé — les choix architecturaux, les cauchemars de données, les moments où ça a cliqué, et les parties que je ferais complètement différemment si je commençais aujourd'hui.
Pourquoi un annuaire d'hébergement web
Honnêtement ? Je me suis énervé. Je faisais des recherches pour un client Seahawk — un SaaS de milieu de gamme qui devait migrer d'hébergeurs — et je n'arrivais pas à trouver un seul annuaire qui soit à la fois complet et actuel. La plupart étaient soit des pages d'affiliation minces prétendant être neutres, soit des listes obsolètes qui présentaient encore des hébergeurs qui avaient disparu en 2017.andcurrent. Most were either thin affiliate pages pretending to be neutral, or outdated lists that still featured hosts that had gone under in 2017.
L'industrie de l'hébergement web compte des milliers de fournisseurs actifs. Pas des dizaines. Des milliers. Hébergement mutualisé, hébergement WordPress géré, fournisseurs VPS, spécialistes de bare-metal, acteurs régionaux dont vous n'avez jamais entendu parler. Personne ne l'avait correctement cartographié. Alors j'ai pensé : je vais le faire. Six semaines, me suis-je dit.
Cela a pris considérablement plus de six semaines.
Le marché a validé l'instinct, cependant. Regardez ce que les annuaires de niche peuvent faire, même à une échelle modeste — Soak Oregon, un simple annuaire de sources chaudes, génère environ 1 000 $ par mois en revenus publicitaires avec seulement 25 000 visiteurs mensuels. Ce n'est pas une erreur de frappe. 25 000 visiteurs. L'économie d'un annuaire bien ciblé est véritablement différente de celle d'un site de contenu généraliste.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.
Le problème des données dont personne ne parle
C'est là que la plupart des guides de création d'annuaires vous laissent complètement tomber. Ils vous diront de configurer des catégories et des champs de listing. D'accord. Ce qu'ils ne vous diront pas, c'est que rassembler 25 000 enregistrements précis et structurés est un problème d'une classe entièrement différente.
Ma première approche était la recherche manuelle plus une couche de scraping que j'ai bricolée en un week-end. Le scraper allait bien. Les données étaient du chaos. Les fournisseurs d'hébergement changent constamment leurs tarifs. Certains avaient trois noms de marque différents. Certains étaient des revendeurs de revendeurs — la même infrastructure sous-jacente portant quinze logos différents. La déduplication seule m'a coûté trois semaines.datawas 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.
Quelques choses que j'aurais aimé décider plus tôt :
- Un enregistrement canonique par entité juridique, pas par marque. Certains hébergeurs ont quatre marques. Ce sont toujours un seul hébergeur., not per brand. Some hosts have four brands. They're still one host.
- Une datation d'actualité sur chaque champ. Pas seulement une « date de dernière mise à jour » sur la ligne — par champ. Les tarifs deviennent obsolètes plus vite que les ensembles de fonctionnalités.Not just "last updated" on the row — per field. Pricing goes stale faster than feature sets.
- Une file d'attente d'examen humain dès le premier jour. L'ingestion automatisée convient pour la première passe. Mais vous avez besoin d'un processus pour signaler les enregistrements qui semblent incorrects avant qu'ils ne soient mis en ligne.Automated ingestion is fine for first-pass. But you need a process for flagging records that look wrong before they go live.
Le troisième point surtout. J'ai sauté dessus au début et j'ai fini avec un tas de listings qui avaient des niveaux de tarification complètement erronés parce qu'un hébergeur avait réorganisé ses plans et le scraper avait fait correspondre l'ancienne structure de page. Cela m'a pris une éternité à trouver.
Choisir la bonne pile technologique
J'ai opté pour WordPress. Je sais. Mais écoutez-moi.
Pour un annuaire à cette échelle, vous voulez quelque chose avec un écosystème de plugins mature et une couche de requête que vous comprenez profondément. J'avais utilisé Directorist sur des projets plus petits et cela avait bien fonctionné — schéma flexible, fonctionne avec Gutenberg, paramètres par défaut sensés. Pour Hostlist spécifiquement, je l'ai associé à une couche de type de publication personnalisée au-dessus, car j'avais besoin de champs qu'aucun plugin prêt à l'emploi n'avait anticipés (comme les emplacements des centres de données, les arrangements de peering, les versions du panneau de contrôle).Directoriston 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).
Les quatre pages qui comptent vraiment — et je dirais que c'est vrai pour tout annuaire quel que soit le créneau — sont :
- Accueil avec un objectif clair, des annonces en vedette, et une recherche très simple
- Page d'archive/navigation avec filtrage rapide (c'est là que vivent 80 % de vos utilisateurs)
- Annonce unique avec l'enregistrement complet, le balisage de données structurées, et un moyen de réclamer/signaler
- Page de soumission (même si vous ne faites pas de soumissions d'utilisateurs initialement, construisez-la prête)
Je ne peux pas assez insister sur la page d'archive. Les utilisateurs ne viennent pas à votre accueil puis ne naviguent. Ils arrivent sur une page d'archive depuis Google et décident en quatre secondes si les données semblent crédibles. Faites cette page en premier.thennavigate. They land on an archive page from Google and decide within four seconds whether the data looks credible. Get that page right first.
Ce que je changerais dans la pile technologique
Tableaux personnalisés. J'aurais dû extraire les données principales de la liste des métadonnées de publication et les placer dans des tableaux relationnels appropriés bien plus tôt. Les métadonnées de publication WordPress fonctionnent bien jusqu'à peut-être 5 000 enregistrements. Au-delà, les requêtes deviennent difficiles. Les considérations de performance pour les applications web à grande échelle sont réelles — RAM, optimisation des requêtes, stratégie de mise en cache — rien de tout cela que vous ne planifiez quand vous essayez juste de lancer le truc.performance considerations for large-scale web applicationsare real — RAM, query optimisation, caching strategy — none of which you plan for when you're just trying to get the thing launched.
Héberger le répertoire lui-même (véritablement maladroit)
Il y a une ironie particulière à construire un répertoire d'hébergement web et à devoir ensuite choisir un hôte pour celui-ci. J'ai changé trois hôtes au cours de la première année.
Le premier était un hôte WordPress géré que je ne nommerai pas. Il s'est étouffé lors du processus d'importation — 25 000 publications via WP-CLI n'était pas quelque chose pour lequel son infrastructure était conçue. Le second était un VPS où j'ai tout géré moi-même : Nginx comme proxy inverse, Redis pour la mise en cache des objets, ufw pour le pare-feu. Cette approche d'architecture auto-hébergée fonctionne brillamment quand vous savez ce que vous faites — visibilité totale, pas de limitation mystérieuse, vous contrôlez les en-têtes de cache. Mais c'est aussi 23 h le jeudi quand quelque chose se casse et c'est entièrement votre problème.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.
J'ai opté pour un VPS géré avec accès root. Le meilleur des deux. J'ai gardé Nginx devant, ajouté une couche CDN pour les actifs statiques, et cela a tenu depuis.
La leçon : quel que soit l'hôte que vous choisissez, testez-le avec votre volume de données réel avant de vous engager. Pas un échantillon. Votre vrai import. Un hôte qui gère un blog de 500 publications sans problème s'effondrera parfois complètement quand vous lancez 25 000 enregistrements lors d'une reconstruction de base de données.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.
Monétisation : Ce que j'ai essayé, Ce qui a fonctionné
En 2019, un client m'a une fois dit, « l'argent est dans la liste, pas le trafic. » Je ne l'ai pas complètement compris à l'époque. Je comprends maintenant.
Le revenu d'Hostlist provient de plusieurs endroits, en ordre approximatif de ce qui a vraiment fait bouger les choses :
- Annonces vedettes/premium — les hôtes paient pour apparaître en haut des pages de catégories pertinentes. Cela fonctionne. Les CPM sont bons parce que l'intention est élevée.— hosts pay to appear at the top of relevant category pages. This works. The CPMs are good because the intent is high.
- Badges de vérification avec renouvellement annuel — moins exigeant qu'une liste premium complète, mais ça s'additionne.— lighter-touch than a full premium listing, but it adds up.
- Publicité d'affichage — je l'ai ajoutée tardivement et c'est le plus faible performer de loin. L'audience est trop petite et trop spécifique pour que les grands réseaux publicitaires la valorisent correctement.— 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 gen / affiliation — j'ai été prudent ici parce que je ne voulais pas que Hostlist ressemble à tous les autres sites de comparaison biaisés. J'ai un petit nombre d'arrangements de parrainage mais ils sont divulgués et limités.— 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.
Ce que je n'ai pas fait, c'est un modèle freemium où les listes de base sont gratuites et les mises à niveau sont payantes. J'y ai pensé. Le problème spécifique avec l'hébergement web est que les fournisseurs qui valent la peine d'être sur votre plateforme sont aussi ceux les moins susceptibles d'avoir besoin de votre annuaire pour la visibilité. Les petits hébergeurs bénéficient plus du fait d'être listés, mais ce sont aussi ceux ayant les plus petits budgets. L'économie est maladroite.notdone 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 et des plateformes similaires ont résolu cela pour des annuaires plus orientés communauté — prestataires de mariage, ressources parentales — où les membres veulent vraiment être trouvés par les habitants. L'hébergement web est différent. C'est un marché mondial, hyper-compétitif.have this figured out for more community-oriented directories — wedding vendors, parenting resources — where the members genuinelywantto be found by locals. Web hosting is different. It's a global, hyper-competitive market.
SEO pour un Grand Annuaire : Les Points Qui Ont Vraiment Aidé
Un annuaire avec 25 000 entrées est un atout SEO si vous le gérez correctement. C'est un handicap SEO si vous ne le faites pas.
Les choses spécifiques qui ont aidé :
- Métadescriptions uniques, basées sur des modèles mais variables par listing — pas seulement le nom de l'hôte + « avis d'hébergement web ». J'ai intégré des points de données réels (gamme de prix, cas d'usage principal, année de fondation) pour générer des descriptions qui étaient vraiment différentes.— 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.
- Pages de catégorie et d'étiquette avec du contenu éditorial réel — pas seulement une grille de cartes. Une intro de 200 mots expliquant ce que « l'hébergement WordPress géré » signifie réellement, écrite une fois, appliquée à la catégorie. Google veut voir que quelqu'un a réfléchi à la page.— 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.
- Données structurées (Schema.org) — chaque annonce dispose d'un balisage LocalBusiness ou Organization. Les taux de clics ont s'être améliorés notablement après avoir ajouté cela correctement.— every listing has
LocalBusinessorOrganizationmarkup. Click-through rates improved noticeably after I added this properly. - Canoniques sur les combinaisons de filtres — cela m'a presque tué. La recherche à facettes génère des milliers de combinaisons d'URL. Si vous ne les canonisez pas vers l'URL d'archive propre, vous serez en faillite de budget de crawl en un mois.— 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.
- Annonces indexées uniquement pour les hôtes actifs — j'ajoute noindex à tout ce que je ne peux pas confirmer comme toujours opérationnel. Les annonces mortes sont pires qu'aucune annonce.— I noindex anything I can't confirm is still operating. Dead listings are worse than no listing.
La seule chose que j'ai mal faite au début : j'ai tout indexé immédiatement. Y compris les ébauches avec presque aucune donnée. Google les a crawlées, a trouvé des pages minces, et a partiellement dévalué tout le domaine pendant un certain temps. Leçon : ne l'indexez pas tant que cela ne vaut pas la peine d'être indexé.don't index it until it's worth indexing.
Ce que je ferais différemment
Quelques choses, rapidement :
- Commencez par une niche plus petite et plus serrée. « Annuaire d'hébergement web » est énorme. J'aurais dû lancer avec « hôtes WordPress gérés » — peut-être 300-400 enregistrements — prouver le concept, puis me développer.
- Construisez le pipeline de données avant le front end. Je l'ai fait à l'envers. Le front end était en direct avant que le processus d'importation ne soit solide, ce qui signifiait que je corrigeais constamment les données en direct.beforethe 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.
- Facturez les annonces dès le premier jour. Même 1 £/mois. Les annonces gratuites attirent les hôtes qui remplissent mal le formulaire et ne répondent jamais aux demandes de mise à jour. Un petit paiement filtre pour la qualité.
- Investissez dans un système de contributeurs approprié plus tôt. Certaines des meilleures corrections de données que j'ai reçues provenaient d'utilisateurs qui ont repéré des erreurs. Je n'avais aucun moyen structuré d'accepter celles-ci pendant les huit premiers mois.
Honnêtement, construire Hostlist a été l'un de mes projets parallèles les plus intéressants sur le plan technique — et l'un des plus humiliants. Le format du répertoire semble terriblement simple vue de l'extérieur.
---
FAQ
Combien de temps a-t-il fallu pour construire Hostlist ?
La première version — brute, pleine de lacunes dans les données, mais en ligne — a pris environ trois mois de soirées et de week-ends. Pour la mettre dans un état dont j'étais vraiment fier, il a fallu près d'un an. Le travail de qualité des données ne s'arrête jamais vraiment.
Quel plugin WordPress avez-vous utilisé pour la fonctionnalité de répertoire ?
Directorist comme base, puis une quantité substantielle de développement personnalisé par-dessus. Pour un répertoire plus petit, je l'utiliserais plus ou moins tel quel. Avec 25 000 entrées, vous devrez éventuellement écrire des requêtes personnalisées de toute façon — le plugin vous donne juste un point de départ.
Un répertoire d'hébergement Web est-il vraiment rentable ?
Ça peut l'être. Le mien couvre ses coûts et gagne au-delà, mais je ne prétendrai pas que c'est une machine de revenu passif. Les marges dépendent fortement de votre capacité à vendre des annonces premium. Les annonces d'affichage seules ne vous y mèneront pas à des niveaux de trafic modérés.
Comment gardez-vous 25 000 annonces à jour ?
Imparfaitement. J'ai une combinaison de scrapers planifiés qui vérifient les changements de pages de tarification, une file d'attente de corrections signalées par la communauté, et un cycle d'examen manuel pour les 500 premiers hébergeurs par trafic. La longue traîne se dégrade au fil du temps. J'ai accepté cela.
Recommanderiez-vous de créer un grand annuaire comme premier projet ?
Non. Commencez par quelque chose que vous pouvez faire en 500 enregistrements. Prouvez que les gens l'utilisent et qu'il existe un chemin de monétisation. Puis mettez à l'échelle. La complexité technique et de gestion des données d'un grand annuaire est véritablement non triviale, et vous voulez rencontrer ces problèmes après avoir validé l'idée, pas avant.Thenscale. 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.
---
La chose avec les annuaires, c'est que c'est un jeu de longue haleine. Vous construisez un actif de données, pas un site de contenu. Le trafic augmente lentement, le travail est sans glamour, et pendant les six premiers mois vous vous demandez si quelqu'un s'en soucie. Mais quand les données sont bonnes et la niche est juste, les annuaires développent une sorte de traction gravitationnelle qui est difficile à reproduire avec n'importe quel autre format. C'est pourquoi je continue à les construire.
