Saltar al contenido

🌐 Generador de etiquetas hreflang

Selecciona URL base e idiomas para generar etiquetas <link rel="alternate" hreflang="..."> en lote. x-default automático, validación ISO 639, CSV.

100% Gratis Sin registro Solo navegador 5 idiomas Modo oscuro

🔒 Sobre la privacidad

Separados por coma. ISO 639-1 o + ISO 3166-1.

📄 Etiquetas generadas


📖 Dónde se suele tropezar

Genera etiquetas <link rel="alternate" hreflang="…"> a partir de una URL base y un conjunto de idiomas, con patrones de URL por prefijo de ruta, subdominio o parámetro de consulta, x-default automático y generación masiva desde CSV. Todo se ejecuta en el navegador. hreflang no es un factor de posicionamiento: se limita a declarar que existe otra versión lingüística del mismo contenido y a ayudar al buscador a elegir cuál mostrar.

Caso Qué ocurre Qué hacer
El conjunto se ignora porque las referencias no son mutuas hreflang sólo funciona si cada página del grupo apunta a todas las demás: si la japonesa apunta a la inglesa pero la inglesa no devuelve el apunte, Google descarta el conjunto entero. Se pasa por alto con facilidad que cada página necesita además una etiqueta hreflang que apunte a sí misma: la japonesa lleva una entrada hreflang="ja" con su propia URL. El fallo más común en la práctica es actualizar una página y olvidar las demás lenguas: la carga operativa de que añadir un idioma nuevo obliga a actualizar las etiquetas de todas las páginas existentes es la dificultad esencial de este mecanismo. Pon el conjunto de etiquetas generado, sin cambios, en el <head> de todas las versiones lingüísticas: el contenido no varía de una página a otra. Como implementación, recorrer la lista de idiomas en la plantilla es el único enfoque sensato; escribirlas a mano siempre acaba desviándose en algún punto. En un sitio grande, plantéate declararlas en sitemap.xml en lugar de en el HTML: <xhtml:link> expresa la misma información y tener todas las páginas en un solo archivo hace estructuralmente imposible un olvido. Comprueba en el informe de Segmentación internacional de Search Console: un aviso de que faltan etiquetas de retorno es exactamente esa referencia mutua ausente.
El código de idioma está mal formado El valor es un idioma, o un idioma más una región; una región sola no vale: hreflang="US" no significa nada. Entre los errores habituales están en-UK, cuando el código correcto es en-GB, usar zh a secas esperando que distinga simplificado de tradicional, y el guion bajo, como en ja_JP, cuando se exige guion. El chino merece especial cuidado: simplificado y tradicional se distinguen con códigos de escritura, zh-Hans y zh-Hant. zh-CN y zh-TW también funcionan, pero al ser regiones no cubren a los lectores de escritura simplificada de Singapur o Malasia. El código de idioma es ISO 639-1, el de región ISO 3166-1 alfa-2, y el separador es un guion. Y más importante: pregúntate si necesitas la región siquiera. hreflang="en" coincide con todos los hablantes de inglés, mientras que hreflang="en-US" sólo con los que están en Estados Unidos. Si tu contenido y tus precios no varían por país, omitir la región llega a más gente. Reserva las regiones para páginas donde la moneda, los portes o los requisitos legales difieran de verdad. Un verificador gratuito de hreflang es la vía fiable, pero empieza poniendo el HTML de dos versiones lado a lado y confirmando con tus ojos que se apuntan mutuamente: la mayoría de los errores se cazan ahí mismo.
Un canonical contradictorio deja la otra versión fuera del índice hreflang y canonical cumplen funciones distintas y se confunden con facilidad. Cada versión lingüística debe llevar un canonical que apunte a sí misma. Pon el canonical de /en/about/ en /ja/about/ y habrás declarado que la página inglesa es un duplicado y que sólo debe indexarse la japonesa: la inglesa desaparece de los resultados. Además, el conjunto hreflang también se ignora, porque un grupo cuyos canonical apuntan a otro sitio no merece confianza. Es el caso clásico de un ajuste bienintencionado —un sitio multilingüe necesitará canonicalización, se piensa— que produce justo lo contrario de lo buscado. Cada versión lingüística debe llevar un canonical que se refiera a sí misma. hreflang dice que existe otra versión lingüística; canonical dice que esta página es la canónica: sólo funcionan bien juntos. Reserva el canonical para URLs duplicadas dentro del mismo idioma: con y sin barra final, URLs con parámetros de seguimiento, vistas de impresión. Una vez implementado, comprueba la URL canónica seleccionada por Google en la inspección de URL de Search Console: si difiere de tu intención, es prueba clara de que tu declaración no está llegando.

Añadir hreflang no garantiza que se indexen todas las versiones lingüísticas. Una página con una traducción pobre, o con traducción automática sin revisar, suspende en calidad haya o no hreflang: este mismo sitio retiró sus versiones en portugués y alemán en julio de 2026 justo por eso, porque eran duplicados de las páginas en inglés sin valor propio, y consolidó 576 URLs con redirecciones 301. Antes de añadir un idioma, pregúntate si el contenido merece leerse en ese idioma; amontonar traducciones pobres es un pasivo para el sitio en conjunto. Hay tres lugares donde declararlo: el <link> del HTML, una cabecera de respuesta HTTP o sitemap.xml, y basta con uno; combinarlos está permitido, pero las contradicciones hacen que todo se ignore. Para archivos sin <head>, como los PDF, usa la cabecera HTTP Link:.

📖 Cómo usar

  1. 1
    Introduce URL base
    Introduce la URL a localizar.
  2. 2
    Especifica locales
    Códigos de idioma separados por coma.
  3. 3
    Obtén etiquetas
    Pega las etiquetas en <head>.

❓ Preguntas frecuentes

¿Es obligatorio x-default?
No es obligatorio pero Google lo recomienda como fallback.
¿Dónde colocar hreflang?
HTML , cabecera HTTP o sitemap.
¿Enlaces bidireccionales?
Sí. Ambas direcciones obligatorias.

🔗 Herramientas relacionadas

🐛 ¿Encontró un problema con esta herramienta?

Gratis, sin registro. Incluso solo los pasos para reproducir ayudan. Los informes van directamente al operador y se usan para corregir.

* Se envía automáticamente la info del navegador (UA / pantalla / idioma / URL) para reproducir