En WordPress, las etiquetas hreflang se agregan automáticamente. Habilita un idioma y sus páginas comienzan a declararse mutuamente como alternativas, que es la parte del SEO multilingüe que la gente suele equivocarse al hacerlo manualmente.
Lo que hacen las etiquetas
Una etiqueta hreflang le dice a un motor de búsqueda que dos URL son la misma página en diferentes idiomas. Sin ellas, /pricing/ y /es/pricing/ parecen páginas competidoras con contenido similar. Con ellas, se leen como una sola página en dos idiomas, y cada una se sirve a la audiencia correcta.
La salida real en una página de un proyecto con español (España) y francés (Francia) agregados, desde una fuente en inglés (EE. UU.), se ve así:
<!-- Universally hreflang tags -->
<link rel="alternate" hreflang="en-us" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="es-es" href="https://example.com/es/pricing/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />
Tres cosas a tener en cuenta: cada idioma se declara con su código de región completo en lugar de un simple es o fr, el idioma de origen tiene su propia alternativa, y una línea x-default apunta a la URL de origen.
Lo que obtienes sin configurar nada
Etiquetas que siguen tus idiomas. Agrega un idioma y se une al conjunto. Elimina uno y se va. No hay una lista que mantener ni nada que regenerar después de un cambio.
URL que coinciden con tu estructura. Cada alternativa apunta a la URL real del idioma, creada a partir del segmento que configuraste. Ver Agregar y quitar idiomas.
Códigos de región, no códigos de idioma simples. Cada idioma se almacena con una región, y eso es lo que se declara. Ver Variantes de idioma y segmentación regional.
Dos casos en los que una etiqueta apunta a donde no debería
Ambos valen la pena saberlos si estás auditando tu propio marcado:
- Un idioma deshabilitado todavía se declara. Deshabilitar oculta un idioma del selector, pero el enlace alternativo para él todavía se emite, y la URL ya no sirve una traducción. Si los motores de búsqueda no deben ver un idioma, elimínalo en lugar de deshabilitarlo. Ver Agregar y quitar idiomas.
- Una página excluida todavía declara alternativas. Una ruta en Excluir páginas obtiene enlaces alternativos para cada idioma, y cada una de esas URL redirige a la página de origen. Ver Excluir páginas.
Verificándolas
Ve el código fuente en una URL traducida y busca en el <head> el comentario <!-- Universally hreflang tags -->, seguido de líneas rel="alternate". Espera una por idioma, más una para tu idioma de origen, más x-default: tres idiomas significan cinco enlaces.
El informe de segmentación internacional de Google Search Console es una verificación más lenta pero más exhaustiva, ya que informa sobre discrepancias en lugar de solo la presencia.
Las etiquetas se agregan independientemente de la traducción, por lo que una página que no está traducida, o que está excluida, todavía las recibe. Si faltan por completo, la causa es una de estas:
- El sitio no está conectado, o su clave de API falta o es inválida
- Universally no pudo ser alcanzado la última vez que se recuperó la lista de idiomas, por lo que la lista está vacía. Usa Actualizar en Universally » General » Idiomas, lo que puede tardar hasta 15 minutos en caducar por sí solo.
- Tu tema no llama a
wp_head(), por lo que nada en el<head>es agregado por ningún plugin.
Si tienes tu propio plugin de SEO
Universally no toca los enlaces hreflang que ya están en tu marcado: un elemento que lleva un atributo hreflang se excluye de la localización de enlaces, por lo que lo que sea que tu plugin de SEO haya escrito es lo que se envía. Si prefieres que sea el propietario de las etiquetas por completo, eso sigue funcionando.
A través de la API
Una integración de API sirve sus propias páginas, por lo que emite su propio <head>. Universally suministra el contenido traducido y la estructura de URL; agregar los enlaces alternativos es parte de la integración. Ver Integrar usando la API.