SEO internacional: hreflang e canonicalId no Astro
Como organizar páginas trilíngues no Astro usando hreflang, canonical e canonicalId sem criar uma bagunça de rotas.
Publicar em três idiomas parece simples até o primeiro detalhe quebrar: uma versão aponta para o slug errado, outra esquece o canonical, a terceira não aparece no seletor de idioma. SEO internacional não começa com tradução. Começa com organização.
No Astro, essa organização pode continuar simples se cada post tiver uma identidade editorial comum entre idiomas.
O problema das traduções soltas
Quando cada idioma nasce como um arquivo independente, o site ganha liberdade, mas também ganha risco. O post em português pode ter um slug, o inglês outro e o espanhol outro. Isso é normal. O problema é perder a relação entre eles.
Sem essa relação, fica difícil gerar links alternativos, montar o seletor de idioma e sinalizar aos buscadores que aquelas páginas são versões equivalentes do mesmo conteúdo.
CanonicalId como cola editorial
O canonicalId resolve esse problema como uma chave editorial. Ele não precisa ser a URL. Ele precisa ser o identificador estável do assunto.
Exemplo:
- PT:
seo-internacional-hreflang-canonicalid-astro - EN:
international-seo-hreflang-canonicalid-astro - ES:
seo-internacional-hreflang-canonicalid-astro
Os slugs podem mudar por idioma, mas o canonicalId continua igual. Com isso, o código consegue buscar traduções relacionadas e montar os alternates.
Hreflang na camada de layout
O hreflang não deveria ser escrito manualmente em cada post. Isso cria repetição e erro silencioso.
O melhor lugar para essa lógica é o layout. A página calcula os alternates, passa para o layout e o layout renderiza:
pt-BRenesx-default
Assim, o conteúdo continua focado no texto, enquanto a infraestrutura cuida dos sinais técnicos.
A rotina que evita erro
Toda nova publicação trilíngue precisa passar por uma lista curta:
- O mesmo
canonicalIdexiste nas três versões? - Cada
canonicalaponta para a URL final correta? - O campo
languagecombina com a pasta? - O seletor de idioma leva para a versão equivalente?
- O build estático gerou as três rotas?
Esse checklist parece pequeno, mas evita a maioria dos problemas. SEO técnico bom é muito menos sobre truques e muito mais sobre consistência.