← Diário de Construção

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-BR
  • en
  • es
  • x-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:

  1. O mesmo canonicalId existe nas três versões?
  2. Cada canonical aponta para a URL final correta?
  3. O campo language combina com a pasta?
  4. O seletor de idioma leva para a versão equivalente?
  5. 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.

Referências