Web multidioma para empresas: holograma de una página que se divide en capas translúcidas enlazadas ante un globo
Desarrollo Web

Web Multidioma para Empresas: Arquitectura y Hreflang

Codezone
Codezone Empresa de Desarrollo Web y Software a Medida

Una web multidioma para empresas que venden fuera de España se apoya en dos decisiones técnicas: una URL propia y rastreable para cada idioma o mercado, y etiquetas hreflang recíprocas que indican a Google qué versión mostrar a cada usuario. El resto es contenido y flujo editorial. En Codezone planteamos esa arquitectura en las webs internacionales que desarrollamos desde Madrid.

Una estructura multidioma mal planteada se paga dos veces. En visibilidad, cuando Google no relaciona las versiones y el comprador alemán aterriza en la página en español. Y en obra, cuando pasar de subdominios a subcarpetas con la web ya posicionada obliga a redirigir cada URL, como en cualquier rediseño de web que intenta conservar el posicionamiento.

Al terminar sabrás qué estructura de URL elegir antes de abrir un segundo mercado, con la arquitectura SEO pensada para escalar como base.

Qué Es una Web Multidioma para Empresas

Una web multidioma para empresas es un sitio que publica su oferta en varios idiomas o variantes regionales, cada una en una URL distinta y enlazadas entre sí mediante anotaciones hreflang, para que los buscadores sirvan a cada usuario la versión de su idioma y su mercado sin tratarlas como copias.

Multidioma y multirregional difieren: "es" sirve a cualquier hispanohablante y "es-MX" a usuarios de México. Google usa códigos ISO 639-1 con región ISO 3166-1 alfa-2 opcional y no admite el país en solitario.

Holograma de un árbol de cristal con ramas luminosas que salen de un tronco común hacia esferas flotantes
Una sola raíz de dominio puede alimentar todos los mercados si la estructura se decide al principio.

Subcarpetas, Subdominios o Dominio por País

La subcarpeta por idioma (ejemplo.com/de/) es la opción más sencilla de mantener porque comparte dominio y servidor. La guía de Google sobre sitios multirregionales compara las alternativas así:

  • Subcarpetas (ejemplo.com/de/): Montaje: sencillo. Mantenimiento: bajo, un solo host. Pega: el usuario no deduce el país por la URL.
  • Subdominios (de.ejemplo.com): Montaje: sencillo. Ventaja: admiten servidores en ubicaciones distintas. Pega: la misma ambigüedad geográfica.
  • Dominio por país (ejemplo.de): Ventaja: segmentación geográfica clara. Pega: más caro y limitado a un solo país por dominio.
  • Parámetros (?lang=de): Google no los recomienda.

Elige subcarpetas si un solo equipo gestiona todos los mercados; dominio por país, solo si cada mercado tiene equipo y presupuesto propios.

Cómo Funcionan Hreflang y X-Default

Hreflang le dice a Google qué URLs son versiones localizadas de la misma página, y solo funciona si las anotaciones son recíprocas. Según la documentación de Google sobre versiones localizadas, cada versión debe listarse a sí misma y a todas las demás; si dos páginas no se enlazan mutuamente, Google ignora las etiquetas.

  • Métodos: etiquetas link en el head o entradas en el sitemap XML; las cabeceras HTTP quedan para archivos como PDF. Son equivalentes, así que usa uno solo.
  • X-default: la página de respaldo cuando ningún idioma coincide, normalmente un selector de idioma.
  • Lo que no hace: Google no usa hreflang ni el atributo lang para detectar el idioma; lo deduce del contenido.

Localizar Contenido, Monedas y Formatos

Una página localizada adapta precio, moneda, formatos de fecha y ejemplos al mercado; una traducida solo cambia el idioma. Google cuenta idioma y moneda locales como señales de público y desaconseja traducir solo la plantilla dejando el contenido principal en otro idioma.

Imagina una fabricante de Toledo que vende a Francia y Alemania. Necesita precios fijados por mercado en el catálogo en lugar de conversiones al vuelo, y un CMS que guarde las traducciones campo a campo con estado por idioma. Antes de migrar, revisa qué CMS soporta bien la localización por campos. Ese flujo de traducción debe quedar descrito en la documentación técnica que te entrega el proveedor, o nadie sabrá publicar un mercado nuevo.

Holograma de monedas de cristal girando sobre un globo de malla con rutas de luz entre continentes
Precio y moneda se fijan por mercado dentro del catálogo de productos.

Errores que Hunden una Web Multidioma

Redirigir automáticamente por IP es un error habitual que Google desaconseja: Googlebot rastrea normalmente desde Estados Unidos y sin cabecera Accept-Language, así que puede no llegar a ver tus otras versiones.

Los asistentes de IA leen las mismas señales, como contamos en GEO para que las IA citen tu negocio.

Holograma de dos portales de luz unidos por un puente doble de fibra brillante sobre un suelo reflectante
Si el puente solo va en una dirección, Google ignora la pareja entera.
CodeZone Pro Tip: genera el bloque hreflang desde una única fuente de verdad y valida la reciprocidad con lo que cada URL sirve de verdad tras un rastreo.
type Alternate = { hreflang: string; href: string };

// ISO 639-1, script ISO 15924 opcional y región ISO 3166-1 alfa-2 opcional
const CODE = /^[a-z]{2}(-[A-Z][a-z]{3})?(-[A-Z]{2})?$/;

export function buildHreflang(variants: Record<string, string>, xDefault: string): Alternate[] {
  for (const [code, href] of Object.entries(variants)) {
    // Google rechaza el país en solitario y formatos como "es_ES"
    if (!CODE.test(code)) throw new Error(`Código hreflang no válido: ${code}`);
    new URL(href); // exige URL absoluta: una relativa invalida la anotación
  }
  // El mismo bloque en todas las variantes garantiza autorreferencia y retorno
  const tags = Object.entries(variants).map(([hreflang, href]) => ({ hreflang, href }));
  return [...tags, { hreflang: "x-default", href: new URL(xDefault).href }];
}

// served: URL -> anotaciones que esa URL publica realmente (rastreo o tests E2E)
export function findHreflangErrors(served: Record<string, Alternate[]>): string[] {
  const errors: string[] = [];
  for (const [url, alternates] of Object.entries(served)) {
    if (!alternates.some((a) => a.href === url)) errors.push(`${url} no se incluye a sí misma`);
    for (const alt of alternates) {
      if (alt.hreflang === "x-default" || alt.href === url) continue;
      const back = served[alt.href] ?? [];
      // Sin enlace de vuelta Google descarta la pareja completa
      if (!back.some((a) => a.href === url)) errors.push(`${alt.href} no enlaza de vuelta a ${url}`);
    }
  }
  return errors;
}

Con esta función, abrir un mercado es una línea de configuración y un test que bloquea el despliegue si alguna página queda sin retorno.

Lo Que Cuesta Abrir un Mercado con la Arquitectura Equivocada

Corregir la estructura de URL después de posicionar cuesta más que decidirla al principio: implica redirecciones masivas y semanas de tráfico inestable en el mercado que querías ganar. Con la base correcta, el rendimiento por región se resuelve con caché y CDN, como explicamos en arquitectura y rendimiento para desarrollo web en Madrid.

Holograma de un globo terráqueo de malla con nodos dorados encendiéndose uno a uno sobre una plataforma de vidrio
Cada nodo nuevo debería encenderse sin tocar los que ya funcionan.

Una web multidioma bien planteada te deja probar un mercado nuevo con poco riesgo y retirarlo sin dañar los demás.

Si vas a vender fuera y quieres revisar tu estructura actual o plantear la nueva, cuéntanos tus mercados y lo revisamos contigo.