Cómo crear un portal multiidioma con Drupal | Guía
Cómo crear un portal multiidioma con Drupal: guía completa para proyectos reales
Voy al grano: montar un sitio en varios idiomas parece trivial hasta que abres Google Search Console dos semanas después del lanzamiento y ves alertas de hreflang, slugs duplicados, traducciones a medias y menús que aparecen en el idioma equivocado. He visto esa pantalla muchas veces. Y casi siempre el problema no estaba en el CMS, sino en decisiones de arquitectura tomadas el primer día sin pensar en qué pasa en producción.
Lo bueno es que, si eliges bien la herramienta, te ahorras la mayoría de esos golpes. Drupal lleva más de una década resolviendo este problema mejor que ninguna otra plataforma open-source, y en esta guía vamos a desmontarlo pieza a pieza: cómo crear un portal multiidioma con Drupal sin tropezar con las trampas habituales, desde la arquitectura inicial hasta el día a día con traductores.
Por qué Drupal es la referencia en proyectos multiidioma
Aquí está la diferencia clave que la mayoría pasa por alto: Drupal no parchea el multilingüismo con un plugin, lo trae en el core desde la versión 8 (2015). Cuatro módulos dedicados a idiomas vienen ya en la instalación base. No hay que pagar nada, ni rezar para que el plugin sea compatible con tu tema.
Compáralo con WordPress. Allí necesitas WPML (de pago) o Polylang, y cada plugin nuevo que instales puede romper la traducción. Lo he visto: un plugin de formularios que no respeta el filtro de idioma, y de pronto los emails llegan en inglés a clientes españoles. Drupal no funciona así porque la entidad y su traducción comparten ID interno: el sistema sabe en todo momento que dos páginas son la misma cosa en idiomas distintos.
Algunos datos que merece la pena conocer:
- El 65 % de los sitios gubernamentales de la Unión Europea que usan CMS open-source están construidos con Drupal.
- Organizaciones como la ONU, la Comisión Europea, Médicos Sin Fronteras y Amnistía Internacional confían en Drupal para gestionar contenido en 10, 20 o incluso más de 40 idiomas.
- El sistema de traducción de la interfaz de Drupal soporta más de 100 idiomas de serie, incluyendo idiomas con escritura de derecha a izquierda como el árabe o el hebreo.
Cuando el volumen pasa de dos o tres idiomas, simplemente no hay rival en el ecosistema open-source. Y esto no es opinión: pruébalo en un proyecto con cinco idiomas y verás dónde se rompe cada cosa.
Los cuatro módulos clave del core multilingüe
Antes de instalar nada externo, entiende qué te da Drupal de fábrica. Estos son los cuatro módulos del core que vas a activar sí o sí.
Language
El módulo base. Añade idiomas, define el idioma por defecto y configura cómo Drupal detecta el idioma del visitante: por URL, por dominio, por preferencia del navegador o por sesión.
Mi recomendación para España y Europa: detección por prefijo de URL (/es/, /en/, /fr/). Es limpia, predecible y la única que se lleva bien con el SEO sin malabarismos. La detección por navegador parece elegante hasta que un usuario comparte un enlace y le sale en otro idioma porque su Chrome está en otra config.
Content Translation
Traduce entidades: nodos, bloques, taxonomías, menús y cualquier entidad personalizada. Cada traducción comparte el mismo ID interno, así que /es/servicios y /en/services son, internamente, la misma pieza de contenido.
Este detalle no es decorativo. Es lo que permite a Drupal generar las etiquetas hreflang correctas de forma automática. En otros CMS, donde cada traducción es un post distinto enlazado con metadatos, basta con que alguien borre el enlace para que el hreflang apunte al vacío.
Interface Translation
Traduce la interfaz: etiquetas de formularios, mensajes del sistema, textos de módulos contribuidos. Drupal descarga las traducciones de localize.drupal.org, donde la comunidad mantiene todo actualizado.
Para español, la cobertura suele superar el 95 % en los módulos más populares. Aun así, revisa los textos visibles antes de pasar a producción: siempre hay alguna cadena nueva sin traducir, sobre todo en módulos recién actualizados.
Configuration Translation
Y aquí llegamos al módulo que más gente olvida activar, y es donde casi todo el mundo se equivoca. Configuration Translation traduce elementos de configuración: nombre del sitio, slogan, etiquetas de campos, nombres de vistas, ajustes de bloques.
Sin él tendrás contenido perfectamente traducido pero un menú principal en castellano flotando sobre una página en inglés. Activa los cuatro siempre, juntos, desde el principio.
Arquitectura de contenidos multilingüe: decisiones que importan
Activar módulos es lo fácil. Lo difícil es diseñar una arquitectura que aguante el crecimiento. Estas son las decisiones que debes resolver antes de crear el primer nodo.
Estrategia de URLs
Tres opciones, y cada una tiene su nicho:
- Prefijo de ruta:
ejemplo.com/es/,ejemplo.com/en/. La opción por defecto y la correcta para el 90 % de los casos. - Subdominio:
es.ejemplo.com,en.ejemplo.com. Tiene sentido si cada idioma lleva un equipo editorial independiente con su propio dominio operativo. - Dominio independiente:
ejemplo.es,ejemplo.co.uk. Solo si tu estrategia de mercado es realmente diferenciada por país.
Si dudas, prefijo de ruta. Un solo dominio, una sola instalación, un solo panel de administración. Lo demás es ingeniería innecesaria.
Slugs localizados
Otro punto donde he visto romperse proyectos enteros: dejar los slugs en el idioma original. Si en español tienes /es/servicios-de-consultoria, no puedes tener /en/servicios-de-consultoria. La URL inglesa correcta es /en/consulting-services.
Drupal te permite definir alias de URL independientes por idioma a través del módulo Pathauto. Configura patrones por tipo de contenido e idioma desde el principio. Si lo haces después, con contenido ya publicado, te toca migrar URLs y montar redirecciones 301: un fin de semana perdido garantizado.
Contenido compartido vs. contenido independiente
No todo se traduce. Un vídeo de YouTube, una galería de fotos o los datos de contacto son universales. Una promoción local o una nota de prensa en un solo idioma, no.
Drupal te deja marcar campos individuales como “traducibles” o “no traducibles”. Un nodo puede tener título y cuerpo traducidos, pero compartir imagen destacada y fecha de publicación. Esta granularidad a nivel de campo es la ventaja técnica más concreta frente a WordPress, donde una entrada traducida es básicamente un post nuevo duplicado: si actualizas la imagen en el original, tienes que repetir el cambio en cada idioma a mano.
Flujos de traducción: del borrador a la publicación
Un sitio con 3 idiomas y 500 páginas son 1.500 piezas de contenido que coordinar. Sin flujo de trabajo, el caos es matemático.
Flujo básico con el core
Drupal permite estados de publicación independientes por idioma. Puedes publicar la versión en español mientras la inglesa sigue en borrador, sin trucos. El módulo Content Moderation (incluido en el core) añade estados intermedios: borrador, en revisión, publicado, archivado.
Para equipos pequeños, esto es suficiente. No le añadas complejidad si no la necesitas.
Flujo avanzado con módulos contribuidos
Cuando el volumen crece, estos módulos amplían capacidades:
- TMGMT (Translation Management Tool): Conecta Drupal con servicios de traducción profesional como SDL, Memsource o Smartling. Envías contenido, recibes las traducciones y se importan automáticamente. La pega: la configuración inicial no es trivial, dedícale tiempo.
- Lingotek: Integración directa con la plataforma Lingotek, con flujo de trabajo dentro del propio panel de Drupal.
- Entity Translation Unified Form: Permite editar todas las traducciones de un nodo en una sola pantalla. Un alivio para los editores que se cansan de saltar entre pestañas.
Para una empresa española con presencia en 4-5 mercados europeos, TMGMT es el que mejor equilibra coste y productividad. Para algo más pequeño, no te metas en ese lío.
Si tu proyecto necesita un portal multiidioma robusto y no sabes por dónde empezar, contacta con nuestro equipo de desarrollo Drupal para una consultoría inicial sin compromiso.
SEO internacional: hreflang, indexación y rendimiento
Llegamos al apartado donde se rompen más cosas en producción. Tener el sitio traducido no sirve de nada si Google no entiende la estructura de idiomas. Y aquí Drupal te ayuda, pero también te deja meter la pata si no revisas.
Etiquetas hreflang
Las etiquetas hreflang le indican a Google qué versión mostrar según el idioma o región del usuario. Drupal las genera automáticamente en el <head> cuando Content Translation está activado.
El formato es:
<link rel="alternate" hreflang="es" href="https://ejemplo.com/es/servicios" />
<link rel="alternate" hreflang="en" href="https://ejemplo.com/en/services" />
<link rel="alternate" hreflang="x-default" href="https://ejemplo.com/en/services" />
El valor x-default indica la versión por defecto cuando no hay coincidencia de idioma. Drupal te deja elegir cuál actúa como tal. Decide pronto qué idioma asume ese papel y no lo cambies después: las migraciones de hreflang son lentas de reflejar en el índice de Google.
Sitemaps multiidioma
El módulo Simple XML Sitemap genera sitemaps separados por idioma, o uno unificado con anotaciones hreflang. Google recomienda incluir las anotaciones en el sitemap como complemento a las del HTML, así que actívalas ambas.
Errores SEO comunes en sitios multiidioma
Estos cuatro fallos los vemos en cada auditoría que hacemos. Evítalos desde el principio:
- Páginas sin traducir indexadas: Si una página solo existe en español, no debería existir
/en/...para esa página. Drupal lo gestiona bien por defecto, pero cuidado con vistas y listados: pueden generar URLs fantasma que sí responden 200 con contenido vacío o duplicado. - Hreflang apuntando a páginas con redirect: Cada URL referenciada en hreflang debe devolver 200. Si redirige, Google ignora la etiqueta. Revisa después de cualquier migración de slugs.
- Contenido mixto de idiomas: Página en inglés con bloques laterales en español. Si Configuration Translation no está activado, esto es lo que verás. Y los buscadores lo penalizan.
- Canibalización entre idiomas: ¿Mercado España y Latinoamérica? Decide cuanto antes si usas
esgenérico o diferenciases-ESyes-MX. Cambiar esto a mitad de proyecto es muy doloroso.
Gestión de traductores: roles, permisos y herramientas
Drupal trae un sistema de permisos granular, y conviene usarlo. No le des a un traductor externo permisos de editor: tarde o temprano alguien publica una traducción sin revisar o, peor, modifica el contenido original sin querer.
Configuración recomendada de roles
- Traductor: Crea y edita traducciones de contenido existente. No crea contenido nuevo ni toca el original.
- Coordinador de traducción: Asigna contenido a traductores, revisa traducciones y las publica.
- Editor multiidioma: Crea contenido original y gestiona todas las traducciones.
Esta separación parece burocrática hasta el día que un traductor te borra un campo del nodo origen. Entonces deja de parecerlo.
Herramientas de apoyo
- Translation Overview: Panel que muestra el estado de traducción de todo el contenido en una tabla. Qué está traducido, qué falta, qué está desactualizado. Lo primero que abres cada mañana.
- Diff: Permite comparar versiones de una traducción para ver qué cambió desde la última actualización. Imprescindible cuando el contenido original se modifica con frecuencia.
- Content Lock: Evita que dos personas editen la misma traducción a la vez. Más útil de lo que parece.
Comparativa con WordPress multiidioma
La pregunta cae sola: “¿por qué no WordPress con WPML?”. La respuesta depende de la escala. Vamos al detalle.
| Característica | Drupal (core) | WordPress + WPML |
|---|---|---|
| Soporte multiidioma en el core | Sí, nativo | No, requiere plugin de pago |
| Coste del plugin de traducción | Gratuito | 39-199 EUR/año (WPML) |
| Idiomas soportados | 100+ | 65+ |
| Traducción a nivel de campo | Sí | Limitada |
| Integración con servicios de traducción | TMGMT (gratuito) | WPML (incluido en plan superior) |
| Rendimiento con 10+ idiomas | Estable | Degradación notable |
| Escritura RTL | Soporte nativo completo | Parcial, depende del tema |
| Workflows de traducción | Content Moderation (core) | Requiere plugins adicionales |
La ventaja real de Drupal no es ahorrarte los 200 EUR de WPML al año, eso es ruido. La ventaja es el modelo de entidades: traducción de configuración nativa, granularidad por campo, y el hecho de que cada traducción comparte ID interno con el original. Eso es lo que evita que el sitio se degrade cuando llegas a 10 idiomas y 2.000 páginas.
Para un blog bilingüe de 50 páginas, WordPress con WPML te basta y sobra. Para un portal corporativo con 5 idiomas y 2.000 páginas, Drupal es la opción técnicamente superior y, a largo plazo, más barata.
El punto de inflexión está, por experiencia, en torno a los 3 idiomas y 200-300 páginas. A partir de ahí las limitaciones de WordPress generan deuda técnica y costes ocultos de mantenimiento.
Costes de un proyecto multiidioma con Drupal
Hablemos de dinero, porque planificar sin números es planificar mal. Rangos habituales en el mercado español para un portal multiidioma con Drupal:
Desarrollo inicial
- Portal corporativo (3 idiomas, 10-15 tipos de contenido): 15.000-35.000 EUR.
- Portal institucional (5+ idiomas, workflows complejos): 35.000-80.000 EUR.
- E-commerce multiidioma con Drupal Commerce: 40.000-100.000 EUR, dependiendo del catálogo y las integraciones.
Costes recurrentes
- Hosting optimizado para Drupal multiidioma: 150-500 EUR/mes, según tráfico. Plataformas como Acquia o Platform.sh ofrecen infraestructura específica.
- Mantenimiento y actualizaciones: 500-1.500 EUR/mes. Incluye actualizaciones de seguridad, módulos y PHP. No te lo saltes: un Drupal sin parchear es un problema esperando a pasar.
- Traducción de contenido: Variable. Un traductor profesional cobra entre 0,08 y 0,15 EUR por palabra en España. Para 2.000 palabras por página, hablamos de 160-300 EUR por página y idioma.
Donde se ahorra
Licencia de Drupal: cero. Sin cuotas anuales por módulos de traducción. Y al ser estándar abierto, no dependes de un proveedor único: si tu agencia actual no rinde, cambias sin perder la plataforma. Esto último es más importante de lo que parece cuando llevas años con la misma agencia.
Casos de uso reales en España
Portal institucional autonómico
Cataluña, País Vasco, Galicia, Valencia, Baleares: comunidades con lenguas cooficiales obligadas a publicar toda su información en castellano y en la lengua propia. Drupal gestiona esta obligación legal con flujos que garantizan que ningún contenido sale publicado sin su traducción correspondiente.
E-commerce internacional
Una empresa de moda con sede en Barcelona que vende en España, Francia, Alemania e Italia necesita fichas de producto en 4 idiomas, con precios en euros pero descripciones y tallas localizadas. Drupal Commerce con Content Translation maneja este escenario de forma nativa, sin acrobacias.
Corporativo multinacional
Un grupo industrial con sede en Madrid y filiales en 8 países publica noticias corporativas, informes de sostenibilidad y ofertas de empleo. Cada filial gestiona su contenido local; el contenido corporativo se traduce centralmente. Los roles y permisos de Drupal permiten esta gobernanza mixta sin que los equipos se pisen.
Si estás evaluando opciones para un proyecto multiidioma y necesitas una valoración técnica adaptada a tu caso, solicita una consulta con nuestro equipo especializado en Drupal. Analizamos tu situación y te proponemos la arquitectura más adecuada.
Checklist para lanzar un portal multiidioma con Drupal
Antes de arrancar, repasa esta lista en este orden:
- Definir idiomas y mercados objetivo con prioridad clara.
- Elegir estrategia de URLs: prefijo, subdominio o dominio independiente.
- Mapear tipos de contenido e identificar qué campos son traducibles y cuáles compartidos.
- Activar los 4 módulos del core: Language, Content Translation, Interface Translation, Configuration Translation.
- Configurar Pathauto con patrones de URL por idioma.
- Instalar y configurar Simple XML Sitemap con soporte hreflang.
- Definir roles y permisos para el equipo de traducción.
- Establecer el flujo de traducción: manual, con TMGMT o con servicio externo.
- Validar hreflang con Google Search Console tras el lanzamiento. No después de tres meses: tras el lanzamiento.
- Planificar el calendario de traducción para evitar contenido desactualizado.
Tu web hablando todos los idiomas que necesitas
Crear un portal multiidioma con Drupal no es solo una decisión técnica: condiciona la capacidad de tu organización para hablarle a mercados internacionales sin parecer un proyecto a medio hacer.
Drupal te da la base más sólida del ecosistema open-source para esto. Sus módulos nativos cubren desde la detección de idioma hasta la generación de hreflang, pasando por flujos de traducción profesionales y una granularidad de permisos que ningún otro CMS iguala.
La diferencia entre un proyecto que funciona y uno que frustra a usuarios y editores está, casi siempre, en la planificación inicial. Activa los cuatro módulos del core el primer día, define la estrategia de URLs antes de tocar Pathauto, marca los campos traducibles desde el primer tipo de contenido y prueba el hreflang en preproducción antes de lanzar. Hacerlo bien al principio te ahorra meses de retrabajos y miles de euros en correcciones. Hacerlo mal te garantiza una migración futura. Tú eliges.