main content
< Volver a blog sobre aplicaciones móviles

Cómo implementar un sitio multiidioma con localización avanzada y hreflang en Drupal para audiencias internacionales

Cómo implementar un sitio multiidioma con localización avanzada y hreflang en Drupal para audiencias internacionales

Expandir un negocio a mercados internacionales es bastante más que traducir textos y esperar que Google lo entienda solo. Un sitio multiidioma bien construido en Drupal necesita una arquitectura de contenidos sólida, etiquetas hreflang correctas que eviten el contenido duplicado entre idiomas, y un translation workflow que los equipos puedan mantener sin depender constantemente de desarrollo. Drupal 10 y Drupal 11 ofrecen un sistema multiidioma nativo que, configurado con criterio, supera a la mayoría de CMS del mercado en flexibilidad y control real.

Este artículo recorre la implementación completa: desde la activación de los módulos de idioma hasta la configuración de hreflang, la localización de URLs, la gestión de contenido traducible y las estrategias de SEO internacional que marcan diferencias reales en posicionamiento para audiencias internacionales.

Los cuatro pilares del sistema multiidioma en Drupal

Drupal estructura su soporte multiidioma en cuatro módulos del núcleo que trabajan de forma coordinada. Entender qué hace cada uno evita configuraciones incompletas que luego generan problemas difíciles de diagnosticar — y créeme, los diagnostico con más frecuencia de la que quisiera.

Language: la base de todo

El módulo Language permite añadir idiomas al sitio y definir cuál es el predeterminado. Cada idioma recibe un código ISO 639-1 (es, en, fr, de, pt-br) que Drupal usa internamente para todas las operaciones de traducción. Aquí se configura también el mecanismo de language negotiation: por prefijo de URL (/es/, /en/), por dominio (es.ejemplo.com, en.ejemplo.com), por sesión o por navegador.

Para SEO internacional, la recomendación es clara: prefijo de URL o dominio separado. Google necesita URLs distintas para cada versión idiomática. La detección por sesión o cookie no genera URLs diferenciadas y los buscadores no pueden indexar correctamente cada versión. Esto no es obvio al principio, pero es el error que más veo en proyectos heredados.

Content Translation: traducción a nivel de entidad

Content Translation es el módulo que permite traducir nodos, bloques, taxonomías, menús y cualquier entidad de Drupal campo por campo. A diferencia del antiguo sistema de Drupal 7 —que creaba nodos separados por idioma, con todo el caos relacional que eso implicaba—, Drupal 10/11 mantiene una única entidad con múltiples traducciones vinculadas. Esto simplifica la gestión y asegura que las relaciones entre contenidos se preserven sin fricciones.

Al activar Content Translation, seleccionas qué tipos de contenido y qué campos son traducibles. Un campo de imagen puede compartirse entre idiomas (la misma foto para todas las versiones) o traducirse (imágenes diferentes por mercado). Esta granularidad es una ventaja competitiva frente a soluciones más rígidas.

Configuration Translation: traducir la interfaz del sitio

Mientras Content Translation maneja el contenido editorial, Configuration Translation se encarga de las cadenas de configuración: nombres de vistas, etiquetas de formularios, mensajes del sistema, títulos de bloques y textos de la interfaz. Sin este módulo, puedes tener artículos perfectamente traducidos pero mostrar botones "Submit" o "Read more" en inglés a usuarios hispanohablantes. Aquí muchos se equivocan: dan por hecho que traducir el contenido es suficiente.

Interface Translation: cadenas de texto del código

Interface Translation gestiona las cadenas de texto definidas en el código de Drupal y sus módulos contribuidos. Al instalar un idioma, Drupal descarga automáticamente las traducciones disponibles desde localize.drupal.org. Las cadenas que falten se traducen manualmente desde la interfaz de traducción en /admin/config/regional/translate.

Configuración de URLs y rutas traducidas

La estructura de URLs tiene impacto directo en el posicionamiento de cada versión idiomática. Drupal ofrece varias opciones y la elección correcta depende del tipo de proyecto — no de la comodidad del desarrollador.

Prefijo de ruta vs. dominio

El esquema más utilizado es el prefijo de ruta: ejemplo.com/es/servicios, ejemplo.com/en/services. Es fácil de configurar, funciona bajo un mismo dominio y certificado SSL, y Google lo interpreta sin ambigüedad. La alternativa de subdominios (es.ejemplo.com) o dominios separados (ejemplo.es, ejemplo.com) ofrece más independencia por mercado pero requiere configuración DNS adicional y gestión separada de autoridad de dominio.

Para la mayoría de empresas que quieren presencia en 2-5 idiomas orientadas a audiencias internacionales, el prefijo de ruta es la opción más eficiente y predecible.

Traducción de alias de URL con Pathauto

El módulo contribuido Pathauto genera automáticamente URLs limpias basadas en patrones (por ejemplo, /servicios/[node:title]). Los path aliases multiidioma son como carteles de calle en cada ciudad: el mismo edificio, nombres distintos según el barrio. Combinado con Content Translation, cada traducción genera su propio alias: /es/servicios/consultoria-drupal y /en/services/drupal-consulting.

La configuración recomendada en Pathauto para sitios multiidioma:

  1. Definir patrones por tipo de contenido y por idioma si es necesario.
  2. Activar la opción de generar alias automáticos para traducciones.
  3. Verificar que el módulo Sub-pathauto o las configuraciones de prefijo no generen conflictos entre rutas.

Las URLs traducidas mejoran la experiencia de usuario y envían señales de relevancia a los buscadores para cada mercado.

Implementación correcta de etiquetas hreflang

Las etiquetas hreflang le indican a Google qué versión de una página debe mostrarse a usuarios de cada idioma y región. Un error en hreflang puede provocar que Google muestre la versión en inglés a un usuario español, o que considere las versiones idiomáticas como contenido duplicado. He visto proyectos con tráfico internacional prácticamente destruido por hreflang mal implementado.

Cómo genera Drupal las etiquetas hreflang

Drupal 10/11 genera automáticamente etiquetas hreflang en el <head> de cada página cuando hay traducciones disponibles. Cada página incluye una referencia a sí misma y a todas sus traducciones:

<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 que debe mostrarse cuando ningún idioma configurado coincide con el del usuario. Esto no es obvio, pero es un fallback que Google usa activamente: normalmente se asigna al idioma principal del sitio o al inglés como idioma universal de respaldo.

Verificación y errores frecuentes

Los errores más comunes en implementaciones hreflang con Drupal incluyen:

  • Etiquetas hreflang no recíprocas: si la página en español apunta a la inglesa, la inglesa debe apuntar de vuelta a la española. Drupal lo hace automáticamente, pero módulos personalizados o temas que sobrescriben el <head> pueden romper esta reciprocidad de forma silenciosa.
  • Códigos de idioma incorrectos: usar "esp" en lugar de "es", o "en-uk" en lugar de "en-gb". Los códigos deben seguir el estándar ISO 639-1 para idioma y, opcionalmente, ISO 3166-1 Alpha-2 para región. Un carácter mal colocado y Google ignora la etiqueta.
  • Páginas sin traducción que muestran hreflang: si una página solo existe en español, no debe incluir hreflang apuntando a una versión inglesa inexistente. Drupal gestiona esto correctamente de serie, pero conviene verificarlo con herramientas como Screaming Frog o la extensión hreflang de Aleyda Solís.
  • Hreflang en sitemap XML: el módulo Simple XML Sitemap permite incluir etiquetas hreflang en el sitemap, lo que refuerza la señal para Google. La configuración requiere activar la opción de enlaces multiidioma en los ajustes del módulo.

Módulo Metatag para control avanzado

El módulo Metatag con su submódulo Metatag: hreflang ofrece control adicional sobre las etiquetas generadas. Permite definir reglas personalizadas, excluir determinados tipos de contenido o sobrescribir el comportamiento por defecto. Para sitios con lógica de idioma compleja — español de España vs. español de Latinoamérica es el caso más frecuente — este módulo es prácticamente obligatorio. No lo subestimes.

Flujo de trabajo de traducción y herramientas de productividad

Un sitio multiidioma para audiencias internacionales solo funciona si el equipo puede traducir contenido de forma eficiente. Drupal ofrece varias opciones según el volumen y la profesionalización del proceso.

Traducción manual desde la interfaz

Para equipos pequeños, la interfaz nativa de traducción de Drupal es suficiente. Desde la lista de contenidos, cada nodo muestra un enlace "Traducir" que lleva a un formulario campo por campo. El editor ve el contenido original a la izquierda y los campos de destino a la derecha. Simple y funcional.

TMGMT: Translation Management Tool

Para volúmenes medios-altos, el módulo TMGMT (Translation Management Tool) añade un translation workflow profesional: colas de traducción, asignación a traductores, estados de revisión (pendiente, en traducción, revisado, publicado) y conexión directa con servicios de traducción externos.

TMGMT se integra con proveedores como Gengo, Google Translate (como punto de partida, nunca como traducción final), DeepL y plataformas de localización avanzada como Crowdin o Transifex. El flujo típico es: traducción automática como borrador, revisión humana y aprobación editorial. No saltes la revisión humana — el SEO lo nota.

Módulo Paragraphs y traducción de componentes

Si el sitio utiliza Paragraphs para construir páginas con componentes (hero, bloques de texto, galerías, CTAs), cada párrafo es traducible de forma independiente. Esto permite que el equipo traduzca componente a componente sin perder la estructura de la página. La configuración requiere marcar cada tipo de párrafo como traducible en los ajustes de Content Translation — un paso que se omite con frecuencia en la configuración inicial.

Gestión de contenido regional: más allá de la traducción

La localización avanzada va más allá de traducir palabras. Implica adaptar contenido, imágenes, precios, referencias legales y formatos de fecha al mercado de destino. Aquí es donde un sitio multiidioma mediocre se separa de uno que realmente convierte en cada locale.

Campos condicionales por idioma

Drupal permite configurar campos que solo aparecen en determinados idiomas. Un campo de "número de IVA" puede ser relevante para la versión española pero irrelevante para la estadounidense. Mediante el módulo Field Permissions o lógica personalizada en hooks de formulario, se controla qué campos son visibles y editables por idioma.

Bloques y menús traducidos

Cada bloque de contenido puede tener traducciones independientes. Un bloque de contacto puede mostrar el teléfono de la oficina en Madrid para la versión española y el de Londres para la inglesa. Los menús de navegación también son traducibles: Content Translation se aplica a las entidades de menú, permitiendo nombres de sección diferentes por idioma.

Formatos de fecha, moneda y dirección

El módulo Address gestiona formatos de dirección internacionales — el formato español con código postal antes de la ciudad, el estadounidense con estado y ZIP code. Para fechas, la configuración regional de Drupal permite definir formatos por idioma: "31 de mayo de 2026" para español, "May 31, 2026" para inglés. Detalles que los usuarios notan aunque no sepan por qué.

SEO internacional: checklist técnico para Drupal multiidioma

Más allá de hreflang, un sitio multiidioma para audiencias internacionales necesita cumplir varios requisitos técnicos para posicionar correctamente en cada mercado.

Sitemap XML multiidioma

Configura Simple XML Sitemap para generar un sitemap que incluya todas las versiones idiomáticas con sus etiquetas hreflang. Verifica que cada URL del sitemap devuelve un código 200 y no redirige a otra versión idiomática. Una redirección en el sitemap es una señal confusa que Google resuelve mal.

Search Console: segmentación internacional

En Google Search Console, configura la propiedad para cada versión idiomática. Si usas subdirectorios (/es/, /en/), puedes crear propiedades de directorio separadas para monitorizar el rendimiento por idioma. Ver los datos segmentados cambia completamente la lectura del posicionamiento.

Canonical tags por idioma

Cada versión idiomática debe tener su propia etiqueta canonical apuntando a sí misma, no a la versión principal. Drupal genera canonicals correctas por defecto, pero temas personalizados o módulos de SEO mal configurados pueden sobrescribirlas. Verifica con el módulo Metatag que cada traducción genera un canonical único.

Rendimiento: caché por idioma

El sistema de caché de Drupal diferencia automáticamente por idioma mediante el cache context languages:language_interface. Esto asegura que un usuario español no reciba una página cacheada en inglés. Si usas Varnish como reverse proxy, la configuración debe incluir el prefijo de idioma o la cabecera Accept-Language en la clave de caché. Un fallo aquí es especialmente difícil de detectar porque solo afecta a usuarios con locale diferente.

Tu sitio Drupal, preparado para cada mercado

Implementar un sitio multiidioma con Drupal requiere planificación y conocimiento del stack técnico, pero el resultado es una plataforma que escala a cualquier número de idiomas sin duplicar infraestructura ni perder control editorial. Los módulos del núcleo — Language, Content Translation, Configuration Translation, Interface Translation — cubren la base, y módulos contribuidos como Pathauto, Metatag, TMGMT y Simple XML Sitemap completan la arquitectura para un SEO internacional competitivo.

La diferencia entre un sitio multiidioma que posiciona y uno que solo traduce está en los detalles: hreflang recíprocos, path aliases traducidos, canonicals correctas, sitemap segmentado y un translation workflow que el equipo pueda sostener a largo plazo.

Si necesitas diseñar la arquitectura multiidioma de tu proyecto Drupal o revisar una implementación existente, habla con nuestro equipo de especialistas en Drupal para una evaluación técnica sin rodeos.

Contacta con nosotros
Fila 1