Resumo
Use subdiretórios (pt-br, en-us, es-mx) e crie variações multilíngues do próprio blog/post.
O HubSpot gera (no head) as tags alternate/hreflang entre as variações e inclui cada versão no sitemap; cada página deve ter self-canonical.
Não use redirecionamento automático por idioma; ofereça seletor de idioma por links.
Qual modelo de URL? Subdiretórios (/pt-br/, /es-mx/, /en-us/).
O HubSpot cria hreflang? Sim, ao usar variações multilíngues do post.
x-default vai onde? Na home global/página de seleção, via rel="alternate" hreflang="x-default".
Posso usar redirecionamento por idioma? Evite; prefira seletor por links.
O que checar no GSC? Inspeção de URL e Cobertura/Canônico escolhido.
Resposta curta: Subdiretórios (ex.: /pt-br/, /es-mx/) — concentram autoridade e facilitam governança.
Evite misturar formatos: padronize (pt-br, en-us etc.)
Subdomínios: só em exceções técnicas.
ccTLDs: use apenas se houver razão legal/brand forte.
Settings → Website → Languages: defina o idioma primário e adicione os locales (ex.: pt-br, es-mx).
Ajuste formato de data/número e o prefixo de URL (a “pasta” do idioma).
Garanta menus e seletor de idioma para cada idioma (global content).
Dica: faça esse setup antes de criar páginas/posts para evitar troca de slugs e redirects depois.
Blog: mantenha um blog primário e crie variações por idioma (language group).
Post: em Blog → Posts, use Create multi-language variation e traduza título, slug, conteúdo, metas e alt text.
Links internos entre posts devem apontar para a mesma língua sempre que houver equivalente.
Ao criar variações, a HubSpot insere rel="alternate" hreflang="…" no <head> de cada versão e adiciona as URLs ao sitemap.
Revise: códigos corretos (pt-br, es-mx, en-gb) e se todas as versões se referenciam mutuamente.
Se houver várias “homes”: inclua também um hreflang="x-default" apontando para a home global/página de seleção.
Cada versão com self-canonical (apontando para si).
Não canonize pt-br para en (isso remove a versão local do índice).
Canonical cruzado só faz sentido em casos de consolidação editorial.
Evite. Redirecionamento automático por IP/navegador pode impedir Google e usuários de acessarem todas as versões.
Prefira seletor de idioma por links (header/footer) e, se quiser, apenas sugerir a troca (banner discreto, sem forçar).
Crawl amostral por idioma: confirme alternate/hreflang + self-canonical.
Search Console: use Inspeção de URL, acompanhe Cobertura e Canônico escolhido.
Sitemap: confirme que todas as versões estão listadas.
Métricas por idioma: títulos/metas/links internos podem variar conforme performance.
Misturar padrões de URL (/pt/ e /pt-br/): padronize e crie 301 um-para-um.
Traduzir como página solta (fora do grupo multilíngue): sempre crie multi-language variation do original.
Perder UTM no seletor: implemente seletor link-based que preserve parâmetros.
Canonical cruzado: troque por self-canonical.
Hreflang faltante/errado: confira pares/retornos e códigos (use pt-br, não apenas pt).
Idiomas/locales e prefixos definidos
Estratégia de subdiretórios aplicada
Blog primário com variações por idioma
Título, metas, slug e alt text localizados
Self-canonical em todas as versões
Hreflang completo entre as variantes (+ x-default se tiver várias “homes”)
Seletor de idioma (link-based) preservando UTM
Páginas no sitemap e propriedades no GSC
CSV de redirects testado
301s publicados (sem cadeias)
Sitemaps enviados
Crawl de amostra: alternates e canônicos ok
Monitoramento de 404/302
Cobertura/Indexação no GSC
Correções de pares/códigos de hreflang
Otimização contínua de títulos/metas/links internos por idioma
Preciso mexer no sitemap para hreflang?
Não. As variações entram no sitemap automático; você só valida as URLs.
Posso manter blogs separados por idioma?
Pode, mas complica. Prefira um blog primário com variações — facilita hreflang, analytics e governança.
E se já uso redirecionamento por idioma?
Desative quando possível. Se não der, garanta que robôs e usuários acessem todas as versões e inclua x-default na home global.