O que é Hreflang?
Hreflang é um atributo HTML que informa aos mecanismos de busca qual versão de idioma e região de uma página deve ser exibida para usuários em localizações específicas. Introduzido pelo Google em 2011, o atributo hreflang é inserido dentro de elementos <link> e cria um sinal que ajuda os mecanismos de busca a compreender a relação entre páginas que compartilham o mesmo conteúdo, mas são direcionadas a idiomas ou regiões diferentes.
O atributo segue um formato simples: hreflang="en" para inglês, hreflang="es" para espanhol, ou hreflang="en-GB" para inglês direcionado especificamente a usuários do Reino Unido. Quando implementado corretamente, hreflang garante que um usuário lusófono no Brasil veja a versão pt-BR da sua página nos resultados de busca, em vez da versão em inglês ou da versão em português direcionada a Portugal.
Sem hreflang, os mecanismos de busca precisam adivinhar qual versão do seu conteúdo mostrar para cada audiência. Essa adivinhação leva ao aparecimento de páginas erradas nos resultados de busca, sinais de conteúdo duplicado que diluem seu posicionamento e usuários frustrados que chegam a um conteúdo em um idioma que não compreendem.
Por que Hreflang é importante para o SEO internacional
SEO internacional é a prática de otimizar seu site para que os mecanismos de busca possam identificar quais países e idiomas seu conteúdo visa atingir. Hreflang é o mecanismo principal para comunicar esse direcionamento ao Google e ao Yandex. O Bing utiliza uma abordagem diferente (a meta tag content-language), mas hreflang continua sendo o padrão dominante.
Existem três razões fundamentais pelas quais hreflang é essencial para qualquer site multilíngue ou multirregional:
-
Prevenção de problemas de conteúdo duplicado. Quando você possui o mesmo conteúdo em vários idiomas, os mecanismos de busca podem tratar essas páginas como duplicatas. Hreflang informa que essas páginas são variantes linguísticas intencionais, não cópias. Isso preserva a autoridade de ranqueamento de cada versão.
-
Exibir a página certa para o público certo. Hreflang influencia diretamente qual URL aparece nos resultados de busca para usuários em diferentes regiões. Um usuário pesquisando da Alemanha verá a versão em alemão, enquanto um usuário pesquisando do Brasil verá a versão em português. Isso aumenta as taxas de clique porque os usuários veem resultados no seu idioma.
-
Consolidação de sinais de ranqueamento entre versões linguísticas. Em vez de tratar suas páginas em inglês, espanhol e alemão como concorrentes, hreflang informa aos mecanismos de busca que elas fazem parte de uma única entidade multilíngue. A autoridade e os links obtidos por qualquer versão podem beneficiar o conjunto completo.
Códigos de idioma vs códigos de região
Os valores de hreflang seguem o padrão ISO 639-1 para códigos de idioma e o padrão opcional ISO 3166-1 Alpha-2 para códigos de região.
Códigos apenas de idioma direcionam falantes de um idioma independentemente da localização:
en-- Falantes de inglês em todo o mundoes-- Falantes de espanhol em todo o mundode-- Falantes de alemão em todo o mundofr-- Falantes de francês em todo o mundo
Códigos de idioma-região direcionam falantes de um idioma em um país específico:
en-US-- Falantes de inglês nos Estados Unidosen-GB-- Falantes de inglês no Reino Unidoes-MX-- Falantes de espanhol no Méxicopt-BR-- Falantes de português no Brasilfr-CA-- Falantes de francês no Canadázh-TW-- Falantes de chinês em Taiwan
O código de região é sempre opcional. Se você possui apenas uma versão em inglês, use en. Se você tem versões separadas para os EUA e o Reino Unido, use en-US e en-GB. Nunca use um código de região sozinho sem um prefixo de idioma -- hreflang="US" é inválido e será ignorado pelos mecanismos de busca.
Um erro frequente é usar códigos incorretos. Por exemplo, uk é o código ISO 639-1 para ucraniano, não para o Reino Unido. O código correto para inglês britânico é en-GB. Da mesma forma, jp não é válido; o código de idioma correto para japonês é ja, e o código de país para o Japão é JP, resultando no código combinado ja-JP.
Entendendo x-default
O valor x-default é um atributo especial de hreflang que designa uma página de fallback. Quando um mecanismo de busca não consegue combinar o idioma ou a região de um usuário com nenhum dos valores hreflang disponíveis, ele exibe a página x-default no lugar.
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
Você deve configurar x-default para a página que ofereça a melhor experiência aos usuários cujo idioma não é explicitamente coberto. Normalmente, é a sua versão em inglês ou uma página com seletor de idioma. As regras principais para x-default são:
- Cada conjunto de hreflang deve incluir exatamente uma entrada
x-default - A URL de
x-defaulttambém deve aparecer como uma das entradas regulares de hreflang (por exemplo, se sua página em inglês é x-default, ela também deve terhreflang="en") - Não use
x-defaultcomo coringa para múltiplas páginas -- ele aponta para uma única URL
Sem um x-default, os mecanismos de busca não têm orientação sobre o que mostrar a usuários de regiões não suportadas. Isso pode resultar em comportamento imprevisível, onde o Google escolhe a versão que considera mais relevante, que pode não ser a experiência que você pretende oferecer.
Como os mecanismos de busca utilizam Hreflang
O Google processa hreflang como um sinal, não como uma diretiva. Essa distinção é importante: diferentemente de noindex (que o Google geralmente obedece), hreflang é uma sugestão que o Google pondera junto com outros sinais, como a localização do usuário, as configurações de idioma da pesquisa, o idioma real do conteúdo da página e os padrões de links internos.
Veja o que o Google faz quando encontra hreflang:
- Rastreia e descobre todas as páginas listadas no conjunto de hreflang
- Valida a reciprocidade -- verifica se a página A que aponta para a página B também tem a página B apontando de volta para a página A
- Verifica a acessibilidade das URLs -- confirma que todas as URLs vinculadas são rastreáveis e retornam códigos de status 200
- Avalia a consistência -- compara os sinais de hreflang com as tags canonical, as entradas do sitemap e o conteúdo da página
- Aplica o sinal no momento da consulta para direcionar os resultados de busca à versão mais relevante para o usuário
Se qualquer uma dessas etapas de validação falhar, o Google pode ignorar completamente o hreflang para as páginas afetadas. É por isso que a implementação correta é tão importante -- um único link quebrado na cadeia pode invalidar o conjunto inteiro.
O Yandex segue um processo semelhante, mas com menos documentação. O Bing não suporta oficialmente hreflang, confiando em vez disso na meta tag content-language e no atributo lang no elemento <html>, embora relatórios sugiram que o Bing processe parcialmente os sinais de hreflang.
Métodos de implementação
Existem três formas de implementar hreflang. Você deve usar apenas um método por página para evitar sinais conflitantes. Se você usar múltiplos métodos e eles divergirem, os mecanismos de busca não saberão em qual confiar.
Método 1: Elementos link HTML no head
Insira tags <link rel="alternate"> na seção <head> de cada página do conjunto.
<head>
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</head>
Quando usar este método: Ideal para sites com um número de páginas pequeno a médio (abaixo de algumas centenas) onde você tem controle direto sobre o head HTML. É a abordagem mais comum e a mais fácil de depurar, pois as tags ficam visíveis no código-fonte da página.
Vantagem: Simples de implementar, fácil de inspecionar, funciona com qualquer configuração de hospedagem.
Desvantagem: Aumenta o peso da página. Um site com 20 versões de idioma adiciona 21 tags <link> (20 idiomas + x-default) a cada página, o que pode ser significativo para páginas sensíveis ao desempenho.
Método 2: Cabeçalhos HTTP
Use cabeçalhos Link na resposta HTTP. Isso é particularmente útil para recursos não HTML, como PDFs.
Link: <https://example.com/en/page/>; rel="alternate"; hreflang="en",
<https://example.com/es/page/>; rel="alternate"; hreflang="es",
<https://example.com/de/page/>; rel="alternate"; hreflang="de",
<https://example.com/en/page/>; rel="alternate"; hreflang="x-default"
Quando usar este método: Necessário para documentos não HTML (PDFs, imagens) que possuem variantes linguísticas. Também útil quando você não consegue modificar o head HTML (por exemplo, em algumas configurações de CMS).
Vantagem: Funciona para qualquer tipo de conteúdo, não apenas HTML.
Desvantagem: Mais difícil de auditar, pois os cabeçalhos não são visíveis no código-fonte renderizado da página. Requer configuração no nível do servidor.
Método 3: Sitemap XML
Adicione anotações hreflang dentro do seu sitemap XML usando 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/en/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</url>
<url>
<loc>https://example.com/es/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</url>
</urlset>
Quando usar este método: Ideal para sites grandes com milhares de páginas. Os dados de hreflang ficam no sitemap em vez de em cada página, facilitando a gestão programática e mantendo o peso da página mínimo.
Vantagem: Escala bem, mantém o HTML limpo, pode ser gerado por ferramentas de build ou plugins de CMS.
Desvantagem: O Google precisa rastrear e processar o sitemap antes que o hreflang tenha efeito. Mudanças podem levar mais tempo para se propagarem do que tags inseridas na página.
Quando você deve usar Hreflang?
Você precisa de hreflang quando seu site possui alguma das seguintes características:
- Múltiplas versões de idioma do mesmo conteúdo (por exemplo, versões em inglês e espanhol de uma página de produto)
- Variações regionais do mesmo idioma (por exemplo, inglês britânico e americano, ou português europeu e brasileiro)
- Um seletor de idioma ou geo-redirecionamento que serve conteúdo diferente com base na localização do usuário
- Lojas específicas por país com preços, moedas ou disponibilidade de produtos diferentes, mas conteúdo substancialmente semelhante
Você não precisa de hreflang quando:
- Seu site existe em apenas um idioma sem variantes regionais
- Você usa um widget de tradução automática (como a barra de tradução do navegador) em vez de manter páginas traduzidas separadamente
- Seu conteúdo é completamente diferente entre regiões (por exemplo, seu site nos EUA e no Reino Unido não compartilham conteúdo)
Equívocos comuns sobre Hreflang
Equívoco: Hreflang melhora diretamente o posicionamento. Realidade: Hreflang não aumenta seu posicionamento. Ele informa aos mecanismos de busca qual versão mostrar em cada mercado. Seu posicionamento ainda depende da qualidade do conteúdo, backlinks e outros sinais de SEO tradicionais.
Equívoco: Você só precisa de hreflang na página inicial.
Realidade: Hreflang deve ser implementado em cada página que tenha um equivalente em outro idioma ou região. Se sua página /en/about/ tem uma versão em espanhol em /es/about/, ambas as páginas precisam de tags hreflang apontando uma para a outra e para si mesmas.
Equívoco: O Google vai resolver sem hreflang.
Realidade: Embora o Google use sinais como o atributo lang e o idioma do conteúdo da página para detectar o idioma, esses são sinais mais fracos. Sem hreflang explícito, o Google frequentemente mostra a versão de idioma errada nos resultados de busca, especialmente para sites com estruturas de URL semelhantes entre idiomas.
Equívoco: Hreflang substitui a tag canonical. Realidade: Hreflang e canonical servem a propósitos diferentes e devem ser usados juntos. A tag canonical informa aos mecanismos de busca qual URL é a cópia principal para fins de indexação. Hreflang indica alternativas de idioma e região. Cada versão localizada deve ter um canonical autorreferencial que aponte para si mesma, não para outra versão. Consulte nosso guia sobre hreflang vs canonical para uma explicação detalhada.
Equívoco: Você pode usar hreflang com URLs relativas.
Realidade: Todas as URLs em atributos hreflang devem ser absolutas (começando com https://). URLs relativas são silenciosamente ignoradas pelos mecanismos de busca, o que significa que sua implementação de hreflang simplesmente não funcionará.
Próximos passos
Agora que você entende o que é hreflang e como ele funciona, você pode:
- Usar nosso Gerador de tags Hreflang para criar tags hreflang corretas para suas páginas
- Ler sobre os erros comuns de hreflang para evitar falhas de implementação
- Aprender como hreflang e tags canonical interagem para prevenir conflitos entre ambos