business-directory-website-development.html
< BACK Escritorio del diseñador mostrando listados de directorio en múltiples pantallas

Lo que Aprendí Construyendo Hostlist: 25,000 Hosts Web

Alrededor del proveedor número 11,000, genuinamente cuestioné cada decisión que había tomado. No de forma dramática -- más bien ese temor específico y tranquilo de darte cuenta de que te has metido en una esquina con un conjunto de datos que sigue creciendo y un esquema diseñado para quizás 500 entradas. Eso era HostList. Un directorio de proveedores web. Todos ellos, o lo más cerca que pude llegar.

Voy a contarte qué pasó realmente -- las decisiones arquitectónicas, las pesadillas de datos, los momentos en que todo encajó, y las partes que haría completamente diferente si empezara hoy.

Por Qué un Directorio de Hosting Web

¿Honestamente? Me molestó. Estaba haciendo investigación para un cliente de Seahawk Media -- una SaaS de mercado medio que necesitaba migrar de proveedores -- y no encontraba un solo directorio que fuera tanto comprehensivo como actual. La mayoría eran o bien páginas de afiliados delgadas fingiendo ser neutrales, o listados desactualizados que todavía presentaban proveedores que habían quebrado en 2017.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.

La industria de hosting web tiene miles de proveedores activos. No docenas. Miles. Hosts compartidos, hosts WordPress administrados, proveedores VPS, especialistas en bare-metal, jugadores regionales que nunca has oído hablar. Nadie lo había mapeado correctamente. Así que pensé: lo haré. Seis semanas, me dije a mí mismo.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.

Tardó considerablemente más de seis semanas.

El mercado validó el instinto, de todas formas. Mira lo que los directorios de nicho pueden lograr incluso a escala modesta -- Soak Oregon, un simple directorio de aguas termales, genera aproximadamente $1,000 mensuales en ingresos por publicidad en apenas 25,000 visitantes mensuales. Eso no es un error. 25,000 visitantes. La economía de un directorio bien dirigido es genuinamente diferente a la de un sitio de contenido general.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.

El Problema de Datos del que Nadie Habla

Aquí es donde la mayoría de guías para construir directorios te fallan completamente. Te dirán que configures categorías y campos de listado. Bien. Lo que no te dirán es que reunir 25,000 registros precisos y estructurados es un problema de clase completamente diferente.

Mi primer enfoque fue investigación manual más una capa de scraping que armé rápidamente un fin de semana. El scraper funcionaba bien. Los datos eran caos. Los proveedores de hosting cambian sus precios constantemente. Algunos tenían tres nombres de marca diferentes. Algunos eran revendedores de revendedores -- la misma infraestructura subyacente con quince logos diferentes. Solo la deduplicación me costó tres semanas.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.

Algunas cosas que desearía haber decidido antes:

  • Un registro canónico por entidad legal, no por marca. Algunos hosts tienen cuatro marcas. Siguen siendo un host., not per brand. Some hosts have four brands. They're still one host.
  • Fechas de actualización en cada campo. No solo "última actualización" en la fila -- por campo. Los precios se vuelven obsoletos más rápido que los conjuntos de características.Not just "last updated" on the row -- per field. Pricing goes stale faster than feature sets.
  • Una cola de revisión humana desde el primer día. La ingesta automatizada está bien para el primer pase. Pero necesitas un proceso para marcar registros que se ven mal antes de que salgan en vivo.Automated ingestion is fine for first-pass. But you need a process for flagging records that look wrong before they go live.

El tercer punto especialmente. Lo omití al principio y terminé con un lote de listados que tenían niveles de precios completamente incorrectos porque un host había rebrandizado sus planes y el scraper había coincidido con la estructura de página antigua. Me tomó una eternidad encontrarlo.

Elegir la pila tecnológica correcta

Opté por WordPress. Lo sé. Pero escúchame.

Para un directorio en esta escala, necesitas algo con un ecosistema de plugins maduro y una capa de consultas que entiendas profundamente. Había usado Directorist en proyectos más pequeños y funcionó bien -- esquema flexible, funciona con Gutenberg, valores por defecto sensatos. Para HostList específicamente lo emparejé con una capa de tipo de entrada personalizada encima, porque necesitaba campos que ningún plugin estándar anticipaba (cosas como ubicaciones de centros de datos, arreglos de peering, versiones de panel de control).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).

Las cuatro páginas que realmente importan -- y diría que esto es verdad de cualquier directorio sin importar el nicho -- son:

  1. Página de inicio con propósito claro, listados destacados, y una búsqueda simple
  2. Página de archivo/exploración con filtrado rápido (aquí es donde vive el 80% de tus usuarios)
  3. Listado individual con el registro completo, marcado de datos estructurados, y una forma de reclamar/reportar
  4. Página de envío (incluso si no haces envíos de usuarios inicialmente, constrúyela lista)

No puedo enfatizar suficientemente la página de archivo. Los usuarios no llegan a tu página de inicio y luego navegan. Aterrizan en una página de archivo desde Google y deciden en cuatro segundos si los datos se ven creíbles. Acierta esa página primero.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.

Lo que cambiaría de la pila

Tablas personalizadas. Debería haber movido los datos de listado principal fuera de metadatos de entrada y hacia tablas relacionales adecuadas mucho antes. Los metadatos de entrada de WordPress están bien hasta quizás 5,000 registros. Pasado eso, las consultas se vuelven dolorosas. Las consideraciones de rendimiento para aplicaciones web a gran escala son reales -- RAM, optimización de consultas, estrategia de caché -- nada de lo cual planificas cuando solo intentas lanzar la cosa.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.

Alojamiento del Directorio en Sí (Genuinamente Incómodo)

Hay una ironía particular en construir un directorio de alojamiento web y luego tener que elegir un host para él. Pasé por tres hosts en el primer año.

El primero fue un hosting WordPress administrado que no voy a nombrar. Se quedó corto en el proceso de importación — 25,000 posts entrando vía WP-CLI no era algo para lo que su infraestructura estuviera diseñada. El segundo fue un VPS donde manejé todo yo mismo: Nginx como reverse proxy, Redis para object caching, ufw para firewall. Ese enfoque de arquitectura autohospedada funciona brillantemente cuando sabes lo que estás haciendo — visibilidad total, sin throttling misterioso, controlas los cache headers. Pero también es las 11pm un jueves cuando algo se rompe y es completamente tu problema.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.

Acabé con un VPS gestionado con acceso root. Lo mejor de ambos. Mantuve Nginx al frente, añadí una capa CDN para los activos estáticos, y eso ha funcionado desde entonces.

La lección: sea cual sea el host que elijas, pruébalo con tu volumen de datos real antes de comprometerte. No una muestra. Tu importación real. Un host que maneja un blog de 500 posts volando a veces se desmorona completamente cuando le lanzas 25,000 registros durante una reconstrucción de base de datos.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.

Monetización: Lo que Intenté, Lo que Funcionó

En 2019 un cliente una vez me dijo, "el dinero está en el listado, no en el tráfico." No lo entendí completamente entonces. Ahora sí.

Los ingresos de Hostlist han venido de unos pocos lugares, en orden aproximado de lo que realmente movió la aguja:

  • Listados destacados/premium — los hosts pagan para aparecer en la parte superior de las páginas de categorías relevantes. Esto funciona. Los CPMs son buenos porque la intención es alta. -- hosts pay to appear at the top of relevant category pages. This works. The CPMs are good because the intent is high.
  • Badges de verificado con renovación anual — menos invasivo que un listado premium completo, pero se suma. -- lighter-touch than a full premium listing, but it adds up.
  • Publicidad de display — la agregué tarde y es el desempeño más débil por mucho. La audiencia es demasiado pequeña y demasiado específica para que las redes publicitarias amplias la valoren correctamente. -- 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 / affiliate — fui cauteloso aquí porque no quería que HostList pareciera como todos los otros sitios de comparación sesgados. Tengo una pequeña cantidad de arreglos de referidos pero están divulgados y limitados. -- 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.

Lo que no he hecho es un modelo freemium donde los listados básicos son gratis y las mejoras son pagadas. Lo consideré. El problema con el hosting web específicamente es que los proveedores que vale la pena tener en tu plataforma también son los menos propensos a necesitar tu directorio para exposición. Los hosts más pequeños se benefician más de estar listados, pero también son los que tienen los presupuestos más pequeños. La economía es incómoda.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 y plataformas similares ya lo han resuelto para directorios más orientados a la comunidad — proveedores de bodas, recursos para padres — donde los miembros genuinamente quieren ser encontrados por locales. El hosting web es diferente. Es un mercado global e hipercompetitivo. 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 para un Directorio Grande: Los Detalles Que Realmente Ayudaron

Un directorio con 25,000 entradas es un activo de SEO si lo manejas correctamente. Es una responsabilidad de SEO si no lo haces.

Las cosas específicas que ayudaron:

  1. Meta descriptions únicas, plantilladas pero variables por listado — no solo el nombre del host + "web hosting review". Incorporé puntos de datos reales (tier de precio, caso de uso principal, año de fundación) para generar descripciones que fueran genuinamente diferentes. -- 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.
  2. Páginas de categorías y tags con contenido editorial real — no solo una grilla de tarjetas. Una intro de 200 palabras explicando qué es realmente "managed WordPress hosting", escrita una vez, aplicada a la categoría. Google quiere ver que alguien pensó sobre la página. -- 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.
  3. Structured data (Schema.org) — cada listado tiene markup de LocalBusiness u Organization. Las click-through rates mejoraron notablemente después de que agregué esto correctamente. -- every listing has LocalBusiness or Organization markup. Click-through rates improved noticeably after I added this properly.
  4. Canonicals en combinaciones de filtros — esto casi me mata. La búsqueda facetada genera miles de combinaciones de URL. Si no las canonicalizas de vuelta a la URL de archivo limpia, estarás en bancarrota de crawl budget dentro de un mes. -- 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.
  5. Solo listados indexados para hosts activos -- desindexo cualquier cosa que no pueda confirmar que sigue operando. Los listados muertos son peor que no tener listado. -- I noindex anything I can't confirm is still operating. Dead listings are worse than no listing.

Lo único que hice mal al principio: indexé todo de inmediato. Incluyendo stubs con casi sin datos. Google los rastreó, encontró páginas delgadas, y parcialmente descontó todo el dominio por un tiempo. Lección: no lo indexes hasta que valga la pena indexarlo.don't index it until it's worth indexing.

Lo que haría diferente

Algunos puntos, rápidamente:

  • Comienza con un nicho más pequeño y definido. "Directorio de hosting web" es enorme. Debería haber lanzado con "hosts WordPress gestionados" -- tal vez 300-400 registros -- probar el concepto, luego expandir.
  • Construye el pipeline de datos antes del front end. Lo hice al revés. El front end estaba activo antes de que el proceso de importación fuera sólido, lo que significaba que estaba constantemente parcheando datos en vivo.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.
  • Cobra por listados desde el primer día. Incluso £1/mes. Los listados gratuitos atraen a hosts que rellenan el formulario mal y nunca responden a solicitudes de actualización. Un pequeño pago filtra por calidad.
  • Invierte en un sistema de colaborador adecuado más temprano. Algunos de los mejores datos que he recibido vinieron de usuarios que detectaron errores. No tenía una forma estructurada de aceptar esos durante los primeros ocho meses.

Honestamente, construir HostList ha sido uno de los proyectos paralelos más técnicamente interesantes en los que he trabajado -- y uno de los más humillantes. El formato de directorio se ve engañosamente simple desde afuera.

---

Preguntas frecuentes

¿Cuánto tiempo tomó construir Hostlist?

La primera versión -- áspera, llena de vacíos de datos, pero en vivo -- tomó alrededor de tres meses de noches y fines de semana. Llevarlo a un estado del que estuviera genuinamente orgulloso tomó cerca de un año. El trabajo de calidad de datos nunca se detiene realmente.

¿Qué plugin de WordPress utilizaste para la funcionalidad del directorio?

Directorist como base, luego una cantidad sustancial de desarrollo personalizado encima. Para un directorio más pequeño lo usaría más o menos tal como viene. Con 25,000 entradas, eventualmente necesitarás escribir consultas personalizadas de todas formas -- el plugin solo te da un punto de partida.

¿Es realmente rentable un directorio de alojamiento web?

Puede serlo. El mío cubre sus costos y gana más allá de eso, pero no pretenderé que es una máquina de ingresos pasivos. Los márgenes dependen en gran medida de si puedes lograr que se vendan listados premium. Los anuncios de display solos no te llevarán allí en niveles de tráfico moderados.

¿Cómo mantienes 25,000 listados actualizados?

Imperfectamente. Tengo una combinación de scrapers programados que verifican cambios en las páginas de precios, una cola de correcciones reportadas por la comunidad, y un ciclo de revisión manual para los 500 hosts principales por tráfico. La cola larga se degrada con el tiempo. Lo he aceptado.

¿Recomendarías construir un directorio grande como primer proyecto?

No. Comienza con algo que puedas hacer en 500 registros. Prueba que las personas lo usan y que hay un camino de monetización. Entonces escala. La complejidad técnica y de gestión de datos de un directorio grande es genuinamente no trivial, y quieres encontrar esos problemas después de haber validado la idea, no antes.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.

---

Lo de los directorios es que son un juego a largo plazo. Estás construyendo un activo de datos, no un sitio de contenido. El tráfico crece lentamente, el trabajo no es glamoroso, y durante los primeros seis meses te preguntarás si a alguien le importa. Pero cuando los datos son buenos y el nicho es el correcto, los directorios desarrollan una especie de atracción gravitacional que es difícil de replicar con cualquier otro formato. Por eso sigo construyéndolos.

< BACK