Hreflang

Atualizado em

Definição

Atributo HTML utilizado para indicar aos buscadores a relação entre páginas com conteúdo equivalente em diferentes idiomas ou variações regionais, os orientando a exibir a versão mais adequada para cada usuário com base no seu idioma e localização geográfica.

Vários mastros enfileirados exibindo bandeiras de diversos países, como Brasil, EUA, China e Reino Unido, sob um céu azul com nuvens esparsas

Se o seu site atende usuários em mais de um idioma ou em diferentes países, há uma peça técnica que não pode ser ignorada: o atributo hreflang.

Ele é o mecanismo que informa ao Google qual versão de uma página deve ser exibida para cada combinação de idioma e região — e, quando implementado corretamente, é um dos pilares de qualquer estratégia sólida de SEO internacional.

Esta página cobre desde o conceito até a implementação prática, passando pelos erros mais comuns que comprometem o resultado.

Índice de conteúdo

O que é hreflang?

O hreflang é um atributo de anotação, projetado para resolver um problema específico do SEO internacional: como informar mecanismos de busca que páginas específicas são versões equivalentes de um mesmo conteúdo, mas voltadas para públicos com idiomas ou regiões diferentes?

Na prática, trata-se de uma tag que você insere no código da página, no sitemap XML ou no cabeçalho HTTP, declarando explicitamente quais URLs formam um grupo de conteúdo relacionado e para qual combinação de idioma e país cada uma delas se destina.

Um exemplo simples: imagine um e-commerce que vende para o Brasil e para Portugal. O conteúdo pode ser em português em ambos os casos, mas com variações de vocabulário, moeda e oferta. Sem o hreflang, o Google não tem como distinguir qual versão entregar para um usuário em São Paulo e qual entregar para um em Lisboa. Com ele, essa instrução fica explícita.

Vale destacar que o hreflang é uma diretiva consultiva, não uma ordem absoluta. O Google considera a anotação, mas pode ignorá-la se houver inconsistências na implementação. Por isso, a precisão técnica na configuração é determinante.

Para que serve o atributo hreflang?

O propósito central do hreflang é garantir que o usuário certo encontre a página certa nos resultados de busca. Sem ele, o Google pode indexar e ranquear uma versão inadequada do seu conteúdo — como exibir a página em inglês para alguém buscando em português, ou entregar a versão americana para um usuário no México.

Além da experiência do usuário, o hreflang resolve outro problema técnico relevante: o conteúdo duplicado entre versões de idioma ou região. Quando duas páginas possuem conteúdo muito semelhante, o Google precisa decidir qual indexar e qual suprimir. A anotação hreflang sinaliza que essa duplicidade é intencional e controlada, evitando penalizações desnecessárias.

O atributo também impacta diretamente a taxa de rejeição e a conversão. Um usuário que chega à versão correta do site — no seu idioma, com preços na sua moeda e ofertas relevantes para sua região — tem muito mais chances de engajar e converter do que alguém que precisa navegar por uma versão inadequada.

Hreflang e SEO internacional

No contexto do SEO internacional, o hreflang é um dos sinais mais importantes que você pode enviar ao Google. Ele integra uma estratégia maior que envolve a estrutura de URLs do site (subdomínios, subpastas ou ccTLDs), a hospedagem e a produção de conteúdo localizado.

Sites que atuam em múltiplos mercados sem o hreflang tendem a acumular problemas silenciosos: canibalização entre versões do mesmo conteúdo, posicionamento inconsistente por país e visibilidade orgânica fragmentada. O hreflang não resolve todos esses problemas sozinho, mas é a base técnica que permite ao Google compreender a arquitetura multilíngue e multirregional do site.

Um ponto frequentemente subestimado: o hreflang afeta não apenas qual URL aparece no resultado de busca, mas também em qual domínio ou subdomínio ela aparece. Isso é especialmente relevante para empresas que mantêm estruturas complexas, como example.com/br/, example.com/pt/ e example.pt operando simultaneamente.

Como funciona o hreflang?

O funcionamento do hreflang se baseia em um princípio simples: cada página precisa declarar todas as suas versões equivalentes, incluindo a si mesma. Essa estrutura de anotação recíproca é o que valida o grupo de páginas relacionadas aos olhos do Google.

Quando o Googlebot rastreia uma URL e encontra anotações hreflang, ele mapeia o conjunto de páginas relacionadas e armazena essa informação. Ao processar uma consulta de busca, considera o idioma e a localização do usuário e seleciona a URL mais adequada dentro do grupo mapeado.

A anotação segue o formato hreflang="código-idioma-região", onde o código de idioma segue o padrão ISO 639-1 (como pt para português) e o código de região segue o ISO 3166-1 Alpha-2 (como BR para Brasil). A combinação pt-BR, por exemplo, indica português do Brasil especificamente.

Para que o grupo de páginas seja válido, todas as URLs do conjunto precisam se referenciar mutuamente. Se a versão em inglês aponta para a versão em português, a versão em português também precisa apontar para a versão em inglês. Uma anotação unilateral é ignorada ou pode causar comportamentos imprevisíveis.

Relação entre hreflang e canonical

A canonical tag e o hreflang são duas tags distintas com propósitos complementares — e a confusão entre elas é uma das fontes de erro mais comuns em SEO técnico.

A tag canonical instrui o Google sobre qual é a URL preferencial quando há conteúdo duplicado ou muito similar. O hreflang, por sua vez, informa quais URLs são versões equivalentes para públicos diferentes. Quando usados juntos, cada URL do grupo hreflang deve conter um canonical apontando para si mesma (self-referencing canonical).

O problema ocorre quando o canonical de uma página aponta para uma versão em outro idioma. Nesse caso, o Google pode interpretar que a URL não é a preferencial, o que entra em conflito direto com a declaração hreflang. O resultado é imprevisível: o mecanismo pode ignorar o hreflang, indexar a URL errada ou simplesmente desconsiderar todo o grupo de anotações.

A regra prática é direta: o canonical e o hreflang de uma mesma página precisam ser consistentes. Se a página example.com/pt-br/ está no grupo hreflang, o canonical dela deve apontar para example.com/pt-br/ — não para example.com/en/ ou qualquer outra versão.

Como implementar o hreflang

Há três formas de implementar o hreflang: via tag HTML no <head> da página, via sitemap XML ou via cabeçalho HTTP. A escolha depende do tipo de conteúdo servido e da infraestrutura disponível. Em qualquer caso, a lógica de anotação recíproca se mantém.

Hreflang no HTML

A implementação via HTML é a mais comum e a mais fácil de auditar. As anotações são inseridas dentro da tag <head> de cada página, usando elementos <link> com o atributo rel="alternate".

O formato básico é o seguinte:

<link rel="alternate" hreflang="pt-BR" href="https://example.com/pt-br/" />
<link rel="alternate" hreflang="pt-PT" href="https://example.com/pt-pt/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />

Esse bloco deve aparecer em todas as páginas do grupo, cada uma listando todas as outras versões e a si mesma. Se o site tiver muitas páginas e variações de idioma, o volume de tags pode crescer rapidamente — o que não é um problema técnico em si, mas exige atenção redobrada na manutenção.

Essa abordagem é ideal para sites cujo conteúdo é renderizado no servidor ou gerado de forma estática, onde o controle sobre o <head> de cada página é total. Em sites com renderização do lado do cliente (client-side rendering), é importante garantir que as tags sejam entregues no HTML inicial, não apenas após a execução do JavaScript.

Hreflang no sitemap XML

Para sites com grande volume de páginas, a implementação via sitemap XML costuma ser mais eficiente do que inserir as tags manualmente em cada URL. Nesse modelo, as anotações são centralizadas em um único arquivo, o que facilita a atualização e reduz o risco de inconsistências.

A estrutura no sitemap usa o namespace xhtml e o elemento xhtml:link dentro de cada entrada <url>:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/pt-br/</loc>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://example.com/pt-br/" />
    <xhtml:link rel="alternate" hreflang="pt-PT" href="https://example.com/pt-pt/" />
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
  </url>
  <url>
    <loc>https://example.com/pt-pt/</loc>
    <xhtml:link rel="alternate" hreflang="pt-BR" href="https://example.com/pt-br/" />
    <xhtml:link rel="alternate" hreflang="pt-PT" href="https://example.com/pt-pt/" />
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
  </url>
</urlset>

A mesma regra de reciprocidade se aplica: cada URL precisa listar todas as versões do grupo, incluindo ela mesma. Sitemaps com hreflang tendem a ser extensos; para sites com estruturas muito grandes, é recomendável separá-los por idioma ou região e referenciá-los em um sitemap índice.

Hreflang no cabeçalho HTTP

A implementação via cabeçalho HTTP é a menos comum e se aplica especificamente a arquivos não HTML, como PDFs. Como esses arquivos não possuem um <head> onde inserir tags, as anotações precisam ser declaradas diretamente na resposta do servidor.

O cabeçalho segue este formato:

Link: <https://example.com/en/documento.pdf>; rel="alternate"; hreflang="en",
      <https://example.com/pt-br/documento.pdf>; rel="alternate"; hreflang="pt-BR"

Para a maioria dos sites, essa abordagem não será necessária. Mas em ambientes onde documentos PDF são parte relevante da estratégia de conteúdo — como portais jurídicos, plataformas educacionais ou relatórios técnicos — o cabeçalho HTTP é o único caminho viável para anotação hreflang nesses arquivos.

Códigos de idioma e região no hreflang

A precisão nos códigos de idioma e região é fundamental. Um código incorreto faz com que o Google ignore a anotação inteira, sem emitir qualquer aviso visível no Search Console — o que torna o erro difícil de detectar.

Os códigos de idioma seguem o padrão ISO 639-1, composto por duas letras minúsculas: pt para português, en para inglês, es para espanhol, fr para francês, e assim por diante. Já os códigos de região seguem o ISO 3166-1 Alpha-2, com duas letras maiúsculas: BR para Brasil, US para Estados Unidos, ES para Espanha, etc.

A combinação dos dois forma os códigos regionalizados, como pt-BR, pt-PT, en-US e en-GB. O uso do código apenas de idioma, sem a região (pt, en), é válido quando a versão se destina a falantes daquele idioma em qualquer país — sem segmentação geográfica específica.

Abaixo, alguns dos códigos mais usados em estratégias de SEO internacional:

CódigoDescrição
pt-BRPortuguês do Brasil
pt-PTPortuguês de Portugal
en-USInglês dos Estados Unidos
en-GBInglês do Reino Unido
es-ESEspanhol da Espanha
es-MXEspanhol do México
fr-FRFrancês da França
de-DEAlemão da Alemanha
x-defaultFallback genérico (sem idioma/região definido)

É importante não confundir os padrões: o código de idioma é sempre em minúsculas e o de região em maiúsculas. Embora o Google seja tolerante com variações de capitalização, adotar o padrão correto desde o início evita ambiguidades e garante compatibilidade com outros motores de busca que também suportam hreflang, como o Yandex, popular na rússia.

Como usar o atributo x-default

O valor x-default é um caso especial dentro do hreflang. Ele não representa um idioma ou região específico, mas sim uma URL de fallback — a versão que o Google deve exibir quando nenhuma das anotações disponíveis corresponde ao idioma ou à localização do usuário.

O uso mais comum é apontar o x-default para uma página seletora de idioma ou região, ou para a versão com a língua franca padrão do site. Por exemplo:

<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />

O x-default não é obrigatório, mas é altamente recomendável em qualquer implementação hreflang. Sem ele, um usuário em um país não coberto pelas anotações pode receber qualquer versão do site — o que é imprevisível e potencialmente prejudicial à experiência de navegação.

Um detalhe importante: o x-default deve ser incluído em todas as páginas do grupo, assim como os demais códigos. Omiti-lo em algumas páginas e incluí-lo em outras cria inconsistência no conjunto de anotações.

Erros comuns no hreflang

A implementação do hreflang é tecnicamente simples, mas repleta de armadilhas que passam despercebidas até que os resultados orgânicos comecem a apresentar comportamentos estranhos. Conhecer os erros mais frequentes é tão importante quanto saber como implementar corretamente.

O primeiro erro — e o mais crítico — é a falta de reciprocidade: quando uma página referencia suas versões alternativas, mas essas versões não a referenciam de volta. O Google exige que todas as URLs de um grupo se apontem mutuamente. Uma anotação unilateral é simplesmente descartada.

O segundo erro comum é o uso de URLs inconsistentes. Qualquer diferença entre as URLs declaradas nas anotações e as URLs reais das páginas — como a presença ou ausência de barra final (/), variações no protocolo (http vs. https) ou parâmetros de rastreamento — invalida a anotação. O Google trata example.com/pt-br e example.com/pt-br/ como URLs distintas.

Outro equívoco frequente é apontar hreflang para páginas que redirecionam. Se a URL declarada na anotação retorna um redirecionamento 301 ou 302, o Google pode não processar o hreflang corretamente. Todas as URLs devem retornar status 200 e ser as URLs canônicas finais.

Há também o problema de canonical conflitante, já abordado anteriormente: quando o canonical de uma página aponta para uma versão em outro idioma, contradizendo a declaração hreflang. Esse conflito normalmente resulta na desconsideração das anotações.

Por fim, um erro sutil, mas igualmente danoso: omitir a autorreferência. Cada página precisa incluir uma anotação hreflang para ela mesma, além das referências às outras versões. Esquecer de declarar a própria URL no grupo é um dos erros mais simples de cometer e um dos mais fáceis de identificar numa auditoria.

A boa notícia é que o Google Search Console reporta erros de hreflang na seção de Internacionalização, o que facilita sua detecção e correção. Após qualquer implementação, verificar esse relatório deve ser o primeiro passo de validação.

Conclusão

O hreflang é uma das implementações técnicas mais impactantes em SEO para sites que atendem múltiplos idiomas ou regiões — e também uma das mais suscetíveis a erros silenciosos.

Dominar sua lógica de funcionamento, as formas de implementação e os padrões de código é o que separa uma estratégia internacional sólida de um site que desperdiça potencial orgânico por falhas de configuração.

O caminho prático a seguir começa por mapear todas as versões de idioma e região do site, definir a forma de implementação mais adequada à infraestrutura disponível e garantir que todas as anotações sejam recíprocas, consistentes e apontadas para URLs canônicas.

Após a implementação, o Search Console é o principal aliado para identificar e corrigir problemas com a tag. A manutenção contínua — especialmente quando novas páginas ou idiomas são adicionados — é o que garante que o hreflang continue cumprindo sua função ao longo do tempo.

Sobre o autor

Homem branco com um leve sorriso olhando para frente

João Santos

Desenvolvedor Web & Especialista em SEO

Sou um Desenvolvedor Web com profundos conhecimentos em SEO que trabalha com a internet desde 2017. Graduado em Análise e Desenvolvimento de Sistemas e pós-graduado em Marketing Digital, através deste site compartilho meus conhecimentos e dicas relevantes para qualquer um que queira saber mais sobre criação, manutenção e otimização de sites, aplicativos e sistemas.