Cómo crear un directorio profesional con perfiles verificados, búsqueda geolocalizada y valoraciones en Drupal
Cuando alguien busca un fisioterapeuta cerca de casa o un abogado especializado en su provincia, lo primero que aparece en Google no siempre es una web corporativa: cada vez más son los directorios verticales los que se llevan ese tráfico. Plataformas que agrupan profesionales por categoría, ubicación y reputación se han convertido en activos digitales muy rentables para colegios profesionales, marketplaces de servicios y redes sectoriales.
Si vas a montar uno de esos directorios, Drupal 10 y Drupal 11 juegan en otra liga. Manejan bien decenas de miles de perfiles, integran motores de búsqueda potentes como Solr, conectan con APIs de geocodificación sin fricción y traen un sistema de roles suficiente para flujos de verificación complejos. Vamos a ver cómo encajar las piezas para crear un directorio profesional Drupal con perfiles verificados, búsqueda geolocalizada y sistema de valoraciones que aguante el tirón.
Modelar el perfil profesional antes de tocar código
Antes de activar módulos o pensar en plantillas, conviene parar y dibujar el modelo de datos. Un perfil mal estructurado se paga durante años en cada vista, cada filtro y cada migración.
Un perfil profesional serio suele incluir nombre y foto, taxonomía de especialidades (abogado > derecho laboral > despidos), descripción larga con editor enriquecido, dirección estructurada con el módulo Address, coordenadas geográficas, datos de contacto, años de experiencia, titulaciones, estado de verificación y los campos calculados de puntuación media y número de reseñas. Cada uno debe vivir en su propio campo, nunca embutido en un bloque de texto, o luego no puedes filtrar ni indexar bien.
Perfil como entidad separada del usuario
Hay una decisión que conviene pensar despacio: ¿el perfil profesional es el usuario Drupal con campos extra o es un tipo de contenido independiente vinculado al usuario? La respuesta práctica casi siempre es la segunda. Un mismo usuario puede gestionar varios perfiles (piensa en un despacho con seis abogados), los moderas de forma independiente y puedes publicar profesionales antes de que tengan cuenta activa, algo habitual cuando migras un censo inicial desde un Excel o desde otro CMS.
Usa una referencia de entidad desde el perfil al usuario, y aprovecha el módulo Address para que la dirección quede normalizada por país y región. Eso evita el típico caos de «Madrid», «MADRID» y «madrid» que ensucia cualquier filtro.
Verificación de perfiles: estados, roles y documentos privados
La confianza es lo que diferencia un directorio profesional de un listado más en internet. Si publicas cualquier ficha sin revisar, la reputación se hunde en semanas. Por eso el flujo de verificación tiene que ser explícito y trazable.
Estados con Content Moderation y Workflows
Define al menos cuatro estados con Content Moderation y Workflows: borrador (autoenviado, no visible), pendiente de verificación (pasa validación automática de campos obligatorios), verificado y publicado (con sello visible) y suspendido (oculto pero conservado por trazabilidad). Cada transición lleva permisos asociados a roles concretos. Solo el rol Verificador puede mover de pendiente a verificado, y solo Administrador puede suspender.
El módulo Rules o un par de hooks personalizados disparan notificaciones por correo en cada cambio de estado, para que el profesional sepa en qué punto va su solicitud sin tener que escribir a soporte cada dos días.
Documentos de verificación protegidos
El alta debería incluir un Webform con campos para adjuntar DNI, número de colegiado y certificados oficiales. Estos archivos viajan siempre a través de Private Files, nunca al sistema público, y se exponen solo al rol Verificador y al propio profesional. Si la documentación cae en el directorio público de archivos, tienes un problema legal antes que técnico.
Para sectores regulados (sanidad, derecho, asesoría fiscal) merece la pena sumar el módulo Two-Factor Authentication al login de profesionales. Es una pequeña fricción que reduce mucho el riesgo de suplantación. El módulo Verified ayuda además a marcar visualmente los perfiles que han pasado el proceso completo, con badge propio que renderizas en la ficha pública.
Búsqueda geolocalizada que funcione de verdad
La búsqueda geolocalizada es la funcionalidad que convierte un directorio en una herramienta útil. Cuando alguien escribe «fisioterapeuta en Valencia» o le da permiso al navegador para usar su ubicación, espera ver resultados ordenados por cercanía en menos de un segundo. Aquí Drupal cumple, pero hay que elegir bien las piezas.
Módulos que realmente vas a usar
Geolocation Field y Geofield son los dos contendientes para almacenar coordenadas. Geofield es más versátil (puntos, líneas, polígonos); si vas a dibujar zonas de cobertura o radios de servicio, tira por Geofield.
Geocoder convierte la dirección postal en latitud y longitud al guardar el perfil. Soporta Google Maps Geocoding, Mapbox, OpenCage y Nominatim. Si tu volumen es alto, Nominatim sobre tu propia instancia de OpenStreetMap te ahorra un dineral en cuotas mensuales.
Para mostrar resultados sobre mapa interactivo tienes Leaflet (gratuito, sobre OpenStreetMap) o Mapbox (más bonito, con coste por carga). Ambos se integran con Views y permiten clustering cuando hay cientos de marcadores en pantalla, evitando el mapa lleno de chinchetas que no se entiende.
Search API con Solr como columna vertebral
Aquí no hay debate serio: para un directorio con miles de perfiles, Search API más Solr (o Elasticsearch) es la combinación correcta. El motor de base de datos por defecto se ahoga en cuanto cruzas filtros de distancia, facetas y texto libre.
Search API Location añade los filtros de radio (5, 10, 25, 50 km) y el ordenamiento por proximidad sobre el índice Solr. Suma facets para que el usuario refine por especialidad, idioma o años de experiencia sin recargar la página, y Views se encarga de pintar el listado y el mapa en paralelo desde el mismo conjunto de resultados.
El flujo típico queda así: el usuario teclea ciudad o activa geolocalización, el sistema geocodifica esa entrada, Solr devuelve los perfiles dentro del radio elegido ordenados por distancia, y la interfaz muestra lista y mapa sincronizados. Cualquier filtro extra (precio por hora, disponibilidad, valoración mínima) se aplica sobre el mismo índice sin penalizar el rendimiento.
Sistema de valoraciones: estrellas, reseñas y antifraude
Las valoraciones son contenido fresco que Google premia, y son también la principal señal de confianza para el usuario que duda entre dos profesionales. El módulo Votingapi es la base sobre la que se construye casi todo el sistema de puntuación en Drupal, y Fivestar le pone encima el widget visual de estrellas que la gente reconoce sin necesidad de instrucciones.
Diseño de la reseña
Cada valoración debería tener puntuación de 1 a 5 estrellas (idealmente en varias dimensiones: calidad, comunicación, precio), texto libre con un mínimo de caracteres para evitar reseñas vacías y opción de publicar con nombre real o de forma anónima. Modela la reseña como entidad propia con referencia al perfil, no como campo dentro del perfil: te ahorra problemas de rendimiento y te permite moderar, exportar y reportar reseñas de forma independiente.
El módulo Comment puede valer para casos sencillos, pero en cuanto necesitas múltiples campos por reseña, el tipo de contenido dedicado gana por goleada.
Antifraude y derecho de respuesta
Las valoraciones falsas son el cáncer de los directorios profesionales. Para protegerte, exige que solo usuarios que han registrado un contacto o una reserva con el profesional puedan dejar reseña (la lógica se ata con un hook que compruebe el histórico). Activa moderación previa para reseñas con puntuación 1 o 5 estrellas, que son las más propensas a manipulación. Y usa el módulo Flag para que cualquier usuario pueda reportar una reseña sospechosa, generando una cola de revisión para tu equipo.
El derecho de respuesta del profesional es importante: deja que conteste públicamente a cualquier reseña. Aporta transparencia y suele desactivar a los reseñadores oportunistas.
SEO del directorio: estructura que escala sola
Un directorio bien armado genera miles de páginas indexables sin esfuerzo editorial constante, y esa es justo su gracia desde el punto de vista SEO. Las piezas a cuidar son cuatro.
Las páginas de categoría tipo «Abogados laboralistas en Madrid» o «Fisioterapeutas en Sevilla» se generan automáticamente con Views combinando taxonomía y filtro geográfico. Captan tráfico local de altísima conversión y son la espina dorsal del posicionamiento.
Las fichas individuales de cada profesional verificado son páginas únicas con contenido original (descripción, especialidades, reseñas) que Google valora. Añade Schema.org Metatag o un módulo JSON-LD para emitir datos estructurados de tipo LocalBusiness o Professional Service, con valoración media y datos de contacto. Eso te abre la puerta a los resultados enriquecidos con estrellas en SERP.
Las páginas de ubicación combinan contenido editorial introductorio (escrito una vez por tu equipo) con el listado dinámico de profesionales. Esa mezcla es la que Google interpreta como página de autoridad. Y expón los perfiles vía JSON:API si tienes apps móviles o socios que quieran consumir los datos: la flexibilidad multicanal de Drupal 10 y 11 es ejemplar.
Monetización: cómo rentabilizar el directorio
Drupal Commerce es la pieza que te permite activar varios modelos de ingresos sin salir del ecosistema. Los perfiles premium (cuota mensual o anual por destacar, ver estadísticas o tener insignias exclusivas) son el modelo más fácil de implementar y el que mejor convierte en sectores B2B.
Los leads cualificados, donde cobras comisión por cada contacto generado, exigen tracking limpio: usa Webform para los formularios y registra cada envío vinculado al perfil destino. La publicidad contextual segmentada por categoría o ubicación funciona si tu volumen de tráfico justifica el esfuerzo comercial. Y los servicios de valor añadido (agenda integrada, facturación, reservas) son la frontera donde el directorio se convierte en SaaS vertical.
Por dónde empezar tu directorio profesional en Drupal
Montar un directorio con perfiles verificados, búsqueda geolocalizada y sistema de valoraciones no es un fin de semana de instalar módulos. Es un proyecto que combina arquitectura de información, integración con APIs externas, optimización de búsqueda con Solr y estrategia SEO desde el día uno.
Las decisiones de las primeras semanas (modelo de entidad, motor de búsqueda, flujo de moderación, proveedor de geocodificación) condicionan el coste de mantenimiento durante años. Cambiar un Solr mal dimensionado o reescribir una taxonomía con cien mil perfiles indexados es un dolor que se evita pensando bien al principio.
Si tienes una idea de directorio vertical entre manos y quieres construirlo sobre una base que escale sin sustos, habla con el equipo de Tangram Consulting para diseñar tu directorio Drupal y planificar la arquitectura desde el primer sprint.