El primer sitio internacional que envié tenía once versiones en idiomas y cero hreflang. El tráfico se veía bien en conjunto, por lo que nadie lo cuestionó durante meses. Luego, un colega en Berlín buscó nuestro producto en Google.de y obtuvo la página en inglés. No el alemán. El alemán existía, estaba indexado y estaba mejor escrito que el original en inglés. Google simplemente no tenía motivos para preferirlo, por lo que servía a cualquier versión que tuviera más enlaces que apuntaran, que era la que habíamos estado promocionando en Twitter en inglés durante dos años.
Ese es el modo de falla que existe para prevenir y es invisible desde el interior de su propio mercado. Buscas desde tu propio país en tu propio idioma, obtienes la página correcta y concluyes que todo funciona. Las personas que obtienen la página equivocada son de las que nunca se sabe porque rebotaron.
Esta guía cubre hreflang de extremo a extremo: qué es la anotación, cómo se construyen los códigos, los tres lugares donde puedes colocarla, las reglas que hacen que Google confíe en ella y cómo interactúa con etiquetas y mapas de sitio canónicos. Es el centro de un conjunto de piezas enfocadas x-predeterminado, los errores que rompen las implementaciones, hreflang versus canónicoy configuraciones específicas del marco para Siguiente.js y WordPress.
TL;Dr: Una etiqueta hreflang es una
rel="alternate" hreflang="xx-XX"anotación que indica a los motores de búsqueda qué idioma y versión regional de una página atender a cada usuario. El valor es un código de idioma ISO 639-1, opcionalmente más un código de región ISO 3166-1 alfa-2, por lo que el Reino Unido lo esGBy noUK. Las anotaciones deben ser recíprocas: cada página de un conjunto enumera cada versión, incluida ella misma, o Google descarta el conjunto. Puedes implementarlo como HTML<link>etiquetas, entradas de mapas de sitio XML o un HTTPLinkencabezado, pero sólo un método por URL establecida. El generador hreflang crea los tres formatos en el navegador y valida los códigos antes de enviarlos.
¿Qué es una etiqueta hreflang?
Una etiqueta hreflang es una anotación que declara " Existe otra versión de esta página para este idioma y región, y vive en esta URL." Se ve así:
<link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/" />
Lea de izquierda a derecha: rel="alternate" dice que esta es una variante más que una página diferente hreflang="fr-CA" dice que la variante es para francófonos en Canadá y href da la URL absoluta. Nada aquí es una directiva. Google trata hreflang como una fuerte pista sobre qué URL intercambiar por un buscador determinado, no como un comando que debe obedecer, y anulará la pista cuando la evidencia apunte a otra parte.
La anotación está definida en Google's documentación sobre versiones localizadas de una página, y los valores del código provienen de BCP 47, el estándar IETF para etiquetas de idioma. Bing admite la misma anotación. Yandex no utiliza hreflang y se basa en su propia configuración regional, lo cual es importante si los mercados en ruso son parte de su plan.
¿cuándo necesitas hreflang y cuándo es una pérdida de tiempo?
Lo necesitas cuando el mismo contenido existe en más de un idioma, o en un idioma dirigido a más de una región. No lo necesita para un sitio que existe solo en inglés para un solo mercado, y agregarlo allí no hace más que agregar margen.
En la práctica surgen tres formas:
| Forma del sitio | ejemplo | ¿necesita hreflang? |
|---|---|---|
| Un idioma, un mercado | Un sitio de marketing SaaS exclusivo para EE. UU | prohibido |
| Múltiples idiomas | /en/, /de/, /ja/ versiones de las mismas páginas |
sí |
| Un idioma, múltiples mercados | example.com/us/ y example.com/uk/, ambele engleză |
Sí, y este es el caso que más se pasa por alto |
La tercera fila es la que vale la pena hacer una pausa. Dos páginas en inglés con diferentes precios, copia de envío y ortografía parecen duplicados de un rastreador. Sin hreflang, Google elige una y filtra la otra, que es como una tienda del Reino Unido termina invisible en Google.co.uk mientras que su gemelo estadounidense se clasifica. La anotación es lo que le dice a Google que se trata de variantes regionales deliberadas en lugar de duplicaciones accidentales.
¿cómo se construyen los códigos hreflang?
El valor tiene dos partes y sólo se requiere la primera.
los idioma es un código ISO 639-1 de dos letras, minúsculas: en, fr, de, ja, pt. los región es un código ISO 3166-1 alfa-2 de dos letras, mayúsculas, unidas con un guión: en-US, pt-BR, de-AT. La carcasa es una convención más que un requisito estricto, porque las etiquetas de idioma coinciden sin sentido, pero cada revisión de código va más rápido cuando la sigues.
Las reglas en las que la gente se equivoca, en el orden en que las veo se equivocan:
- El Reino Unido lo es
GB.UKno es un código ISO 3166-1.en-UKse ignora silenciosamente, lo cual es peor que un error porque nada te lo dice. - La región por sí sola no existe. No hay forma de decir "todos en Canadá" sin nombrar un idioma.
hreflang="CA"no es válido. Tú escribesen-CAyfr-CAcomo entradas separadas. - Latinoamérica lo es
es-419. Ese es un código de región numérico ONU M49, válido en BCP 47, y la respuesta correcta cuando su español está dirigido a la región en lugar de a España o México específicamente. - Los chinos suelen querer una escritura, no un país.
zh-Hantpara Tradicional yzh-Hanspara Simplified, describa el sistema de escritura, que es lo que preocupa a los lectores.zh-CNyzh-TWfunciona pero combina el guión con la geografía. - El idioma y la región son ejes independientes.
en-CAyfr-CAambos pueden existir. Entonces puedoen-US,en-GByen-AU. No asuma una página por país o una página por idioma; mapee las combinaciones que su sitio realmente ofrece.
los generador hreflang verifica cada código con la forma esperada y marca las subetiquetas que no son valores de idioma o región reconocidos, por lo tanto en-UK falla en el teclado en lugar de arrastrarlo tres semanas después.
¿adónde van las etiquetas hreflang?
Se admiten tres métodos de implementación y tienen un efecto equivalente. La elección es operativa.
| sistema | Donde vive | mejor para | precio |
|---|---|---|---|
HTML <link> |
Cada página's <head> |
La mayoría de los sitios; más fácil de depurar | Cada página lleva el conjunto completo, que crece con el recuento de idiomas |
Mapa del sitio XML xhtml:link |
Entradas al mapa del sitio | Grandes sitios, muchos lugares | El mapa del sitio debe permanecer sincronizado; más lento para ser recogido |
HTTP Link encabezado |
Respuesta del servidor | PDF y otros archivos que no son HTML | Necesita configuración del servidor; invisible en el navegador 's ver-fuente |
Etiquetas HTML en el encabezado:
<link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/preise" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />
El mismo conjunto que las entradas del mapa del sitio, que necesita xhtml espacio de nombres declarado en <urlset>:
<url>
<loc>https://example.com/us/pricing</loc>
<xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing"/>
<xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing"/>
<xhtml:link rel="alternate" hreflang="de-DE" href="https://example.com/de/preise"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/pricing"/>
</url>
Y como encabezado HTTP, que es la única opción para un PDF:
Link: <https://example.com/us/whitepaper.pdf>; rel="alternate"; hreflang="en-US",
<https://example.com/de/whitepaper.pdf>; rel="alternate"; hreflang="de-DE"
Elija un método por conjunto de URL. Mezclar etiquetas HTML y entradas de mapas de sitio para las mismas páginas no es fatal, pero le da a Google dos fuentes que pueden separarse y el día que no estén de acuerdo no sabrás cuál ganó. Si ya estás produciendo un mapa del sitio con el Generador de mapas del sitio XML, el formato del mapa del sitio cae directamente en él.
¿por qué hreflang debe ser recíproco?
Porque un reclamo unidireccional no es verificable. Si su página en inglés dice " la versión francesa está ahí " y la página francesa no dice nada, cualquiera podría señalar a cualquiera. La regla de Google & # 39 es que ambas partes deben estar de acuerdo, y el requisito de devolución de etiqueta se indica claramente en su documentación: se ignoran las anotaciones sin confirmar las etiquetas de retorno.
La forma práctica de la regla es más simple de lo que parece. Coloque el conjunto completo e idéntico de anotaciones en cada página del grupo, incluida una entrada autorreferencial para la página misma. La página en inglés enumera inglés, francés, alemán y x-default. Lo mismo ocurre con la página francesa. También lo hace la página alemana. Mismo bloque, byte por byte, en todos ellos.
Esa redundancia es la característica. Hace que el conjunto se autoverifique y hace que la implementación sea mecánica: construye el bloque una vez por grupo de URL y lo representa desde una sola fuente en lugar de editarlo manualmente por página. La edición manual es como un conjunto de nueve páginas termina con ocho bloques correctos y una entrada faltante, y una entrada faltante es suficiente para que Google desconfíe del par al que pertenece.
¿qué hace x-default?
x-default nombra la página a servir cuando ninguna otra entrada coincide con el usuario. Alguien navegando en tierras coreanas en un sitio con versiones en inglés, francés y alemán: sin x-default, adivina Google. Con él, tú decides, y la respuesta suele ser un selector de idioma o tu principal página de inicio internacional.
No es un código de idioma y no reemplaza a uno. Tu página en inglés todavía necesita la suya propia en investigaciones operacionales en-US entrada, y x-default se sienta al lado como un comodín. Google lo trata como opcional y yo lo trato como necesario, porque " el algoritmo elige algo" no es una estrategia de enrutamiento. El guía completa de x-default cubre dónde señalarlo, qué sucede cuando lo señala en una redirección y por qué una página de selección de idioma necesita su propio cuidado.
¿cómo interactúan hreflang y las etiquetas canónicas?
Responden preguntas diferentes y no deben contradecirse.
Una etiqueta canónica dice " de estas URL casi idénticas, indexe esta." Una anotación hreflang dice " estas URL son alternativas localizadas, sirven la correcta por usuario." El error que afecta a las versiones en idiomas completos es canonicalizar entre idiomas: su página en francés declara canónica la página en inglés, lo que le indica a Google que elimine la URL en francés del índice, y hreflang no puede resucitar una URL que haya sido canonicalizada.
La regla es corta. Cada página se canonicaliza a sí misma. Hreflang describe las relaciones entre esas páginas autocanónicas. Encienda esos dos hechos y los dos sistemas cooperen; crucelos y la señal más fuerte, canónica, gana y elimina silenciosamente sus traducciones. Hreflang vs canónico funciona a través de las combinaciones, incluido el caso parámetro-URL donde ambos están en juego a la vez.
¿cómo se prueba que hreflang esté funcionando?
Comience con la consola de búsqueda. El informe de orientación internacional enumera las dos fallas que importan a escala, " sin etiquetas de retorno" y "código de idioma desconocido" en toda la propiedad, lo que supera a inspeccionar las páginas una a la vez. Tenga en cuenta que se retrasa: las correcciones aparecen solo después de que Google vuelve a rastrear cada página del conjunto afectado, por lo que una semana sin cambios es normal y no hay evidencia de que la solución haya fallado.
Luego rastrea tu propio sitio. Cualquier rastreador que surja anotaciones hreflang le mostrará el conjunto que lleva cada URL, y la verificación que está ejecutando es si cada página de un grupo lleva el mismo bloque completo. Ordenar por grupo y observar los recuentos; una página con cuatro entradas en un grupo de cinco es el error.
Luego verifique la resolución de objetivos. Cada href debe ser una URL absoluta que devuelva 200 y sea indexable. Un objetivo que redirige todavía funciona pero agrega un salto, un objetivo que 404s envenena el conjunto y un objetivo que lo es noindex es una contradicción: estás anunciando una página que le has dicho a Google que ignore.
¿qué se rompe con más frecuencia?
En orden aproximado de la frecuencia con la que los encuentro:
- Faltan etiquetas de retorno. La página A apunta a B, B no apunta hacia atrás. Google descarta el par.
- Sin x-predeterminado. Los usuarios no coincidentes obtienen cualquier versión que Google adivine.
- Códigos que no son ISO.
en-UKleads, seguidos de inventados comoen-EU. - Url relativas. hreflang requiere URL absolutas, protocolo y host incluidos.
- Desajustes de barra final.
/fr/y/frson URL diferentes y la anotación debe coincidir con la forma indexable. - Señalización canónica entre idiomas. Cancela todo el conjunto.
- Métodos mixtos. Etiquetas HTML y entradas de mapas de sitio para las mismas URL, separándose.
Cada uno de ellos produce un marcado que parece correcto. Eso es lo que hace que hreflang sea tedioso: el fracaso siempre es silencioso. 12 errores comunes de hreflang recorre cada uno con el síntoma que observarías y la solución.
¿Cómo se generan y mantienen las etiquetas?
Para un puñado de URL, escribir a mano el bloque está bien una vez y es doloroso en el segundo cambio. Para cualquier cosa más grande, generelo.
los generador de etiquetas Hreflang toma una fila por versión (un código y una URL absoluta) y emite el bloque como etiquetas de enlace HTML, entradas de mapas de sitio o un encabezado HTTP. Valida cada código con la forma ISO, marca subetiquetas no reconocidas, detecta códigos duplicados, rechaza URL relativas y advierte cuando el conjunto no tiene x-default. Se ejecuta completamente en el navegador, por lo que su estructura de URL, que mapea toda su arquitectura internacional, nunca se carga en ninguna parte.
Para un sitio que ya está planificado, la mejor respuesta a largo plazo es representar el bloque desde su configuración de enrutamiento para que no se desvíe. Eso es lo que el Siguiente.js y WordPress las guías cubren: una fuente de verdad para el mapa de ubicación, un componente o filtro que representa el conjunto recíproco completo en cada página del grupo. El generador es entonces lo que se utiliza para comprobar el resultado en lugar de producirlo, que es la división correcta del trabajo una vez que un sitio supera unas pocas docenas de URL.
Si está ensamblando el resto de la capa técnica de SEO al mismo tiempo, el generador de metaetiquetas maneja el encabezado por página y el Generador de robots.txt cubre directivas de rastreo. El guía de herramientas Hreflang profundiza en el propio generador.
Preguntas frecuentes
¿Qué es una etiqueta hreflang?
Una etiqueta hreflang es una rel="alternate" hreflang="xx-XX" anotación que indica a los motores de búsqueda qué idioma y versión regional de una página atender a un usuario determinado. Ayuda a los sitios internacionales a clasificar la versión correcta en cada mercado y evita que páginas regionales casi idénticas se filtren como duplicados.
¿necesito hreflang si mi sitio está solo en inglés?
Sólo si se dirige a más de un mercado de habla inglesa con URL separadas. Un único sitio en inglés para un mercado único no necesita hreflang. Las tiendas separadas de EE. UU. y el Reino Unido, ambas en inglés, sí lo necesitan, porque sin la anotación los dos parecen duplicados.
¿se requiere la región parte de un código hreflang?
No. Se requiere el código de idioma y la región es opcional. en es válido por sí solo. Lo que no es válido es una región sin un idioma: no hay forma de dirigirse a un país sin nombrar un idioma.
¿hreflang garantiza qué página muestra Google?
No. Hreflang es una señal fuerte, no una directiva. Google aún puede ofrecer una versión diferente cuando otras pruebas, como la configuración explícita del idioma del usuario & 39; o el idioma de consulta, apuntan a otra parte.
¿cuánto tiempo tardan en surtir efecto los cambios de hreflang?
Google tiene que volver a dibujar cada página del conjunto antes de poder confirmar las etiquetas de retorno, por lo que los cambios suelen tardar de días a semanas dependiendo de la frecuencia con la que se rastrea su sitio. El informe de orientación internacional en Search Console se actualiza con el mismo retraso.
¿puedo usar hreflang y etiquetas canónicas juntas?
Sí, y deberías hacerlo. Cada página se canonicaliza a sí misma y hreflang describe las relaciones entre esas páginas autocanónicas. Canonicalizar una versión de idioma a otra la elimina del índice y cancela el conjunto de hreflang.
¿bing admite hreflang?
Sí. Bing apoya lo mismo rel="alternate" hreflang anotación. Yandex no utiliza hreflang y, en su lugar, se basa en su propia configuración regional.
¿adónde deberían ir las etiquetas hreflang, en el HTML o en el mapa del sitio?
Cualquiera funciona. Las etiquetas de enlace HTML son más fáciles de depurar y son la opción común. Las entradas del mapa del sitio mantienen los encabezados de las páginas ajustados y se adaptan a sitios con muchas ubicaciones. Utilice un método por conjunto de URL en lugar de ambos.



