main content

Como crear un directorio profesional con Drupal para asociaciones y colegios

He montado bastantes intranets para colegios y asociaciones, y siempre acaba apareciendo la misma pieza: el directorio de colegiados. A veces es lo primero que pide el cliente; otras es lo último, cuando ya tienen el área privada y se dan cuenta de que la "guía de profesionales" sigue viviendo en un PDF que se actualiza dos veces al año.

La buena noticia es que Drupal es probablemente la herramienta más sensata para resolver esto. La mala es que muchos proyectos arrancan instalando módulos sin haber decidido cosas básicas, y a los seis meses tienen un Frankenstein donde nadie sabe quién puede editar qué. Voy a contar como crear un directorio profesional con Drupal para asociaciones y colegios desde el ángulo de quien lleva años montándolos, no desde un tutorial genérico.

Por que la arquitectura de Drupal encaja con un colegio profesional

WordPress puede valer si tu colegio tiene 150 miembros y nunca van a pasar de ahí. Para todo lo demás, Drupal gana por tres razones que se notan desde el primer mes.

La primera es la granularidad de permisos. Un colegio real no tiene "usuarios" y "admins". Tiene secretaría, junta de gobierno, colegiados ejercientes, no ejercientes, precolegiados, personal de delegaciones, y a veces colegiados honoríficos. Drupal modela todo eso con roles y, si te quedas corto, con módulos como Group (la evolución de Organic Groups) que añaden contextos de membresía dentro del mismo sitio.

La segunda es la escalabilidad. Hay colegios profesionales en España que rondan los 50.000 colegiados. A esa escala, los listados paginados de WordPress se vienen abajo en cuanto añades tres filtros facetados. Drupal con Views, Search API y Solr aguanta esos volúmenes: una búsqueda por especialidad y provincia se resuelve en menos de 200 ms.

La tercera, que pesa mucho con RGPD, es que el equipo de seguridad de Drupal publica avisos coordinados los miércoles y la comunidad responde rápido. Para una entidad que custodia el dato de miles de colegiados, esto forma parte del análisis de riesgos.

Decisiones que tienes que cerrar antes de tocar el admin

Lo que más cuesta hacer entender al cliente: el momento de pensar es antes de instalar nada. Cuatro decisiones que condicionan toda la arquitectura.

Qué campos van en la ficha. No la versión "ideal" del comité, la real. Cuanto más campo metas, más mantenimiento. Arranca con nombre, número de colegiado, especialidad (taxonomía), demarcación, contacto profesional, estado (ejerciente / no ejerciente / jubilado / baja) y foto. Lo demás se añade después si hace falta.

Quién ve qué. Tres modelos típicos. Directorio público completo (frecuente en colegios sanitarios con obligación legal de registro accesible). Público con datos parciales y resto para colegiados autenticados (lo habitual en colegios de abogados). Cerrado intracolegial (asociaciones empresariales). Se modela con Field Permissions y vistas distintas según rol.

Quién mantiene los datos. Centralizado en secretaría o autogestión por colegiado. Si optas por autogestión, necesitas moderación: en un colegio de unos 4.000 miembros tuve un caso de alguien que se autodescribía como "el referente nacional indiscutible" en su especialidad. Sin moderación, eso se publica.

Cómo entran los datos iniciales. Si arrancas con 12.000 fichas en una base de datos antigua, no las metes a mano. Planifica la migración con Migrate API antes de definir el esquema, no después.

Stack de módulos que suelo usar

Sin entrar en el paso a paso del admin (que cualquier sitemap de drupal.org cubre), esta es la pila que recomiendo para un directorio profesional medio-grande:

Función Módulo Cuándo
Tipo de contenido y campos Núcleo + Field UI Siempre
Listados y filtros básicos Views Siempre
Búsqueda facetada ligera Search API + Search API Database + Facets <5.000 fichas
Búsqueda facetada seria Search API + Search API Solr + Facets >5.000 fichas
URLs limpias Pathauto Siempre
SEO on-page Metatag + Schema.org Metatag Siempre
Geolocalización y mapas Geolocation Field + Leaflet Si hay despachos físicos
Permisos por campo Field Permissions Casi siempre
Formularios de actualización Webform Para flujos de modificación
Membresía por delegación Group Colegios con estructura territorial
Perfiles ricos por usuario Profile Si separas user account y ficha pública
Tema base Bootstrap Barrio (o el subtema corporativo) Por mantenibilidad

El punto de inflexión entre Search API Database y Solr está sobre las 5.000 fichas indexadas con tres o más facetas. Por debajo, la base de datos aguanta. Por encima, duele cada cambio de filtro. Para un colegio de 200 colegiados, Solr es matar moscas a cañonazos. Para uno de 50.000, no montarlo garantiza que el primer pico de tráfico tumbe el sitio.

Cómo planteo el modelo de datos

Mi enfoque por defecto: un tipo de contenido "Profesional" para la ficha pública y separación clara entre la entidad User (autenticación, sesión) y el nodo Profesional (datos publicables), unidas con Entity Reference bidireccional. Ventaja no obvia: si un colegiado pasa a no ejerciente pero mantiene histórico, puedes despublicar la ficha sin tocar la cuenta.

Para las especialidades, taxonomía. Nunca campo de texto libre. Un vocabulario "Especialidades" con términos cerrados por la junta. Si tienes estructura territorial, otro vocabulario "Demarcaciones". Si manejas idiomas cooficiales, activa los términos como traducibles desde el principio, no a los seis meses.

SEO de fichas: la pieza que más se descuida

Cada ficha es una URL indexable. Para un colegio de abogados, esto significa que tu directorio puede captar tráfico de búsquedas como "abogado laboralista colegiado en Valencia" o "penalista colegio Madrid". No estamos hablando de SEO de marca: hablamos de captación cualificada para los propios colegiados.

Tres cosas no negociables:

  1. Patrón de URL con Pathauto del tipo /directorio/[node:field_especialidad]/[node:title]. Limpio, jerárquico, semántico.
  2. Metatag dinámico que componga el title y la description a partir de campos. Nada de meta descriptions repetidas.
  3. Schema.org Metatag con el tipo Person (o ProfessionalService cuando proceda), incluyendo jobTitle, address y telephone. Esto alimenta los rich results y, en Google Maps cuando el dato es completo, ayuda a aparecer en búsquedas locales.

Si quieres profundizar en la capa técnica de posicionamiento sobre Drupal, tienes más material en optimizacion SEO tecnica en Drupal. Y si el directorio incluye mapas (frecuente en colegios sanitarios y de arquitectos), pasa por como integrar mapas en Drupal con Leaflet antes de meterte en harina.

Los tres errores que veo una y otra vez

No prever la actualización continua. Un directorio vale lo que vale su dato más viejo. Cron que envía recordatorio anual a cada colegiado pidiendo revisión y un Webform de actualización que llega a secretaría. Si una ficha lleva 24 meses sin tocarse, márcala con un flag interno. No la despubliques sin avisar (puede haber obligación legal de mantenerla), pero ten visibilidad.

Diseñar para escritorio y descubrir el móvil al final. Más del 60% del tráfico web en España es móvil, y los colegiados consultan el directorio desde el coche entre visitas. Si la tabla de Views tiene diez columnas, en móvil no se ve nada. Bootstrap Barrio bien configurado resuelve la mayoría de casos, pero hay que probar la vista móvil en cada hito.

Tomarse el RGPD a la ligera. Para colegios profesionales suele existir obligación legal de registro público, pero esa base jurídica cubre unos campos concretos, no todos los que se te ocurran. Documenta la base jurídica en el registro de actividades, separa campos públicos e internos con Field Permissions, y prepara el circuito de derechos ARSULIPO porque van a llegar.

Cuando un colegio de 200 y uno de 50.000 dejan de parecerse

Hasta los 500 colegiados, un Drupal estándar con Views, Pathauto y Metatag te resuelve el directorio en una semana bien medida. Servidor mediano, cache estándar, sin Solr.

A partir de 5.000 cambia la conversación. Necesitas Search API Solr, una estrategia de cache más fina (Varnish o Internal Page Cache configurado en serio), y un entorno de staging porque las migraciones ya no se pueden hacer en producción a las tres de la tarde.

Por encima de 20.000, hablamos de arquitectura: réplicas de Solr, balanceo, cron jobs distribuidos, monitorización con New Relic, y un equipo que conozca el dominio de colegios profesionales tanto como conoce Drupal. La diferencia entre las migraciones que salen bien y las que salen mal casi nunca es técnica: es de gobernanza del dato.

Cuando tiene sentido externalizar el proyecto

Un directorio para una asociación de 300 miembros con campos estándar lo monta un desarrollador Drupal junior en pocos días. No necesitas ayuda externa para eso.

Donde sí cambia el cálculo es cuando hay integración con el censo oficial del colegio, pasarela de pago para cuotas vinculada al estado de colegiación, sincronización con un ERP, requisitos WCAG 2.1 AA reales (no la versión de comité), o migración desde un sistema legacy de los años 2000. Ahí la complejidad escala de forma no lineal y el coste de equivocarse en la arquitectura inicial se paga en años de deuda técnica.

Si tu asociación o colegio está en ese escenario y no tenéis un equipo Drupal interno con experiencia en portales asociativos, en Tangram Consulting podemos diseñar la arquitectura, ejecutar la implementación y dejaros un sistema que vuestro equipo mantenga sin depender de nadie.

El directorio es la cara del colegio: cuidalo como tal

Cuando un colegiado busca a un compañero o cuando un ciudadano busca un profesional colegiado, la primera impresión de la institución es ese listado. Si funciona, si carga rápido, si los datos están al día y la búsqueda devuelve resultados útiles, el colegio transmite seriedad. Si la búsqueda tarda cinco segundos y devuelve a Pepe Pérez con un teléfono de 2014, el colegio transmite otra cosa.

Drupal te da las piezas para hacerlo bien: Views para el listado, Search API más Solr para la búsqueda a escala, Geolocation Field para la dimensión territorial, Webform para los flujos de actualización, Group para las membresías por delegación. Pero las piezas no montan el directorio solas. Lo que monta el directorio es decidir bien antes, modelar bien los permisos, y tratar el mantenimiento del dato como lo que es: la mitad del proyecto, no la fase opcional del final.