Generador de Hreflang

Crea etiquetas HTML, fragmentos XML o declaraciones HTTP Link para páginas equivalentes. Añade x-default si lo necesitas y copia el resultado de cada página.

Introduce 2–50 códigos únicos de idioma o idioma-región con URL de páginas equivalentes.

Versiones de idioma

El Generador de Hreflang de Screpy crea etiquetas HTML, fragmentos de sitemap XML o declaraciones HTTP Link para un grupo de páginas equivalentes en distintos idiomas. Introduce entre 2 y 50 códigos compatibles con sus URL, elige un formato y copia o descarga el resultado de cada página. El generador prepara las anotaciones a partir de tus valores; no visita las URL, instala el código ni confirma que las páginas publicadas enlacen entre sí.

Prepara un grupo de páginas equivalentes

Usa cada generación para versiones de una misma página: el mismo producto, artículo o servicio en distintos idiomas o mercados. Una página de inicio en francés y una página de producto en inglés no son equivalentes por compartir dominio. Repite el proceso para el siguiente contenido, en lugar de reunir todas las URL traducidas del sitio en un solo grupo.

Para un producto ilustrativo con versiones en inglés y turco, prepara estos valores:

Campo Valor Finalidad
Idioma y URL en — https://example.com/en/blue-shirt/ Página de producto en inglés
Idioma y URL tr — https://example.com/tr/mavi-gomlek/ Página equivalente en turco
URL x-default opcional https://example.com/choose-language/ Destino adecuado para elegir idioma

Las rutas traducidas pueden ser distintas. Copia cada URL pública prevista en vez de construirla cambiando la carpeta de idioma. Incluye la dirección HTTP o HTTPS completa y mantén el dominio, la ruta y la barra final coherentes con el destino que quieres publicar. No se aceptan credenciales en las URL. El formulario elimina fragmentos como #details, así que usa direcciones de páginas y no enlaces a secciones.

Elige códigos de idioma compatibles

Este generador acepta idiomas de dos letras como en, tr o de, seguidos opcionalmente de una región compatible de dos letras, como en-GB o pt-BR. Usa en si la página sirve a lectores de inglés en general; utiliza un código regional cuando mantengas una versión regional específica. Un país solo, como GB, no designa un idioma.

Cada fila normal necesita un código distinto. en-US y en-us cuentan como la misma entrada; cambiar las mayúsculas no crea otra versión. Los códigos generados usan minúsculas para el idioma y mayúsculas para la región. Revisa los valores antes de copiarlos, especialmente la diferencia entre el idioma uk y la región GB para el Reino Unido.

El formulario solo admite códigos de idioma e idioma-región. No acepta combinaciones de escritura como zh-Hant, aunque Google admite anotaciones de escritura en los casos adecuados. Si tu implementación las necesita, prepáralas fuera de este generador. Que se acepte un código tampoco confirma que el texto de la página corresponda a ese idioma.

Decide si quieres añadir x-default

Una URL x-default identifica un destino para usuarios cuyo idioma o región no estén cubiertos por las otras opciones. Puede ser un selector de idioma o una página existente elegida como predeterminada. La explicación de Google sobre x-default describe ambas opciones. Elige un destino útil para este grupo de páginas; no envíes a los visitantes de cada producto a una página sin relación solo por rellenar el campo.

El campo es opcional. Dejarlo vacío no añade ninguna anotación predeterminada. Introducir una URL añade hreflang="x-default" a cada conjunto generado; no crea una redirección del navegador ni una interfaz de selección de idioma.

Al añadir el selector a las dos filas del ejemplo, obtienes dos bloques de salida con tres alternativas cada uno: en, tr y x-default. No aparece un tercer bloque para el selector. Si el destino predeterminado es una página independiente, configura tú sus anotaciones correspondientes. Si ya es una de las URL de las filas normales, esa página ya tiene un bloque generado. Comprueba esta diferencia antes de suponer que existe código de instalación para todos los destinos.

Selecciona HTML o HTTP Link

Elige el formato que puedas mantener donde se sirven las páginas del grupo. No necesitas generar los tres por el hecho de que estén disponibles.

Formato Lugar de instalación Resultado
HTML El <head> de cada página Un conjunto de elementos <link>
HTTP Link La respuesta HTTP de cada página Una declaración de cabecera Link:
XML Un sitemap con alternativas de idioma Un fragmento <url> por página normal

Para HTML, el grupo ilustrativo produce este conjunto, que debe ir en el head de ambas páginas de producto:

<link rel="alternate" hreflang="en" href="https://example.com/en/blue-shirt/" />
<link rel="alternate" hreflang="tr" href="https://example.com/tr/mavi-gomlek/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/choose-language/" />

La página inglesa incluye su propia URL y la turca; la página turca recibe el mismo conjunto. En un CMS, usa la plantilla o el campo que controla el head. Pegar las etiquetas en el cuerpo visible de un artículo no es la instalación prevista.

El resultado HTTP Link se instala en las cabeceras de respuesta, mediante tu sistema de publicación o servidor. Resulta útil para documentos como PDF sin head HTML. Copia toda la declaración, no solo una URL, e inspecciona la respuesta real después de instalarla. Descargar un archivo de texto no cambia una respuesta por sí solo. Conserva las declaraciones de cabecera existentes que no tengan relación con estas alternativas.

Convierte los fragmentos XML en un sitemap

La descarga XML es un fragmento de página, no un sitemap completo listo para enviar. Cada bloque proporciona un <loc> para su página de entrada normal y repite las alternativas como elementos <xhtml:link>. Añade los bloques a un sitemap con los espacios de nombres de sitemap y XHTML.

Para el ejemplo alojado en el mismo dominio, un archivo completo de dos páginas sería así:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/en/blue-shirt/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/blue-shirt/" />
    <xhtml:link rel="alternate" hreflang="tr" href="https://example.com/tr/mavi-gomlek/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/choose-language/" />
  </url>
  <url>
    <loc>https://example.com/tr/mavi-gomlek/</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/blue-shirt/" />
    <xhtml:link rel="alternate" hreflang="tr" href="https://example.com/tr/mavi-gomlek/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/choose-language/" />
  </url>
</urlset>

Los dos valores <loc> son distintos; sus conjuntos de alternativas coinciden. Al añadir fragmentos a un archivo existente, conserva un único <urlset> exterior en vez de anidar documentos completos. Sustituye las URL del ejemplo por las tuyas y conserva los escapes XML como &amp; en los parámetros de consulta. Publica el archivo en una ubicación que abarque las páginas enumeradas; este ejemplo sirve para un sitemap en la raíz de example.com.

Consulta las instrucciones de Google sobre hreflang en sitemaps para los requisitos de espacios de nombres y alojamiento. Las descargas separadas del generador no ensamblan, alojan ni envían el sitemap por ti.

Verifica las anotaciones instaladas

El resultado generado muestra lo que producen tus valores, no lo que reciben visitantes o rastreadores. Después de instalarlo, compara las páginas publicadas con el grupo previsto:

  • Comprueba que cada dirección alternativa abra la página del idioma adecuado, no un error, una URL antigua o un destino sin relación.
  • Para HTML o cabeceras, inspecciona las anotaciones reales de cada página normal, incluida la autorreferencia y los enlaces de vuelta a las otras versiones.
  • Para XML, inspecciona el sitemap publicado: la estructura exterior, cada <loc> y su conjunto completo de alternativas.
  • Revisa las etiquetas canonical junto con las alternativas. Las directrices de Google sobre canonical recomiendan una página canónica en el mismo idioma cuando exista. No apuntes automáticamente el canonical de todas las traducciones a la página inglesa.

Usa Hreflang Tags Tester para inspeccionar las declaraciones HTML y HTTP publicadas. Ese comprobador no valida anotaciones de sitemap ni etiquetas renderizadas con JavaScript. Si las URL preferidas no coinciden con el grupo, examínalas con Canonical Tag Checker.

Cuando una traducción cambie de ubicación o desaparezca, actualiza el grupo en todos los lugares donde lo instalaste. Generar un conjunto nuevo sin sustituir las anotaciones publicadas mantiene la relación anterior. Hreflang ayuda a describir versiones equivalentes; no traduce contenido ni garantiza indexación, posiciones o que Google siempre muestre una URL determinada.

Preguntas frecuentes

Crea etiquetas HTML, fragmentos XML o declaraciones HTTP Link para páginas equivalentes. Añade x-default si lo necesitas y copia el resultado de cada página.

¿Dónde instalo el hreflang generado?

Añade las declaraciones HTML al head de cada página, las HTTP Link a sus cabeceras de respuesta o los fragmentos XML a un sitemap completo. Mantén coherentes las alternativas.

¿La descarga XML es un sitemap completo?

No. Cada descarga es un fragmento url de una página de entrada normal. Combina los fragmentos en un sitemap con los espacios de nombres de sitemap y XHTML, comprueba el alcance del alojamiento y publícalo mediante tu propio sistema.

¿Generar hreflang comprueba mis páginas publicadas?

No. Produce anotaciones a partir de tus entradas sin visitar URL, verificar su idioma ni comprobar enlaces de vuelta publicados. Tras instalarlo, inspecciona las páginas reales. Hreflang Tags Tester comprueba HTML y HTTP, no anotaciones de sitemap ni etiquetas renderizadas con JavaScript.

¿x-default crea otro bloque de salida?

No. Añade una alternativa al conjunto de cada página normal. Dos filas normales más x-default generan dos bloques con tres alternativas cada uno. Las anotaciones de una página predeterminada independiente se configuran por separado.

¿Puedo generar códigos de escritura como zh-Hant?

Este generador acepta idiomas compatibles de dos letras y regiones opcionales de dos letras, como en y en-GB. Las combinaciones de escritura como zh-Hant quedan fuera de su esquema de entrada, aunque Google las admite en implementaciones adecuadas.