A indústria que exporta para a América Latina, o SaaS que vende em Portugal, a escola de idiomas com página em inglês: cada vez mais empresas brasileiras mantêm o mesmo site em mais de uma língua. E muitas descobrem o problema pelo cliente — o comprador chileno que cai na página em português, o lisboeta que vê preço em reais.
É para isso que existe o hreflang. Este guia explica o que ele faz e o que não faz, a regra do link de volta que derruba a maioria das implementações, os códigos certos para português do Brasil, português de Portugal e espanhol, e um roteiro para validar tudo antes de publicar — sempre amarrado à documentação do próprio Google.
O que é hreflang?
Hreflang é um atributo que liga as versões de uma mesma página feitas para idiomas ou regiões diferentes. Ele diz ao Google: esta página em português do Brasil tem uma irmã em português de Portugal, outra em espanhol e uma página de reserva para quem não se encaixa em nenhuma.
O nome junta href (o endereço) com lang (a língua). Na forma mais comum, é uma linha no cabeçalho da página: <link rel="alternate" hreflang="pt-PT" href="https://www.exemplo.com/pt/" />. Cada versão recebe um conjunto dessas linhas, uma para cada irmã — e uma para si mesma.
Por que o hreflang é importante para SEO?
Sem ele, o Google decide sozinho qual versão mostrar em cada país, e nem sempre acerta: a página brasileira pode aparecer em Portugal, a versão em inglês pode aparecer para quem pesquisa em espanhol. O usuário entra, vê a língua ou a moeda errada e volta para a busca.
Com o hreflang bem feito, cada versão aparece para o público certo, e as páginas deixam de disputar entre si. Ele é especialmente útil quando as versões são muito parecidas — português do Brasil e de Portugal, espanhol da Espanha e do México —, porque é justamente nesses casos que o buscador tem mais dificuldade de distinguir para quem é cada página.
O que o hreflang não faz?
Boa parte dos erros vem de esperar do hreflang o que ele não promete. A documentação do Google desfaz três mitos que circulam em artigos sobre o tema:
- Não traduz nem identifica idioma. Se a página “em espanhol” tem metade do texto em português, o hreflang não corrige a percepção do Google.
- Não é uma proteção contra conteúdo duplicado. Página traduzida de verdade já não é duplicada; página com só o menu traduzido continua sendo, com ou sem hreflang.
- Não faz a página subir. Ele troca a versão exibida para quem já encontraria o site; não cria autoridade nem posição nova.
- Não depende de subdomínio ou pasta. A mesma documentação registra que o Google não usa subdomínios por idioma para definir o público-alvo da página.
Como funciona o link de volta que o Google exige?
Esta é a regra que separa um hreflang que funciona de um que é ignorado em silêncio. As versões formam um grupo, e cada página do grupo precisa listar todas as outras e a si mesma. Se a página X aponta para Y, Y tem de apontar de volta para X.
O motivo da regra é segurança: se bastasse uma página apontar para outra, qualquer site poderia se declarar a “versão em espanhol” do seu. Na prática, o erro aparece quando a equipe de um país publica uma página nova e esquece de atualizar as irmãs, ou quando um CMS gera o hreflang só na versão principal.
Quais códigos de idioma e região usar no hreflang?
O valor do hreflang tem duas partes: o idioma, obrigatório, no padrão ISO 639-1, e a região, opcional, no padrão ISO 3166-1 Alpha 2. A documentação também aceita o script no padrão ISO 15924, como em zh-Hant. O que não dá é informar só o país: a região sozinha não é válida.
| Código | Significa | Quando usar |
|---|---|---|
| pt | Português, qualquer região | Uma única versão em português para todos os países |
| pt-BR | Português para o Brasil | Versão com preço em real, frete e termos brasileiros |
| pt-PT | Português para Portugal | Versão com grafia, moeda e atendimento de Portugal |
| es | Espanhol, qualquer região | Uma versão em espanhol para toda a América Latina e a Espanha |
| es-MX | Espanhol para o México | Quando o México tem preço, catálogo ou equipe próprios |
| x-default | Página de reserva | Seletor de idioma ou página para quem não se encaixa em nenhuma versão |
Elaborado pela Alliance Comunicação com base nos padrões aceitos pela documentação do Google Search Central.
Duas armadilhas comuns aparecem até em guias de ferramentas conhecidas. A primeira é en-uk: o código do Reino Unido na ISO 3166-1 é GB, então o certo é en-GB. A segunda é es-419, o código de “espanhol latino-americano” usado em outros contextos: a documentação do Google o lista como não suportado. Para atender a América Latina inteira, use es.
Brasil e Portugal precisam de páginas separadas?
Depende do que muda entre os dois públicos. Se a única diferença é a grafia de algumas palavras, uma versão em pt atende os dois países e dispensa o par pt-BR/pt-PT. Se mudam preço, moeda, frete, prazo, telefone, nota fiscal ou condições comerciais, as páginas já não são a mesma oferta, e separar com pt-BR e pt-PT passa a fazer sentido.
A separação tem custo: cada página nova precisa nascer nas duas versões, com o grupo de hreflang atualizado nas duas. Uma versão portuguesa abandonada, com preço desatualizado e metade do catálogo, faz mais estrago do que nenhuma. Antes de criar o par, confirme se haverá alguém responsável por manter o lado de lá.
E a América Latina, um espanhol ou vários?
A mesma lógica vale para o espanhol. Uma indústria que vende para cinco países com o mesmo catálogo e o mesmo representante resolve com uma versão em es. Quando um país tem distribuidor, preço ou regulamentação próprios, ele ganha a sua página, como es-MX ou es-CL, e o es genérico continua atendendo os demais. As duas formas convivem no mesmo grupo sem conflito.
Quando usar o x-default?
O x-default é um valor reservado que aponta para a página de reserva: a que o Google deve mostrar quando nenhum idioma ou região do grupo corresponde à configuração do navegador do usuário. Ele não leva código de idioma.
O Google o recomenda em dois casos: seletor de idioma (a página inicial que pergunta “Brasil, Portugal ou Español?”) e página inicial que redireciona automaticamente conforme o visitante. Se não existe uma página assim, o x-default pode apontar para a versão que a empresa considera principal, desde que ela também esteja no grupo.
Como implementar hreflang: HTML, cabeçalho HTTP ou sitemap?
Há três métodos, e para o Google eles são equivalentes: usar os três ao mesmo tempo não traz benefício nenhum na busca e só triplica o trabalho de manter. Escolha um pelo tipo de site e de conteúdo.
1. Tags no HTML
Cada versão leva, dentro do <head>, uma linha para cada irmã e uma para si mesma. No exemplo de um site com Brasil, Portugal, espanhol e seletor, as quatro páginas carregam o mesmo bloco:
<link rel="alternate" hreflang="pt-BR" href="https://www.exemplo.com/br/" /><link rel="alternate" hreflang="pt-PT" href="https://www.exemplo.com/pt/" /><link rel="alternate" hreflang="es" href="https://www.exemplo.com/es/" /><link rel="alternate" hreflang="x-default" href="https://www.exemplo.com/" />
Repare que os endereços são completos, com https://: a documentação exige URL totalmente qualificada, incluindo o protocolo. Endereço relativo, como /pt/, é um erro.
2. Cabeçalho HTTP
Para arquivos que não têm HTML, como um catálogo em PDF traduzido, o servidor envia um cabeçalho Link na resposta, com todas as versões separadas por vírgula: Link: <https://www.exemplo.com/catalogo-br.pdf>; rel="alternate"; hreflang="pt-BR", <https://www.exemplo.com/catalogo-es.pdf>; rel="alternate"; hreflang="es". O cabeçalho deve ser o mesmo em todas as versões e incluir a própria.
3. Sitemap XML
Em sites grandes, é o método mais fácil de manter, porque concentra tudo num arquivo. Cada página entra num bloco <url> com o endereço em <loc> e uma linha <xhtml:link rel="alternate" hreflang="…" href="…" /> para cada versão, inclusive ela mesma. O detalhe que mais falha: o sitemap precisa declarar o namespace xmlns:xhtml="http://www.w3.org/1999/xhtml" na abertura do <urlset>.
Se você ainda não domina o arquivo, vale ler antes sobre as tags do sitemap XML que o Google ignora — o hreflang é uma das que ele lê.
Como usar hreflang e canonical juntos?
É aqui que aparecem os erros mais caros. A tag canonical diz qual é a versão principal de páginas duplicadas; o hreflang liga versões diferentes de propósito. Se a página em espanhol tiver canonical apontando para a página em português, a mensagem ao Google é “a página em espanhol é cópia desta” — o oposto do que o hreflang diz.
A orientação do Google, na documentação sobre URLs duplicados, é especificar a canônica no mesmo idioma. Na prática: cada versão é canônica de si mesma, e o hreflang liga as canônicas entre si. A mesma página registra que o Google prefere, como canônicas, URLs que fazem parte de grupos de hreflang.
Cuidado também com mudança de endereço. Quando o site muda de domínio ou de estrutura de pastas, o hreflang precisa apontar para os endereços novos, não para os que agora redirecionam. Para a migração em si, veja o que o Google pede no redirecionamento 301.
Quais são os erros mais comuns de hreflang?
| Erro | O que acontece | Como corrigir |
|---|---|---|
| Falta o link de volta | As anotações do par são ignoradas | Cada versão lista todas as outras e a si mesma |
| Código inválido (en-uk, es-419, só país) | A linha não é reconhecida | Idioma ISO 639-1 + região ISO 3166-1 Alpha 2 (en-GB, es) |
| URL relativa ou sem https | O endereço não é aceito | URL completa, com protocolo |
| Canonical apontando para outro idioma | Sinais contraditórios; a versão pode sumir | Canonical para si mesma, no mesmo idioma |
| Hreflang para página que redireciona ou dá erro | O grupo se quebra | Apontar só para páginas finais que respondem 200 |
| Sitemap sem o namespace xhtml | O arquivo não é lido como hreflang | Declarar xmlns:xhtml no <urlset> |
| Página “traduzida” só no menu | Continua sendo duplicada | Traduzir o conteúdo principal |
Elaborado pela Alliance Comunicação com base na documentação do Google Search Central.
Um erro que aparece em guias e não é erro: chamar de problema a autorreferência, isto é, a página listar a si mesma. É o contrário — a documentação pede que cada versão liste a si mesma junto com as outras.
Como validar o hreflang antes de publicar?
- Monte uma planilha do grupo: uma linha por página, uma coluna por idioma, com a URL final de cada versão.
- Confira se cada URL da planilha responde 200, sem redirecionamento, e tem canonical para si mesma.
- Abra o código de cada versão (ou o sitemap) e verifique se o bloco de hreflang é idêntico em todas, incluindo a própria página.
- Cheque os códigos contra a lista ISO: idioma em duas letras, região em duas letras, nada de país sozinho.
- Rode um rastreador de SEO que relate erros de retorno e códigos inválidos, e repita a checagem a cada página nova publicada em qualquer idioma.
- Depois de publicar, acompanhe no Search Console se cada país recebe impressões na versão certa.
Para ler os relatórios por país e por página sem cair em interpretação errada, o guia sobre o que os relatórios do Search Console não mostram ajuda a separar sinal de ruído.
Quando você não precisa de hreflang?
Se o site existe só em português e atende só o Brasil, não há grupo para ligar, e o hreflang não acrescenta nada. O mesmo vale para um site em português com uma única página institucional em inglês, sem equivalente exato: hreflang liga versões da mesma página, não páginas parecidas.
Também não resolve problema que é de conteúdo. Se a versão em espanhol é uma tradução automática sem revisão, com preço em real e telefone sem código do país, o hreflang vai entregar ao chileno uma página que não serve para ele. Primeiro a versão local precisa existir de verdade; depois vem a anotação.
Por onde começar hoje
Liste quantas versões o site tem de fato e para quem cada uma é: idioma, país, moeda, atendimento. Decida se Portugal e Brasil precisam de páginas separadas ou de uma só em pt, e se a América Latina pede países próprios ou um es único. Com o mapa no papel, escolha o método — HTML, cabeçalho ou sitemap — e implemente o grupo inteiro de uma vez.
Se a dúvida é maior — se o site internacional está trazendo negócio ou só visita —, o diagnóstico de marketing gratuito leva cerca de 30 minutos e mostra onde a presença digital perde força. Para a implementação técnica, do grupo de hreflang à medição por país, conheça o trabalho de SEO & GEO da Alliance.

