Edição digital · Brasil

Jornal do SEO

O jornal profissional da indústria de busca no Brasil

Mural com o logotipo do Google no centro de cibersegurança da empresa em Málaga

Comparativo · Ferramentas

hreflang vs canonical: como os dois sinais convivem em sites multilíngues

O hreflang aponta as versões de idioma e região; o canonical consolida duplicatas. O Google documenta como os dois se combinam e quais erros anulam as anotações.

Por Redação Jornal do SEO

Publicado em · 5 min de leitura

Em 30 segundos

  • hreflang aponta versões de idioma e região; o canonical consolida duplicatas. São sinais diferentes, que convivem na mesma página.
  • Conteúdo traduzido não é duplicata: cada versão leva canonical para si mesma e entra no cluster hreflang, com reciprocidade entre as URLs.
  • Ação: aponte o canonical para uma página no mesmo idioma. Sem link de retorno e com código fora das normas ISO, o hreflang é ignorado.

hreflang e rel="canonical" respondem a perguntas diferentes: um aponta as versões de idioma e região, o outro consolida duplicatas. O Google documenta como os dois convivem e recomenda que o canonical aponte para uma página no mesmo idioma.

Dois sinais, dois problemas

O hreflang fala do público; o canonical, de duplicata. O hreflang informa ao Google que várias URLs são variações de idioma ou de região do mesmo conteúdo. Serve para a busca entregar ao usuário a versão mais adequada ao idioma e ao país dele.

A documentação sobre versões localizadas é explícita: o Google não usa hreflang nem o atributo lang do HTML para descobrir o idioma de uma página — isso é feito por algoritmos próprios. O hreflang é, portanto, uma declaração sobre público-alvo, não sobre conteúdo duplicado.

O rel="canonical", por sua vez, indica qual URL deve representar um conjunto de páginas duplicadas ou muito parecidas. A documentação sobre como especificar uma URL canônica ordena os métodos por força de sinal: redirecionamentos e rel="canonical" são fortes; a inclusão em sitemap é fraca.

Nenhum deles é obrigatório — sem indicação, o próprio Google escolhe a versão que considera melhor para mostrar na busca.

Tradução real não é duplicata

A ponte entre os dois sinais está em uma frase da documentação de hreflang: versões localizadas de uma página só são consideradas duplicatas se o conteúdo principal permanecer sem tradução.

Se o texto foi realmente traduzido, são páginas distintas entre si — cada uma com seu próprio canonical e todas conectadas pelo cluster de hreflang.

O padrão recomendado: canonical para si e cluster completo

Cada URL aponta para si mesma e lista todas as outras. O padrão combina canonical autorreferente e cluster completo:

  • cada URL declara um rel="canonical" apontando para si mesma;
  • cada URL lista todas as variantes, inclusive a própria, em link rel="alternate" hreflang;
  • o conjunto de links é idêntico em todas as páginas do cluster;
  • o canonical sempre aponta para uma página no mesmo idioma — ou, se ela não existir, para o melhor substituto disponível;
  • quando há vários países no mesmo idioma, entra uma URL genérica de idioma (por exemplo, en) e um x-default para idiomas sem correspondência, tipicamente um seletor de idioma;
  • links internos apontam para a URL canônica, não para variantes duplicadas.

A sintaxe das tags HTML, conforme a documentação:

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

As URLs alternativas precisam ser absolutas, com o método de transporte (http ou https), e não precisam estar no mesmo domínio. No canonical, o Google recomenda caminhos absolutos. Para PDFs e outros arquivos não HTML, hreflang e canonical podem ser declarados em cabeçalhos HTTP Link.

O hreflang exige reciprocidade; o canonical, não

Só o hreflang precisa de link de retorno. O canonical funciona sozinho, e a tabela abaixo resume as diferenças entre os dois sinais.

Pergunta hreflang rel="canonical"
Para que serve Indicar as versões de idioma e região do mesmo conteúdo Indicar qual URL representa páginas duplicadas ou muito parecidas
Onde é declarado Tag no <head>, cabeçalho HTTP Link ou sitemap XML Tag no <head>, cabeçalho HTTP Link ou sitemap XML
É obrigatório Não Não
Exige reciprocidade Sim: páginas que não apontam umas para as outras podem ter as tags ignoradas Não
Força do sinal Prefere URLs em clusters de hreflang Sinal forte; sitemap é sinal fraco, redirect é forte
Erro que anula a anotação Sem link de retorno; código de idioma ausente ou inválido; região reservada tem somente essa parte ignorada; códigos fora das normas não são suportados Atributos hreflang, lang, media ou type na mesma tag

Sete erros que anulam as anotações

Canonical para outro idioma é o mais caro. Ao usar hreflang, o canonical deve ser de uma página no mesmo idioma — ou do melhor substituto possível. Mandar a versão em português consolidar sinais na inglesa desfaz o trabalho do cluster.

  • Misturar os dois na mesma tag. Anotações rel="canonical" com hreflang, lang, media ou type não são usadas para canonicalização. São dois elementos distintos no <head>, cada um com sua função.
  • Cluster sem retorno. Se a página A aponta para B e B não aponta de volta, as anotações podem ser ignoradas. O Google faz isso para impedir que outro site se declare versão alternativa do seu. Ao expandir o site para novos idiomas, ligue as páginas novas às línguas originais e mais fortes.
  • Códigos inválidos. O primeiro código é sempre o idioma (ISO 639-1); a região (ISO 3166-1 Alpha 2) é opcional e não pode aparecer sozinha. Valores como EU, UN e UK não têm efeito, e códigos fora das normas, como es-419, não são aceitos.
  • Três implementações ao mesmo tempo. HTML, cabeçalho HTTP e sitemap são equivalentes para o Google. Usar todos simultaneamente não traz benefício na busca e pode ser mais difícil de gerenciar.
  • Resolver duplicata com robots.txt ou noindex. A documentação de canonicalização desaconselha os dois: páginas bloqueadas no robots.txt ainda podem ser indexadas sem conteúdo, e o noindex remove a página da busca por completo. Para escolher uma canônica dentro do site, o rel="canonical" é o caminho preferido. Veja também redirect 301 vs 302 vs canonical.
  • Anotar HTTP em vez de HTTPS. O Google prefere páginas HTTPS como canônicas e recomenda não incluir a versão HTTP nas anotações de hreflang nem no sitemap — certificado inválido ou redirecionamento de HTTPS para HTTP inverte essa preferência com força.

Página fora do cluster perde a disputa por canônica

Entre os sinais que o Google usa para canonicalizar estão as URLs que fazem parte de clusters hreflang. No exemplo da documentação, se as páginas /de-de/cats e /de-ch/cats apontam uma para a outra mas não apontam para /de-at/cats, as duas primeiras tendem a ser preferidas como canônicas em relação à terceira, que está fora do cluster.

Página de idioma que ninguém referencia no hreflang fica em desvantagem — mais um motivo para manter o conjunto completo. O passo a passo de implementação está no guia de hreflang e o de canonical, na tag canônica.

O que muda na prática

Em sites multilíngues, o canonical deve apontar para a página no mesmo idioma — ou, se ela não existir, para o melhor substituto possível —, e os links de hreflang precisam ser recíprocos, idealmente listando todas as variantes. Vale revisar as duas anotações juntas antes de qualquer migração de URL ou de pasta de idioma.

Checagem das afirmações

  • Fato

    O Google oferece três formas equivalentes de declarar versões localizadas de uma página: tags HTML, cabeçalhos HTTP e sitemap XML.

  • Fato

    O Google não usa hreflang nem o atributo lang para detectar o idioma de uma página; a detecção é feita por algoritmos.

  • Fato

    Anotações hreflang só são processadas quando as páginas apontam umas para as outras; sem link de retorno, as tags podem ser ignoradas.

  • Fato

    Redirecionamentos e rel="canonical" são sinais fortes de canonicalização, enquanto a inclusão em sitemap é um sinal fraco, e nenhum dos métodos é obrigatório.

  • Fato

    Anotações rel="canonical" que trazem atributos hreflang, lang, media ou type são ignoradas para fins de canonicalização.

  • Fato

    Para fins de canonicalização, o Google prefere URLs que fazem parte de clusters hreflang.

Fontes

Compartilhar

Leia também

Assine o Jornal do SEO Briefing