Pular para o conteúdo principal
← Todos os guias

Hreflang

O hreflang diz a um buscador que várias páginas são o mesmo conteúdo para públicos diferentes, para que ele sirva a certa. É um sinal que ele pode optar por não seguir, não uma diretiva que precise obedecer.

Quatro regras que mantêm o conjunto interpretável

Hreflang é um cluster de anotações, portanto, erros de um lado podem afetar a forma como o Google interpreta o relacionamento. O Google afirma que links de retorno ausentes ou anotações inválidas podem ser ignorados ou interpretados incorretamente; não promete que um erro sempre anule todo o cluster.

  • Completo: cada versão do grupo lista todas as outras.
  • Mútuo: se X apontar para Y, Y deverá apontar de volta para X. Links de retorno ausentes podem fazer com que as anotações sejam ignoradas ou interpretadas incorretamente.
  • Autorreferente: cada página se lista junto das demais.
  • Válido: os códigos precisam ler como códigos reais de idioma e região.

A regra de mutualidade é aquela que pega as equipes, porque hreflang descreve relacionamentos entre páginas em vez de uma propriedade de uma página isoladamente. Distribua os links de retorno correspondentes para que cada relacionamento publicado seja concluído quando o Google rastrear qualquer um dos lados.

Onde colocar as anotações

Há três colocações disponíveis e o efeito delas é equivalente. Escolha uma e use em todo lugar — misturá-las pelo site é como os conjuntos acabam declarados pela metade.

MétodoMelhor paraFique de olho em
Elementos link em HTMLSites pequenos e médiosO peso da página quando há muitas versões
Cabeçalhos HTTPPDFs e outros arquivos não HTMLLimites de tamanho de cabeçalho em conjuntos grandes
Entradas de sitemapSites grandes, muitos idiomasMantê-las em sincronia com as próprias páginas
Elementos link em HTML
<link rel="alternate" hreflang="en" href="https://example.com/guide/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/guide/" />
<link rel="alternate" hreflang="pt-br" href="https://example.com/pt-br/guide/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/guide/" />

Repare que a página em inglês do exemplo se lista. Essa é a autorreferência, e a ausência dela é de longe o defeito mais comum em implementações no resto cuidadosas — porque parece redundante e, para quem estiver arrumando o template, tem cara de erro.

Códigos, e os que não existem

O idioma segue a ISO 639-1. Pode ser seguido opcionalmente de um hífen e de uma região ISO 3166-1 Alpha 2. Região sozinha nunca é válida: não há como dizer «esta página é para o Canadá» sem dizer em que idioma ela está.

CódigoVereditoPor quê
ptVálidoSó idioma — português, qualquer região
pt-BRVálidoPortuguês como escrito para o Brasil
BRInválidoRegião sem idioma
ukVálido, mas não é o Reino Unidouk é ucraniano; o Reino Unido é GB
euInválido como regiãoA UE não é um código de país
en-UKInválidoO código de país do Reino Unido é GB

Para que serve o x-default

O x-default recolhe os idiomas que você não listou. É o recurso para um visitante cujo idioma não bate com nenhuma das suas versões, e o lugar natural dele é uma página seletora ou uma home que roteia os visitantes sozinha.

Não é jeito de nomear uma versão principal. Apontar o x-default para sua página em inglês porque inglês soa como padrão diz ao buscador que um visitante japonês ou turco sem correspondência deve receber inglês. Pode ser verdade, e vale decidir isso de propósito, não por hábito.

Hreflang e canônica são trabalhos diferentes

Esses dois se embolam mais do que qualquer outra dupla do SEO técnico, e o modo de falha é grave. Uma canônica diz «indexe esta outra URL no meu lugar». O hreflang diz «esta outra URL é o mesmo conteúdo para outro público».

Aponte a canônica da sua página alemã para a inglesa e você terá dito ao buscador que a alemã não deve ser indexada de jeito nenhum — o que a tira dos resultados e, ao mesmo tempo, quebra o conjunto hreflang que a referenciava. Cada página localizada deveria canonizar para si mesma e descrever as irmãs com hreflang.

Teste no seu próprio site

Perguntas e respostas

O hreflang resolve conteúdo duplicado entre idiomas?

É um sinal de segmentação, não um conserto de conteúdo duplicado. Traduções não são duplicatas; o hreflang diz ao buscador qual tradução pertence a qual público.

Por que a versão de idioma errada está ranqueando?

Normalmente por um conjunto de links de volta incompleto ou por códigos que não passam na validação. Como hreflang é um sinal, um conjunto do qual o buscador desconfia é posto de lado e ele volta à própria detecção de idioma.

Preciso de hreflang se todas as minhas páginas estão em um idioma?

Só se você mirar várias regiões com ele — pt-BR e pt-PT, digamos, em que o conteúdo muda por mercado. Um site em um idioma só, para um público só, não precisa de nada.

Cada página deve canonizar para si mesma ou para o idioma original?

Para si mesma. Canonizar uma tradução para o idioma de origem diz ao buscador para não indexar a tradução, o que a tira dos resultados e quebra o conjunto hreflang que apontava para ela.

Para onde o x-default deve apontar?

Para o que deva atender um visitante cujo idioma você não publica — normalmente uma página seletora ou uma home que se roteia sozinha. Ele nomeia um recurso de reserva, não uma versão principal.

O hreflang é fator de ranqueamento?

Não. É um sinal de segmentação que ajuda a versão certa a alcançar o público certo. Não eleva o ranqueamento de uma página, e o Google pode não seguir as anotações.