Guia de correção

Como Implementar Tags Hreflang no WordPress

8 de fevereiro de 2026

Se o seu site WordPress serve conteúdo em múltiplos idiomas ou visa diferentes regiões, implementar tags hreflang é essencial para a otimização de mecanismos de busca. Sem elas, o Google e outros mecanismos de busca podem mostrar a versão de idioma errada em seus resultados ou tratar suas páginas traduzidas como conteúdo duplicado, o que dilui suas classificações em todas as versões de idioma. As tags hreflang dizem aos mecanismos de busca exatamente qual idioma e variante regional cada página representa, para que os usuários sempre cheguem à versão mais relevante para eles.

O Que São Tags Hreflang e Como os Mecanismos de Busca as Usam

Hreflang é um atributo HTML que especifica o idioma (e opcionalmente o alvo geográfico) de uma página. Aparece como um elemento <link> na seção <head> da sua página, ou como uma entrada em seu sitemap XML. Aqui está como um conjunto típico de tags hreflang se parece para uma página disponível em inglês e alemão:

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

Quando o Googlebot rastreia uma página e encontra essas tags, ele entende que ambas as URLs representam o mesmo conteúdo em idiomas diferentes. Em seguida, serve a versão apropriada com base nas preferências de idioma e localização do pesquisador. A tag x-default atua como um fallback geral para usuários cujo idioma ou região não corresponde a nenhum dos valores hreflang especificados.

O hreflang usa códigos de idioma ISO 639-1 (por exemplo, en, de, fr) e opcionalmente códigos de país ISO 3166-1 Alpha 2 (por exemplo, en-US, de-AT, pt-BR). O código de idioma sozinho visa todos os usuários daquele idioma, independentemente da localização, enquanto adicionar um código de país restringe o direcionamento a uma região específica.

Quando Você Precisa de Direcionamento Regional vs. Apenas de Idioma

Escolher entre códigos apenas de idioma (como de) e códigos específicos de região (como de-DE, de-AT, de-CH) depende da sua estratégia de conteúdo:

  • Apenas de idioma (de): Use isso quando seu conteúdo em alemão é adequado para todos os usuários que falam alemão, independentemente do país. Esta é a escolha certa para a maioria dos blogs, sites informativos e produtos SaaS.
  • Específico de região (de-DE, de-AT): Use isso quando você tem conteúdo separado adaptado para países específicos. Por exemplo, uma loja de e-commerce com diferente disponibilidade de produtos, preços ou informações legais para Alemanha vs. Áustria vs. Suíça precisa de tags específicas de região.

Um erro comum é usar códigos específicos de região quando códigos apenas de idioma seriam suficientes. Se seu conteúdo em alemão é idêntico para todos os falantes de alemão, usar de é mais simples e evita a necessidade de criar páginas separadas para cada região.

Configurando Hreflang com o WPML

O WPML (WordPress Multilingual Plugin) é o plugin multilíngue premium mais usado, e ele lida com tags hreflang automaticamente:

  1. Compre e instale o WPML Multilingual CMS de wpml.org.
  2. Execute o assistente de configuração. Escolha seu idioma padrão e adicione todos os idiomas que seu site suporta.
  3. Selecione sua estrutura de URL. O WPML suporta subdiretórios (/en/, /de/), subdomínios (en.example.com) ou domínios separados. Subdiretórios são os mais comuns e fáceis de gerenciar.
  4. Comece a traduzir seu conteúdo. Para cada post ou página, clique no ícone "+" próximo ao idioma alvo na caixa de idioma do WPML para criar uma tradução.
  5. O WPML gera automaticamente tags hreflang para cada página que tem traduções. Ele também adiciona a tag x-default apontando para sua versão de idioma padrão.

Para verificar a saída, visualize o código-fonte de qualquer página traduzida e procure por hreflang. Você deve ver uma tag <link> para cada idioma, incluindo o idioma da página atual (um hreflang autorreferenciado, que é obrigatório).

O WPML também se integra ao Yoast SEO e ao Rank Math. Quando ambos os plugins estão ativos, o plugin de SEO assume a geração de hreflang e adiciona sua própria camada de validação, que pode pegar más configurações comuns.

Configurando Hreflang com o Polylang

O Polylang é uma alternativa gratuita popular ao WPML. Ele gera tags hreflang automaticamente para todas as traduções vinculadas:

  1. Instale e ative o Polylang do diretório de plugins do WordPress.
  2. Vá para Idiomas > Idiomas e adicione cada idioma que seu site suporta. Defina a localidade, código de idioma e formato de URL (subdiretório é recomendado).
  3. Atribua um idioma a cada post e página existente. O Polylang adiciona uma coluna de idioma à sua lista de posts, facilitando ver quais posts estão traduzidos.
  4. Vincule traduções juntas. Ao editar um post, use a caixa "Traduções" na barra lateral para conectá-lo ao seu equivalente em outros idiomas.
  5. O Polylang gera automaticamente tags hreflang no <head> para todas as traduções vinculadas.

Uma diferença importante do WPML: o Polylang não adiciona automaticamente a tag x-default em todas as configurações. Para garantir que esteja presente, vá para Idiomas > Configurações > Hreflang e verifique se x-default está definido para seu idioma principal. Se você usa o Polylang Pro (a versão premium), isso é tratado automaticamente.

Configurando Hreflang com o TranslatePress

O TranslatePress adota uma abordagem diferente, permitindo que você traduza conteúdo diretamente no front-end:

  1. Instale e ative o TranslatePress.
  2. Vá para Configurações > TranslatePress e adicione seus idiomas.
  3. Clique em "Traduzir Site" na barra de ferramentas admin para abrir o editor visual de tradução.
  4. Navegue até qualquer página e clique nos elementos de texto para traduzi-los inline.
  5. O TranslatePress lida automaticamente com a geração de tags hreflang para todas as páginas traduzidas.

O TranslatePress armazena traduções no banco de dados em vez de criar posts separados, o que significa que o gerenciamento de conteúdo é mais simples, mas as opções de estrutura de URL são mais limitadas.

Combinando Yoast SEO ou Rank Math com Plugins Multilíngues

Tanto o Yoast SEO quanto o Rank Math detectam plugins multilíngues populares e assumem a geração de tags hreflang quando ambos estão ativos. Esta integração adiciona validação extra:

  • Correspondência de URL canônica: O plugin de SEO verifica se o href do hreflang corresponde à URL canônica de cada página, prevenindo uma má configuração comum.
  • Tratamento de noindex: Páginas marcadas como noindex são automaticamente excluídas da saída hreflang, já que os mecanismos de busca não devem indexá-las de qualquer forma.
  • Integração de sitemap: As anotações hreflang são incluídas no sitemap XML gerado pelo plugin de SEO, fornecendo aos mecanismos de busca uma segunda fonte de dados hreflang.

Se você usa o Yoast SEO com WPML ou Polylang, verifique SEO > Geral > Recursos e certifique-se de que o recurso hreflang não está desabilitado. O Rank Math lida com isso automaticamente sem exigir nenhuma configuração adicional.

Implementação Manual de Hreflang no WordPress

Para sites com uma configuração multilíngue personalizada (por exemplo, usando instalações WordPress separadas para cada idioma, ou uma abordagem de CMS headless), você pode precisar adicionar tags hreflang manualmente:

function add_hreflang_tags() {
    if (is_singular()) {
        $post_id = get_the_ID();

        // Defina seu mapeamento idioma-para-URL
        // Armazene traduções como post meta ou em uma tabela personalizada
        $translations = array(
            'en' => get_post_meta($post_id, '_url_en', true),
            'de' => get_post_meta($post_id, '_url_de', true),
            'fr' => get_post_meta($post_id, '_url_fr', true),
        );

        // Remover entradas vazias
        $translations = array_filter($translations);

        // Adicionar a página atual (hreflang autorreferenciado é obrigatório)
        $current_lang = get_locale();
        $lang_code = substr($current_lang, 0, 2); // 'en_US' se torna 'en'
        $translations[$lang_code] = get_permalink();

        // Saída das tags hreflang
        foreach ($translations as $lang => $url) {
            echo '<link rel="alternate" hreflang="' . esc_attr($lang) . '" href="' . esc_url($url) . '" />' . "
";
        }

        // x-default (geralmente aponta para o inglês ou seu idioma principal)
        if (!empty($translations['en'])) {
            echo '<link rel="alternate" hreflang="x-default" href="' . esc_url($translations['en']) . '" />' . "
";
        }

    } elseif (is_front_page() || is_home()) {
        // Tratar a página inicial separadamente
        $home_translations = array(
            'en' => 'https://example.com/en/',
            'de' => 'https://example.com/de/',
            'fr' => 'https://example.com/fr/',
        );

        foreach ($home_translations as $lang => $url) {
            echo '<link rel="alternate" hreflang="' . esc_attr($lang) . '" href="' . esc_url($url) . '" />' . "
";
        }
        echo '<link rel="alternate" hreflang="x-default" href="' . esc_url($home_translations['en']) . '" />' . "
";
    }
}
add_action('wp_head', 'add_hreflang_tags');

Em uma configuração de produção, você substituiria os arrays de URL codificados por buscas dinâmicas em seu sistema de mapeamento de tradução, seja post meta, uma tabela personalizada de banco de dados ou uma chamada de API para sua plataforma de gerenciamento de tradução.

Adicionando Hreflang aos Sitemaps XML

Para sites com milhares de páginas, declarar hreflang em seu sitemap XML pode ser mais eficiente do que adicionar tags ao HTML de cada página. A abordagem do sitemap XML reduz o tamanho da página e fornece aos mecanismos de busca uma fonte centralizada de dados hreflang. Aqui está o formato XML:

<url>
  <loc>https://example.com/en/about/</loc>
  <xhtml:link rel="alternate" hreflang="en"
    href="https://example.com/en/about/" />
  <xhtml:link rel="alternate" hreflang="de"
    href="https://example.com/de/ueber-uns/" />
  <xhtml:link rel="alternate" hreflang="x-default"
    href="https://example.com/en/about/" />
</url>

Tanto o WPML quanto o Polylang adicionam anotações hreflang aos seus sitemaps automaticamente. Se você usa o Yoast SEO junto com um plugin multilíngue, o Yoast inclui hreflang em seu sitemap também. Para implementações manuais, você pode usar um plugin como "XML Sitemap Generator for Google" e personalizar a saída do sitemap para incluir entradas hreflang.

Você pode usar tanto tags HTML hreflang quanto anotações de sitemap XML simultaneamente. O Google processa ambos e os reconcilia. Se houver conflitos entre os dois, o Google usa suas próprias heurísticas para determinar o mapeamento correto.

Regras Críticas de Hreflang Que Você Deve Seguir

O hreflang é notoriamente fácil de implementar incorretamente. Siga estas regras para evitar armadilhas comuns:

  • Vinculação bidirecional (recíproca) é obrigatória: Se a página A (inglês) inclui um hreflang apontando para a página B (alemão), então a página B também deve incluir um hreflang apontando de volta para a página A. Se o link for apenas unidirecional, os mecanismos de busca o ignoram totalmente. Este é o erro de hreflang mais comum.
  • Hreflang autorreferenciado é obrigatório: Cada página deve incluir uma tag hreflang que aponte para si mesma. Se sua página em inglês tem tags hreflang para versões em alemão e francês, ela também deve ter uma tag hreflang para a versão em inglês apontando para sua própria URL.
  • Use apenas URLs canônicas: A URL em cada tag hreflang deve corresponder exatamente à URL canônica daquela página. Se uma página tem uma tag rel="canonical" apontando para uma URL diferente, use a URL canônica na tag hreflang, não a URL da página atual.
  • Cada variante de idioma precisa do conjunto completo: Se você tem 4 versões de idioma, cada variante de página deve incluir todas as 4 tags hreflang mais x-default. Conjuntos incompletos fazem com que os mecanismos de busca ignorem toda a anotação hreflang para aquele grupo de páginas.
  • As páginas devem retornar um código de status 200: Não inclua URLs em tags hreflang que redirecionam (301/302) ou retornam erros (404/500). Os mecanismos de busca sinalizarão esses como erros de hreflang e podem eventualmente parar de processar suas anotações hreflang.
  • Sempre inclua x-default: A tag x-default serve como fallback para usuários cujo idioma ou região não corresponde a nenhuma das suas variantes especificadas. Sem ela, esses usuários podem não ver seu conteúdo nos resultados de busca.

Depurando e Validando Sua Implementação de Hreflang

Após configurar tags hreflang, uma validação completa é crítica. Mesmo pequenos erros podem tornar toda a sua configuração de hreflang ineficaz:

  1. Análise InspectWP: Execute cada versão de idioma do seu site através do InspectWP. Ele detecta todas as tags hreflang e lista cada variante de idioma, facilitando verificar se todas as tags estão presentes e apontam para as URLs corretas.
  2. Google Search Console: Verifique o relatório Direcionamento Internacional (em ferramentas e relatórios legados) para erros de hreflang. O Google reporta problemas como links de retorno faltantes, códigos de idioma desconhecidos e conflitos de hreflang com tags canônicas.
  3. Inspeção manual de código-fonte: Visualize o código-fonte de cada versão de idioma e verifique se as tags hreflang estão presentes, bidirecionais e autorreferenciadas. Verifique se as URLs são absolutas (não relativas) e usam o protocolo correto (https, não http).
  4. Auditoria com Ahrefs ou Screaming Frog: Para sites grandes, use uma ferramenta de varredura para verificar todas as páginas de uma só vez. Essas ferramentas podem identificar tags hreflang faltantes, links não recíprocos e incompatibilidades de código de idioma em todo o seu site.

Hreflang para Redes WordPress Multisite

Se você administra um WordPress Multisite onde cada subsite representa um idioma diferente, a implementação de hreflang requer consciência entre sites. O WPML suporta configurações Multisite, vinculando conteúdo entre subsites. Para implementações manuais, você precisa consultar os bancos de dados dos outros subsites para encontrar o post traduzido correspondente e construir a URL hreflang dinamicamente. A função switch_to_blog() no WordPress permite que você consulte os dados de outro subsite dentro da mesma rede.

Considerações de Desempenho para Sites Multilíngues Grandes

Em sites com muitos idiomas (10+), as tags hreflang podem adicionar marcação significativa a cada página. Cada página precisa de uma tag por idioma mais x-default, então um site com 15 idiomas adiciona 16 elementos <link> ao head de cada página. Para sites sensíveis ao desempenho, considere estas estratégias:

  • Use hreflang em sitemap XML em vez de HTML: Mover as declarações hreflang para o sitemap remove a marcação de suas páginas inteiramente, reduzindo o tamanho da página.
  • Faça cache da saída de hreflang: Se você gera tags hreflang dinamicamente (por exemplo, a partir de consultas ao banco de dados), faça cache do resultado usando transientes do WordPress ou seu cache de objetos para evitar acessos repetidos ao banco de dados em cada carregamento de página.
  • Use cabeçalhos HTTP para conteúdo não HTML: Para PDFs e outros recursos não HTML, você pode declarar hreflang usando cabeçalhos HTTP Link em vez de tags HTML.

Verifique seu site WordPress agora

O InspectWP analisa seu site WordPress em busca de problemas de segurança, problemas de SEO, conformidade com GDPR e desempenho — gratuitamente.

Analise seu site grátis