Cómo crear un sitio web multilingüe con Drupal para empresas internacionales
Vender fuera dejó de ser cosa de multinacionales hace tiempo. La Comisión Europea cifra en un 75 % los consumidores que prefieren comprar productos en su idioma nativo, y un estudio de CSA Research (2020) sube la apuesta: el 40 % nunca comprará en un sitio que no esté en su lengua materna. Para una empresa con vocación internacional, el multilingüe no es un lujo, es infraestructura.
Drupal lleva más de dos décadas siendo la plataforma de referencia cuando el proyecto multilingüe se complica de verdad. La Comisión Europea, la UNESCO, Médicos Sin Fronteras o Tesla gestionan con Drupal contenido en decenas de idiomas a la vez. No es casualidad: desde la versión 8, el sistema multilingüe vive en el núcleo. Lo que en otros CMS se resuelve con plugins de pago y limitaciones serias, en Drupal viene de serie.
En esta guía vamos a recorrer, paso a paso, lo que necesitas para montar un sitio multilingüe Drupal orientado a empresas internacionales: arquitectura de módulos, estrategias de URL, gestión de hreflang, flujos de traducción profesional, soporte RTL y las optimizaciones de rendimiento que marcan la diferencia cuando el sitio entra en producción.
Los cuatro pilares multilingües del núcleo de Drupal
Drupal estructura su capacidad multilingüe alrededor de cuatro módulos del núcleo que, combinados, cubren todas las capas del sitio. Conviene entender la función de cada uno antes de tocar nada: config translation, content translation, interface translation y language. Cada una tiene su trampa.
Language: la base de todo
El módulo Language es el punto de partida. Define qué idiomas estarán disponibles, fija el idioma por defecto y configura los métodos de detección y negociación, es decir, cómo Drupal decide en qué idioma sirve cada petición.
Los métodos de detección más habituales son:
- URL (prefijo de ruta o dominio): el más recomendado para SEO.
- Navegador: detecta el idioma preferido del usuario a través de las cabeceras HTTP.
- Sesión y cookie: mantiene la preferencia del usuario durante su visita.
- Cuenta de usuario: permite que cada usuario registrado configure su idioma preferido.
El orden de prioridad es configurable. En la mayoría de proyectos internacionales se pone la URL como método principal y el navegador como respaldo para la primera visita.
Content Translation: traducción de contenido editorial
El módulo Content Translation traduce cualquier entidad de contenido: nodos, bloques, términos de taxonomía, elementos de menú e incluso entidades personalizadas. Cada traducción se almacena como una variante de la misma entidad, así que las relaciones entre contenidos se mantienen coherentes en todos los idiomas.
Aquí es donde Drupal se aleja del resto: la granularidad es campo por campo. Tú decides cuáles se traducen y cuáles se comparten. Una fecha de publicación o una referencia a categoría pueden compartirse; el título, el cuerpo y la meta descripción se traducen de forma independiente. Esa flexibilidad es la que evita duplicaciones absurdas más adelante.
Interface Translation: la interfaz de usuario en cada idioma
El módulo Interface Translation se ocupa de los textos de la interfaz: etiquetas de formularios, mensajes del sistema, botones, errores y cualquier cadena que generen módulos o temas. Drupal descarga automáticamente las traducciones comunitarias desde localize.drupal.org, donde la comunidad ha traducido el núcleo y miles de módulos contribuidos a más de 100 idiomas.
Si una cadena no tiene traducción comunitaria, o quieres adaptar el tono de un mensaje de confirmación al estilo de la marca, puedes añadir traducciones personalizadas desde la interfaz de administración.
Configuration Translation: configuración localizada
El cuarto módulo, Configuration Translation, traduce elementos de configuración del sitio: nombres de campos, etiquetas de vistas, configuración de bloques, nombres de roles, reglas de validación y prácticamente cualquier cosa configurable. Es el módulo que importa cuando la estructura de navegación, los formularios de contacto o las reglas de negocio cambian entre mercados.
Estrategias de URL para sitios multilingües
La estrategia de URL impacta directamente en el SEO internacional y en la percepción de marca en cada mercado. Hay tres enfoques principales, cada uno con su balance de ventajas e inconvenientes.
Subdirectorios (prefijo de ruta)
La opción más habitual y la que Drupal soporta de forma nativa sin tocar el servidor. Las URL adoptan la forma:
ejemplo.com/es/serviciosejemplo.com/en/servicesejemplo.com/de/dienstleistungen
Ventajas: toda la autoridad de dominio se concentra en un único dominio, la configuración técnica es sencilla y la gestión de certificados SSL se simplifica.
Inconvenientes: menor señal de geolocalización para los motores de búsqueda comparado con ccTLDs.
Google ha confirmado varias veces que los subdirectorios son una opción perfectamente válida para SEO internacional y que los trata de forma equivalente a los subdominios.
Subdominios
Las URL se organizan con un prefijo de subdominio:
es.ejemplo.comen.ejemplo.comde.ejemplo.com
Ventajas: permiten alojar cada versión en servidores geográficamente cercanos al público objetivo y facilitan la gestión independiente por equipos locales.
Inconvenientes: cada subdominio acumula autoridad de forma parcialmente independiente, y la configuración de Drupal exige el módulo Domain Access o configuraciones específicas en sites.php.
Dominios de nivel superior con código de país (ccTLDs)
La opción más agresiva en señal geográfica:
ejemplo.esejemplo.co.ukejemplo.de
Ventajas: señal geolocalizada máxima para los motores de búsqueda y mayor confianza percibida por los usuarios locales.
Inconvenientes: coste de adquisición y mantenimiento de múltiples dominios, autoridad de dominio fragmentada y complejidad técnica sensiblemente mayor.
Para la mayoría de empresas que arrancan expansión internacional, la estrategia de subdirectorios es la más recomendable por su equilibrio entre beneficio SEO, simplicidad técnica y coste de mantenimiento.
Implementación de etiquetas hreflang
Las etiquetas hreflang le dicen a los motores de búsqueda qué versión lingüística o regional servir a cada usuario. Una implementación mal hecha provoca contenido duplicado, canibalización entre versiones o que Google ignore la señalización entera.
Drupal genera automáticamente las etiquetas hreflang para las páginas con traducciones disponibles. Aun así, hay puntos que pedirán atención manual:
- Etiqueta x-default: debe apuntar a la versión que se mostrará a usuarios cuyo idioma no está cubierto. Lo habitual es apuntar a la versión en inglés o a una página de selección de idioma.
- Códigos de idioma-región: si distingues español de España (es-ES) y español de México (es-MX), usa códigos ISO 639-1 combinados con ISO 3166-1 Alpha-2.
- Reciprocidad: cada página debe incluir hreflang apuntando a todas sus versiones, incluida a sí misma. Drupal lo hace bien de forma nativa, pero conviene verificarlo tras cualquier personalización.
- Consistencia con el canonical: la URL en la etiqueta hreflang tiene que coincidir exactamente con la URL canonical de la página de destino.
El módulo contribuido Metatag da control adicional sobre hreflang y permite gestionar casos avanzados como páginas sin traducción completa o redirecciones regionales.
Flujos de traducción profesional: TMGMT y Lingotek
Gestionar traducciones manualmente desde la interfaz de administración es viable para sitios pequeños con dos o tres idiomas. Cuando el volumen crece o trabajas con equipos de traducción externos, necesitas herramientas de gestión de flujos.
Translation Management Tool (TMGMT)
TMGMT es el módulo de referencia para la gestión de traducciones en Drupal. Da una interfaz centralizada desde la que puedes:
- Seleccionar contenidos pendientes de traducción y enviarlos en lotes.
- Conectar con proveedores externos (agencias, traductores freelance o servicios de traducción automática).
- Revisar y aprobar traducciones antes de publicarlas.
- Hacer seguimiento del estado de cada traducción (pendiente, en progreso, revisada, publicada).
TMGMT soporta conectores con servicios como Google Translate, DeepL, Microsoft Translator y múltiples agencias de traducción profesional a través de sus APIs.
Lingotek (ahora parte de RWS)
Lingotek ofrece una integración nativa con Drupal mediante su módulo contribuido. Su propuesta combina traducción automática con revisión humana en un flujo continuo. Entre sus funcionalidades destacan:
- Traducción automática con post-edición humana (MTPE).
- Memorias de traducción compartidas entre proyectos.
- Glosarios terminológicos por cliente o sector.
- Flujos de aprobación configurables con múltiples niveles de revisión.
- Sincronización bidireccional en tiempo real con Drupal.
Para empresas con volúmenes altos (más de 100 páginas en más de 5 idiomas), Lingotek o un flujo TMGMT con agencia profesional suelen ser las opciones más eficientes en coste-calidad.
Localización frente a traducción: una distinción crítica
Un error frecuente en proyectos multilingües es confundir traducción con localización. Traducir es convertir un texto de un idioma a otro manteniendo el significado. Localizar es adaptar el contenido completo a las expectativas culturales, legales y comerciales del mercado de destino.
La localización incluye aspectos como:
- Formatos de fecha, hora y moneda: en España se usa DD/MM/AAAA y el euro; en Estados Unidos, MM/DD/YYYY y el dólar.
- Unidades de medida: kilogramos frente a libras, kilómetros frente a millas.
- Referencias culturales: ejemplos, metáforas, humor, imágenes y casos de uso que conecten con cada audiencia.
- Requisitos legales: avisos de cookies (RGPD en Europa, LGPD en Brasil, CCPA en California), políticas de privacidad adaptadas, condiciones de contratación locales.
- Imágenes y multimedia: fotografías que representen la diversidad local, vídeos con subtítulos o doblaje, infografías adaptadas.
Drupal facilita la localización porque cada campo de una entidad puede ser independiente por idioma. Puedes tener imágenes diferentes, bloques diferentes e incluso estructuras de página diferentes para cada mercado, todo desde una única instalación.
Variaciones regionales del contenido
Algunas empresas no solo traducen: ofrecen contenido completamente diferente en ciertos mercados. Una empresa de software puede tener catálogo distinto en Europa y en Asia; una aseguradora, pólizas diferentes según la regulación local.
Drupal cubre estos casos con una combinación de:
- Taxonomías localizadas: categorías y etiquetas específicas por mercado.
- Bloques condicionales: bloques de contenido que solo se muestran para determinados idiomas o regiones.
- Vistas filtradas: listados que se filtran automáticamente según el idioma activo.
- Módulo Context o Condition system: reglas que activan layouts o componentes específicos según geolocalización o idioma seleccionado.
Soporte para idiomas RTL (derecha a izquierda)
Si operas en mercados donde se hablan árabe, hebreo, persa o urdu, necesitas soporte para escritura de derecha a izquierda (RTL). Drupal lo soporta de forma nativa: cuando un idioma RTL está activo, el sistema añade automáticamente el atributo dir="rtl" al HTML y carga las hojas de estilo correspondientes.
Para que la experiencia sea correcta, el tema del sitio tiene que estar preparado para RTL. Las buenas prácticas incluyen:
- Usar propiedades CSS lógicas (
margin-inline-starten lugar demargin-left,padding-inline-enden lugar depadding-right). - Evitar posicionamientos absolutos que asuman una dirección de lectura concreta.
- Invertir iconos direccionales (flechas, indicadores de progreso) cuando el idioma es RTL.
- Probar con contenido real en el idioma de destino, no solo con texto de prueba.
Los temas base modernos de Drupal, como Olivero (el tema por defecto en Drupal 10) y frameworks como Bootstrap Barrio, incluyen soporte RTL de serie. Si usas un tema personalizado, planifica el soporte RTL desde el inicio del diseño; adaptarlo a posteriori puede salir considerablemente más caro.
SEO para sitios multilingües con Drupal
El SEO internacional es una disciplina en sí misma, y Drupal pone las herramientas para implementar las buenas prácticas. Estos son los frentes clave.
Investigación de palabras clave por idioma
Traducir las keywords no basta. Volumen de búsqueda, intención y competencia varían enormemente entre mercados. Una keyword con 10.000 búsquedas mensuales en inglés puede tener equivalente en alemán con solo 500, pero con una intención de compra mucho más alta.
Herramientas como SEMrush, Ahrefs o Google Keyword Planner permiten investigar por país e idioma. Esa investigación se hace antes de crear el contenido, no después.
Meta etiquetas por idioma
El módulo Metatag permite configurar meta títulos y descripciones independientes para cada traducción. Y es imprescindible: una meta descripción traducida literalmente rara vez es la más efectiva en el idioma de destino. Cada versión debe optimizarse para las keywords y la intención de búsqueda específicas de ese mercado.
Sitemaps multilingües
El módulo Simple Sitemap genera sitemaps XML que incluyen etiquetas hreflang y enlazan todas las versiones lingüísticas de cada URL. Esto facilita que los motores descubran e indexen correctamente todas las versiones del sitio.
Configuración de Google Search Console
Cada versión lingüística o regional debería añadirse como propiedad independiente en Google Search Console. Si usas subdirectorios, puedes recurrir a "Agregar propiedad" con el prefijo de URL correspondiente (por ejemplo, https://ejemplo.com/de/). Así monitorizas el rendimiento SEO de cada mercado por separado.
Velocidad de carga y Core Web Vitals
Google aplica las mismas métricas de Core Web Vitals a todos los mercados. Un sitio multilingüe tiene que mantener buenos tiempos de carga en todas sus versiones, y eso nos lleva al siguiente apartado.
Rendimiento en sitios multilingües: consideraciones y optimizaciones
Cada idioma añadido a un sitio Drupal incrementa la complejidad de las consultas a la base de datos y el volumen de la caché. En sitios con 10 o más idiomas y miles de nodos, el rendimiento se degrada notablemente si no se toman medidas preventivas.
Estrategias de caché
Drupal 10 incluye un sistema de caché por contexto que distingue automáticamente entre idiomas. Aun así, conviene asegurarse de que:
- La caché de página está habilitada y bien configurada.
- Se usa un proxy inverso como Varnish o un CDN como Cloudflare, configurado para servir la versión correcta según el idioma de la URL.
- La caché de renderizado (render cache) funciona correctamente con los contextos de idioma.
Base de datos y consultas
El módulo Content Translation almacena cada traducción como un registro adicional en las tablas de campos. Eso puede multiplicar el tamaño de las tablas por el número de idiomas. Las optimizaciones recomendadas incluyen:
- Asegurar que los índices de base de datos incluyen la columna
langcode. - Usar vistas con filtros de idioma eficientes que aprovechen los índices.
- Considerar la separación de lectura/escritura en la base de datos para sitios de alto tráfico.
Carga diferida de traducciones de interfaz
Las cadenas de interfaz se cargan en memoria para cada petición. En sitios con muchos módulos y muchos idiomas, eso puede consumir una cantidad significativa de RAM. La solución pasa por mantener solo los módulos estrictamente necesarios activos y apoyarse en servicios de caché de objetos como Redis o Memcached.
Mejoras multilingües en Drupal 10
Drupal 10, lanzado en diciembre de 2022 y con actualizaciones continuas hasta la fecha, ha incorporado mejoras serias en el ámbito multilingüe respecto a versiones anteriores:
- Rendimiento de traducciones: optimizaciones en las consultas de carga de entidades traducidas que reducen el tiempo de respuesta en sitios con muchos idiomas.
- Experiencia editorial mejorada: la interfaz de edición muestra de forma más clara el estado de traducción de cada contenido y facilita la navegación entre versiones lingüísticas.
- CKEditor 5: el nuevo editor de texto enriquecido soporta mejor la edición de contenido RTL y la mezcla de direcciones de texto en un mismo documento.
- Compatibilidad con PHP 8.1+: el rendimiento general del sistema se beneficia de las mejoras de PHP 8.x, lo que impacta positivamente en sitios multilingües con alta carga.
- Tema Olivero: el tema administrativo y de front-end por defecto incluye soporte RTL nativo y cumple los estándares WCAG 2.1 AA de accesibilidad.
- API de traducción mejorada: los desarrolladores disponen de hooks y eventos más granulares para personalizar el comportamiento de las traducciones en módulos personalizados.
Drupal 11, cuya primera versión estable se publicó en 2024, mantiene la línea de mejoras con un foco especial en modernizar la capa de presentación y adoptar Symfony 7.
Gestión de equipos de traducción
Un sitio multilingüe vale lo que vale su proceso de actualización. Una arquitectura técnica impecable no salva traducciones que llegan tarde, con errores o desactualizadas. Estas son las claves para gestionar equipos de traducción de forma eficiente en Drupal.
Roles y permisos
Drupal permite crear roles específicos para traductores con permisos granulares:
- Traductor: puede crear y editar traducciones, pero no publicarlas.
- Revisor de traducciones: puede revisar y aprobar traducciones.
- Gestor de idiomas: puede añadir idiomas, configurar métodos de detección y gestionar las cadenas de interfaz.
Esa separación de responsabilidades garantiza que ninguna traducción se publique sin revisión y que la configuración del sistema quede protegida.
Flujos de trabajo con Content Moderation
El módulo Workflows combinado con Content Moderation permite definir estados de publicación independientes para cada traducción. Un flujo típico sería:
- Borrador (el autor crea el contenido original).
- Pendiente de traducción (se marca para envío al equipo de traducción).
- En traducción (el traductor trabaja en la versión localizada).
- En revisión (un revisor verifica la calidad).
- Publicado (la traducción se hace visible en el sitio).
TMGMT se integra con estos flujos para automatizar las transiciones de estado y notificar a los responsables en cada etapa.
Métricas y seguimiento
Para mantener calidad y velocidad en el proceso de traducción, conviene monitorizar:
- Cobertura de traducción: porcentaje de contenido disponible en cada idioma.
- Tiempo medio de traducción: desde la publicación del original hasta la publicación de cada traducción.
- Tasa de rechazo: porcentaje de traducciones que requieren correcciones tras la primera revisión.
- Contenido desactualizado: traducciones que no se han actualizado tras una modificación del contenido original.
Estas métricas se extraen de TMGMT o se construyen mediante vistas personalizadas en Drupal.
Errores frecuentes y cómo evitarlos
Después de haber pasado por decenas de proyectos multilingües con Drupal, estos son los errores que vemos con mayor frecuencia:
- No activar los cuatro módulos multilingües desde el inicio. Añadir Content Translation o Configuration Translation a un sitio ya en producción puede exigir migraciones complejas.
- Ignorar el rendimiento hasta que es un problema. Las pruebas de carga se hacen con el número real de idiomas y volumen de contenido previsto.
- Traducir las URL de forma manual. Drupal genera automáticamente los alias de URL traducidos mediante el módulo Pathauto. Gestionarlos a mano es una fuente segura de errores e inconsistencias.
- No configurar hreflang para páginas sin traducción. Si una página no tiene traducción a un idioma, no debe incluir hreflang para ese idioma. Drupal lo gestiona correctamente, pero las personalizaciones pueden romper este comportamiento.
- Usar traducción automática sin revisión humana. Los motores de traducción automática han mejorado muchísimo, pero siguen produciendo errores de matiz, tono y terminología sectorial que solo un revisor humano detecta.
Por qué Drupal sigue siendo la mejor opción para sitios multilingües empresariales
Existen alternativas. WordPress con WPML o Polylang, plataformas headless como Contentful o Strapi, soluciones propietarias como Sitecore. Drupal ofrece una combinación difícil de igualar:
- Multilingüe en el núcleo: no dependes de un plugin de terceros que puede dejar de mantenerse o cambiar su modelo de licencia.
- Granularidad extrema: control campo por campo, entidad por entidad, configuración por configuración.
- Ecosistema de integración: conectores con las principales herramientas de traducción profesional, CDNs, sistemas de gestión de activos digitales y plataformas de comercio electrónico.
- Escalabilidad demostrada: sitios con 50+ idiomas y millones de páginas funcionan en producción con Drupal.
- Comunidad global: más de 1,3 millones de miembros en la comunidad Drupal contribuyen traducciones, módulos y documentación.
- Seguridad: el equipo de seguridad de Drupal monitoriza y publica parches de forma proactiva, un aspecto crítico cuando se gestionan datos de usuarios de múltiples jurisdicciones.
Tu siguiente paso hacia la presencia internacional
Montar un sitio web multilingüe con Drupal es un proyecto que, bien planificado, transforma la capacidad de una empresa para competir en mercados internacionales. La plataforma aporta todas las herramientas necesarias, pero la diferencia entre un resultado mediocre y uno excepcional vive en la experiencia del equipo que lo implementa: la elección correcta de la estrategia de URL, la configuración óptima del rendimiento, los flujos de traducción adaptados al volumen real de contenido y la atención a los detalles de localización que hacen que cada mercado se sienta como propio.
Si tu empresa está planificando su expansión internacional o necesita modernizar un sitio multilingüe existente, en Tangram Consulting llevamos años ayudando a organizaciones a construir presencias digitales multilingües sólidas, escalables y optimizadas para rendimiento y SEO. Contacta con nuestro equipo para analizar tu proyecto y definir la arquitectura multilingüe que mejor se adapte a tus mercados objetivo.