SEO

SEO multilingue: hreflang, URLs e como o Google entende PT vs BR vs EN

A maioria dos sites multilingue PT está mal configurada. Misturam PT-PT e PT-BR como se fossem a mesma língua para o Google, esquecem o hreflang ou usam-no errado, e acabam com dois sintomas previsíveis: utilizadores brasileiros a ver a versão portuguesa, utilizadores portugueses a ver a brasileira, e nenhum dos dois a ranquear bem em qualquer um dos países.

Este guia mostra como decidir a estrutura de URLs, implementar hreflang corretamente, e separar PT-PT de PT-BR sem disparar conteúdo duplicado.

A regra que muda tudo: o Google vê língua + país, não só língua

O Google usa duas dimensões para mostrar a versão certa do site:

  • Línguapt, en, es, fr. Detetada por <html lang> e conteúdo.
  • País (opcional) — pt, br, gb, us. Detetada por hreflang, ccTLD ou Search Console.

Para PT-PT vs PT-BR, a língua é (quase) a mesma — o que distingue é o país. Sem essa pista explícita, o Google escolhe arbitrariamente, e tipicamente mostra a versão errada ao utilizador errado.

1. Estrutura de URL — escolher uma, manter para sempre

Há três opções, com tradeoffs:

EstruturaExemploQuando faz sentido
ccTLDmarca.pt, marca.com.br, marca.co.ukOperações separadas por país, equipas locais, faturação local
Subdomíniopt.marca.com, br.marca.com, en.marca.comQuando precisas de hosting/CMS separados por mercado
Subdiretóriomarca.com/pt/, marca.com/br/, marca.com/en/Operação única, autoridade SEO concentrada num domínio

Recomendação para a maioria das PME portuguesas: subdiretórios. Concentra autoridade SEO, é mais fácil de manter, é o que o Google recomenda para começar. ccTLDs separados só fazem sentido se já tens autoridade real em cada um.

O detalhe sobre estrutura de URL e armadilhas comuns está em URLs amigáveis para SEO.

2. hreflang — o que é e como se implementa

hreflang é uma etiqueta que diz ao Google: "esta página tem versões alternativas para estes pares língua-país". Implementa-se de três formas:

Opção A — no <head> de cada página:

<link rel="alternate" hreflang="pt-pt" href="https://marca.com/pt/produto" />
<link rel="alternate" hreflang="pt-br" href="https://marca.com/br/produto" />
<link rel="alternate" hreflang="en" href="https://marca.com/en/product" />
<link rel="alternate" hreflang="x-default" href="https://marca.com/en/product" />

Opção B — no sitemap XML (recomendado para sites com 50+ páginas multilingue):

<url>
  <loc>https://marca.com/pt/produto</loc>
  <xhtml:link rel="alternate" hreflang="pt-pt" href="https://marca.com/pt/produto"/>
  <xhtml:link rel="alternate" hreflang="pt-br" href="https://marca.com/br/produto"/>
  <xhtml:link rel="alternate" hreflang="en" href="https://marca.com/en/product"/>
</url>

Opção C — HTTP headers (para PDFs e outros não-HTML).

Regra: escolhe uma. Não misturar. Se usares sitemap, não duplicar no <head>.

3. Os 5 erros mais comuns em hreflang

  1. Links unilaterais. A página A diz que B é alternativa, mas B não diz que A é alternativa. O Google ignora.
  2. hreflang="pt" quando queres dizer Portugal. pt é língua portuguesa em geral. Para Portugal, usar pt-pt. Para Brasil, pt-br.
  3. Códigos erradospt-PT ou PT-pt funcionam (case-insensitive), mas pt_PT (underscore) não. Sempre hífen.
  4. x-default em falta. O x-default diz qual é a página fallback quando o Google não encontra match. Sem isso, escolhe arbitrariamente.
  5. Apontar para URLs com redirect ou noindex. O hreflang deve apontar à URL final indexável.

Verifica com a ferramenta gratuita Hreflang Tags Testing Tool ou no Search Console (relatório de International Targeting).

4. PT-PT vs PT-BR — separar de verdade

Aqui está o erro mais frequente das marcas que querem servir Portugal e Brasil: copiar e colar o mesmo texto entre /pt/ e /br/. Resultado: conteúdo duplicado, sinais mistos, ranking pior em ambos os mercados.

O que separar mesmo:

  • Vocabulário — telemóvel/celular, ecrã/tela, ficheiro/arquivo, fatura/nota fiscal, fato/terno, sumo/suco, autocarro/ônibus.
  • Pagamentos — MB Way, Multibanco, cartão em PT-PT; Pix, boleto, cartão em PT-BR.
  • Moeda — € em PT, R$ em BR (mesmo no mesmo preço, formatação diferente: 1.500,00 € vs R$ 1.500,00).
  • Endereço / morada — código postal vs CEP, NIF vs CPF/CNPJ.
  • Lei — RGPD em PT, LGPD em BR.
  • Imagens — referências culturais (CTT vs Correios, AT vs Receita Federal).

Quando o conteúdo é mesmo idêntico (ex. um post técnico), o hreflang resolve a ambiguidade — não disparas penalização por duplicado entre versões anotadas com hreflang. Mas só se o hreflang está correto.

5. Conteúdo só num idioma — x-default e hreflang="x"

Casos práticos:

  • Blog só em PT-PT mas site também em EN — meter hreflang só no homepage e páginas com versão; deixar os posts como estão (lang="pt-PT" no <html>).
  • Página global (ex. "Sobre nós" em EN) — hreflang="x-default" aponta a essa página.
  • Loja com catálogo só em alguns mercados — a página de produto que existe só em PT não precisa de hreflang; a que existe em PT e EN precisa de ambos.

6. Sitemap por idioma — quando faz sentido

Duas abordagens:

  • Sitemap único com <xhtml:link> — recomendado para sites pequenos a médios. Tudo num só ficheiro /sitemap.xml, com alternates dentro.
  • Sitemap por idioma (/sitemap-pt.xml, /sitemap-en.xml) — útil para sites grandes; submetes cada um ao Search Console.

Em qualquer caso, submeter no Search Console e verificar relatório de cobertura por idioma. Erros surgem aí antes de surgirem no ranking.

A base de como funcionam sitemaps XML e o que devem incluir está em sitemap XML: o que é e como gerar.

7. Search Console — uma propriedade por mercado?

Se tens ccTLDs separados (.pt, .com.br), cada um é uma propriedade no Search Console. Se tens subdiretórios (.com/pt/, .com/br/), há dois caminhos:

  • Uma propriedade só (marca.com) — mais simples; vês tudo junto.
  • Propriedades por prefixo (marca.com/pt/, marca.com/br/) — vês métricas separadas por mercado. Recomendado quando tens mercados ativos a sério.

8. Quando NÃO ir multilingue

Multilingue mal feito é pior do que site só em PT. Não vás multilingue se:

  • Não tens budget para tradução nativa (Google Translate quebra ranking e marca).
  • Não tens equipa para manter conteúdo paralelo atualizado.
  • Não tens cliente real nos outros mercados (faz teste com Google Ads em EN antes).
  • O site é pequeno (5 páginas) — adiciona "Contact us in English" no rodapé e dispensa estrutura multilingue.

Detalhes práticos sobre site multilingue PT/EN (a combinação mais comum em PT) estão em site multilingue PT/EN. O contexto técnico geral em SEO técnico — guia.

9. Detecção de idioma automática — não fazer

Tentação clássica: detetar o IP do utilizador e redirecionar automaticamente. Não fazer. Razões:

  • Google indexa de Mountain View (IP norte-americano) — redirecionado para EN, nunca indexa PT/BR.
  • Utilizador português em Espanha vê site espanhol indesejado.
  • VPNs desfazem tudo.

O que fazer em alternativa: mostrar um aviso no topo ("It seems you're visiting from outside Portugal. View this page in English?") com botão de troca, sem redirecionar. O Google e o utilizador agradecem.

10. URLs traduzidas — sim ou não?

/pt/sobre-nos vs /en/about-us — devem os slugs ser traduzidos?

  • Sim se tens budget para manter — melhor para SEO local em cada língua.
  • Não se a equipa não vai manter consistência — pior ter /en/sobre-nos (mistura) do que /en/sobre-nos consistente.

Recomendação prática: traduzir slugs em páginas comerciais principais (homepage, produtos, sobre, contacto). Manter slugs originais em blog se for trabalho excessivo.

11. Migrar para multilingue um site que já existe

Tens site só em PT e queres adicionar EN sem perder ranking? Mecânica recomendada:

  1. Manter / como PT-PT (não mover para /pt/). Mover dispara redirects em massa, perda temporária de ranking.
  2. Adicionar /en/ como nova secção, com hreflang correto desde o dia 1.
  3. Submeter sitemap EN ao Search Console como propriedade separada (prefix).
  4. Monitorizar 4-8 semanas — o Google leva tempo a perceber a nova versão.

Se o site já tem /pt/ por outra razão (multilingue antigo mal feito), valer a pena auditar antes de adicionar mais. Misturar URLs antigas mal estruturadas com novas só piora.

12. Lojas online multilingue — ainda mais cuidado

Loja online multilingue tem complexidade extra: moeda, fiscalidade, pagamentos, envios.

  • Moeda por mercado — € em PT, R$ em BR. Não converter dinamicamente.
  • IVA por país — calculado no checkout, mostrado na ficha.
  • Pagamentos — MB Way/Multibanco em PT, Pix/boleto em BR, SEPA em EU.
  • Envios — CTT/DPD em PT, Correios/Jadlog em BR.

Plataformas como WooCommerce + WPML, Shopify Markets, Jumpseller multilingue resolvem o básico. Custo de manutenção real é o que mata projetos mal escopados.

Em resumo

SEO multilingue funciona se três coisas estão certas:

  • Estrutura de URL clara (subdiretórios para a maioria; ccTLDs só com autoridade real).
  • hreflang bilateral, com x-default, códigos pt-pt e pt-br separados.
  • Conteúdo realmente traduzido, com vocabulário, pagamentos e lei do mercado de destino.

O resto (sitemap, Search Console, monitorização) é mecânica. A maioria dos sites multilingue mal configurados em PT falha numa das três — geralmente a primeira ou a terceira.


No sitesfixe.pt construímos sites multilingue com hreflang correto, estrutura de URL coerente e separação PT-PT/PT-BR feita à mão. Sites desde 1.500€, multilingue adicional desde 500€. Pede um orçamento sem compromisso.

Lê também:

Fontes

Precisas de um site ou loja online?

Agência digital portuguesa. Sites e lojas online rápidos, otimizados para o Google e feitos para resultado.

Pedir orçamento