Informar o Google sobre versões localizadas da sua página

Usar hreflang ou sitemaps para páginas específicas a idiomas ou regiões

Se você tiver várias versões de uma página para idiomas ou regiões diferentes, informe o Google sobre essas variações. Isso ajudará a Pesquisa Google a direcionar os usuários para a versão correta da sua página de acordo com o idioma ou a região.

Mesmo que você não faça isso, talvez o Google ainda encontre versões da sua página em idiomas alternativos. No entanto, em geral é melhor indicar explicitamente as páginas específicas a idiomas ou regiões.

Alguns exemplos de situações em que indicar páginas alternativas é recomendado:

  • Você mantém o conteúdo principal em um único idiomatraduz somente o modelo, como a navegação e o rodapé. Em geral, as páginas que apresentam conteúdo gerado pelo usuário, como os fóruns, fazem isso.
  • Seu conteúdo apresenta pequenas variações regionais com tema semelhante em um único idioma. Por exemplo, você pode apresentar um conteúdo em inglês segmentado para os Estados Unidos, a Grã-Bretanha e a Irlanda.
  • O conteúdo do seu site é completamente traduzido para vários idiomas. Por exemplo, você tem as versões em alemão e inglês de cada página.
Creating multi-regional and multilingual sites

Métodos para indicar páginas alternativas

Existem três maneiras de indicar várias versões de idioma/localidade de uma página para o Google:

Tags HTML

Adicione elementos <link rel="alternate" hreflang="lang_code"... > ao cabeçalho da página para informar o Google sobre todas as variações de idioma e região de uma página. Isso será útil se você não tiver um sitemap ou não puder especificar cabeçalhos de resposta HTTP para o site.

Cada variação da página precisa incluir um conjunto de elementos <link> no elemento <head> e um link para cada variante da página, incluindo ela mesma. O conjunto de links é idêntico para todas as versões da página. Confira as diretrizes adicionais.

Esta é a sintaxe de cada elemento do link:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

lang_code
É um código de idioma/região compatível, segmentado pela versão da página ou por x-default para corresponder a qualquer idioma que não estiver listado explicitamente na página por uma tag hreflang.
url_of_page
É o URL totalmente qualificado da versão da página referente à região ou ao idioma especificado.
Coloque suas tags <link> próximas à parte superior do elemento <head>. No mínimo, as tags <link> precisam estar dentro de uma seção <head> bem formada, ou antes de quaisquer itens que possam fazer com que <head> seja fechada prematuramente, como <p> ou um pixel de rastreamento. Em caso de dúvida, cole o código da sua página renderizada em um validador HTML para garantir que os links estejam dentro do elemento <head>.

Exemplo

A Example Widgets, Inc. tem um site destinado aos usuários nos EUA, na Grã-Bretanha e na Alemanha. Os URLs a seguir têm substancialmente o mesmo conteúdo, mas com variações regionais:

  • http://en.example.com/page.html: é a página inicial genérica em inglês, com informações sobre taxas de envio internacional dos EUA.
  • http://en-gb.example.com/page.html: é a página inicial do Reino Unido, que mostra os preços em libras esterlinas.
  • http://en-us.example.com/page.html: é a página inicial dos EUA, que mostra os preços em dólares americanos.
  • http://de.example.com/page.html: é a página inicial em alemão.
  • http://www.example.com/: é a página padrão, que não segmenta idiomas nem localidades. Tem seletores para que os usuários escolham o idioma e a região.

Os subdomínios específicos a idiomas desses URLs (en, en-gb, en-us, de) não são usados pelo Google para determinar o público-alvo da página. É necessário mapear o público-alvo de forma explícita.

Este é o HTML que precisa ser colado na seção <head> de todas as páginas listadas acima. Ele direcionaria os falantes de cada idioma (inglês genérico, do Reino Unido ou dos Estados Unidos, assim como alemão) para páginas localizadas, e todos os outros para uma página inicial genérica. A Pesquisa Google retornará o resultado correto para o usuário, de acordo com as configurações do navegador.

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

Cabeçalhos HTTP

É possível retornar um cabeçalho HTTP com a resposta GET da página para informar o Google sobre todas as variantes de idioma e região de uma página. Isso é útil para arquivos não HTML, como PDFs.

Este é o formato do cabeçalho:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...

<url_x>
É o URL totalmente qualificado da página alternativa correspondente à string de localidade atribuída ao atributo hreflang associado. O URL precisa ser delimitado por < >. Exemplo: <https://www.google.com>
lang_code_x
É um código de idioma/região compatível segmentado pela versão da página ou por x-default para corresponder a qualquer idioma que não estiver listado explicitamente na página por uma tag hreflang.

É necessário especificar um conjunto de valores de <url>, rel="alternate" e hreflang para cada versão da página, incluindo a versão solicitada, separados por vírgula, conforme mostrado no exemplo abaixo. O cabeçalho Link: retornado para cada versão da mesma página é idêntico. Confira as diretrizes adicionais.

Exemplo

Veja um exemplo de cabeçalho Link: retornado por um site que tem três versões de um arquivo PDF: um para falantes de inglês, um para falantes de alemão da Suíça e um para todos os outros falantes de alemão.

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

Sitemap

É possível usar um sitemap para informar o Google sobre todas as variantes de idioma e região de cada URL. Para fazer isso, adicione um elemento <loc> que especifique um único URL, com entradas filhas <xhtml:link> que listem todas as variantes de idioma/localidade da página, incluindo ela mesma. Assim, se você tiver três versões de uma página, o sitemap terá três entradas, cada uma com três entradas filhas idênticas.

Regras do sitemap:

  • Especifique o namespace xhtml da seguinte forma:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Crie um elemento <url> separado para cada URL.
  • Cada elemento <url> precisa incluir um filho <loc> indicando o URL da página.
  • Cada elemento <url> precisa ter um elemento filho <xhtml:link rel="alternate" hreflang="supported_language-code"> que liste todas as versões alternativas da página, incluindo ela mesma.  A ordem desses elementos filhos <xhtml:link> não importa, mas mantê-los na mesma ordem facilita a verificação de erros.
  • Confira as diretrizes adicionais.

Exemplo

Esta é uma página em inglês segmentada para falantes do idioma em todo o mundo, com versões equivalentes segmentadas para os falantes de alemão em todo o mundo e aos falantes de alemão na Suíça. Aqui estão todos os URLs presentes no site:

  • www.example.com/english/page.html, segmentada para falantes do inglês
  • www.example.com/deutsch/page.html, segmentada para falantes do alemão
  • www.example.com/schweiz-deutsch/page.html, segmentada para falantes de alemão na Suíça

Este é o sitemap para essas três páginas:

<?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>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Diretrizes para todos os métodos

  • Cada versão de idioma precisa ser listada, assim como todas as outras versões de idioma.
  • Os URLs alternativos precisam ser totalmente qualificados, incluindo o método de transporte (http/https). Então, use
     https://example.com/foo, e não //example.com/foo ou /foo.
  • Os URLs alternativos não precisam estar no mesmo domínio. 
  • Se você tiver vários URLs alternativos segmentados para usuários do mesmo idioma, mas em localidades diferentes, é recomendável fornecer um URL genérico para os usuários não especificados geograficamente do idioma em questão. Por exemplo, talvez você tenha URLs específicos para falantes de inglês na Irlanda (en-ie), no Canadá (en-ca) e na Austrália (en-au), mas também queira oferecer uma página em inglês genérico (en) para os usuários dos EUA, do Reino Unido e de todos os outros locais que falam inglês. Pode ser uma das páginas específicas, se você quiser.
  • Se duas páginas não apontarem uma para a outra, as tags serão ignoradas. Isso ocorre para que uma pessoa em outro site não crie arbitrariamente uma tag nomeada como uma versão alternativa de uma das suas páginas.
  • Se se tornar difícil manter um conjunto completo de links bidirecionais para todos os idiomas, você poderá omitir alguns idiomas em algumas páginas. O Google ainda processará os que apontam um para o outro. No entanto, é importante vincular as páginas de idioma recém-expandidas bidirecionalmente aos idiomas de origem/dominantes. Por exemplo, se o site foi originalmente criado em francês com URLs .fr, é mais importante realizar um vínculo bidirecional das páginas mais recentes do México (.mx) e da Espanha (.es) com a presença marcante do .fr, do que vincular bidirecionalmente suas páginas recentes das variantes do idioma espanhol (.mx e .es).
  • Considere adicionar uma página substituta para idiomas não correspondentes, especialmente em seletores de idioma/país ou páginas iniciais de redirecionamento automático. Use o valor x-default:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Códigos de idioma/região compatíveis

O valor do atributo hreflang identifica o idioma (no formato ISO 639-1) e opcionalmente a região (no formato ISO 3166-1 Alfa 2) de um URL alternativo. Por exemplo:

  • de: conteúdo em alemão, independentemente da região
  • en-GB: conteúdo em inglês, para usuários da Grã-Bretanha
  • de-ES: conteúdo em alemão, para usuários na Espanha

Não inclua somente o código do país. O Google não deriva automaticamente o idioma do código do país. Será possível especificar um código de idioma por ele mesmo se você quiser simplificar a rotulagem.  Adicionar o código de país após o idioma restringirá a página a uma região específica.  Exemplos:

  • be: idioma bielorrusso independente da região (não francês da Bélgica)
  • nl-be: holandês da Bélgica
  • fr-be: francês da Bélgica 

Para variações no script de idioma, o script adequado é derivado do país. Por exemplo, ao usar zh-TW para usuários de Taiwan, o script de idioma é derivado automaticamente (no caso, trata-se do chinês tradicional). Também é possível especificar o próprio script explicitamente usando o ISO 15924, desta forma:

  • zh-Hant: chinês (tradicional)
  • zh-Hans: chinês (simplificado)

Como alternativa, também é possível especificar uma combinação de script e região. Por exemplo, use zh-Hans-TW se quiser especificar o chinês simplificado para usuários de Taiwan.

Uso da tag x-default para idiomas sem correspondência

O valor reservado hreflang="x-default" é usado quando nenhum outro idioma/região corresponde à configuração do navegador do usuário. Esse valor é opcional, mas recomendável como uma forma de controlar a página quando não houver correspondência de idioma. Um bom uso é segmentar a página inicial do site, em que há um mapa clicável que permite ao usuário selecionar seu país.

Solução de problemas

Erros comuns

Estes são os erros mais comuns ao usar o hreflang:

  • Links de retorno ausentes: se a página X for vinculada à página Y, será necessário que a página Y seja vinculada de volta à página X. Se esse não for o caso de todas as páginas que usam as anotações hreflang, essas anotações poderão ser ignoradas ou interpretadas incorretamente.
  • Códigos de idioma incorretos: todos os códigos de idioma usados precisam identificar o idioma (no formato ISO 639-1) e opcionalmente a região (no formato ISO 3166-1 Alfa 2) de um URL alternativo. Especificar somente a região não é válido.

Depuração de erros de hreflang

É possível usar o Relatório de segmentação internacional para depurar os problemas mais comuns. Verifique se o Google teve tempo de rastrear suas páginas e, em seguida, acesse a guia Idioma do relatório para ver se algum erro foi detectado.

Também existem vários recursos de terceiros disponíveis. Veja abaixo algumas ferramentas bastante usadas (em inglês). Elas não são mantidas nem verificadas pelo Google.

Este artigo foi útil para você?
Como podemos melhorá-lo?