TL;DR O hreflang mapeia as tuas versões linguísticas, mas não "diz" ao Google em que idioma está a página. O Google deteta o idioma pela treść visível, por isso o texto traduzido tem de estar mesmo à vista. Cada versão precisa de URL próprio, canonical para si mesma e dados estruturados com
inLanguage. O erro mais comum é a falta de links bidirecionais entre as versões. Depois de implementar, verifica sitemaps, indexação e citações em IA por idioma. A Semly ajuda-te a medir se cada versão linguística está a ser citada pelos modelos de IA.
Tens um site WordPress em vários idiomas e a sensação de que algo não bate certo? Talvez o Google mostre a versão errada a quem procura em português, ou talvez a IA simplesmente ignore a tua loja em espanhol. A boa notícia é que isto quase nunca é um problema de tradução. É um problema de sinais.
Neste guia vamos ver, passo a passo, como configurar e verificar os sinais que ajudam o Google e os modelos de IA a encontrar a versão certa para cada pessoa. Sem complicar.
WordPress em vários idiomas: o que realmente decide qual versão aparece
Vamos começar por desfazer um mito muito comum: o hreflang não deteta o idioma da tua página. O hreflang é apenas um sinal de mapeamento. Ele diz "esta página tem uma alternativa em espanhol, outra em inglês", mas não diz ao Google que língua está escrita ali.
Então como é que o Google sabe? Pela treść visível. Ele analisa o texto que o utilizador vê e tira conclusões. Isto tem uma consequência prática enorme: se traduzires apenas os menus e deixares o corpo do artigo em inglês, o Google vai continuar a tratar essa página como inglesa.
Mais três coisas que convém saberes desde já:
- O Googlebot não muda de crawler conforme a localização. Ele rastreia a partir dos Estados Unidos e não envia cabeçalhos de idioma.
- As meta tags de geolocalização são ignoradas. Não perdas tempo com elas.
- O atributo
langno HTML ajuda a acessibilidade, mas não é usado para detetar o idioma da página.
E o x-default? É o teu plano B. Serve para indicar qual versão mostrar quando não há uma correspondência clara de idioma ou região. Normalmente aponta para a versão global ou para o seletor de idiomas.
Na co to uważać: hreflang não é deteção de idioma. É mapeamento. Se a treść não estiver traduzida de verdade, nenhum tag te salva.
Krok 1: wybierz strukturę URL dla każdego języka
Antes de mexer em tags, decide onde vão viver as tuas versões. Há três caminhos principais e cada um tem o seu contexto.
| Opção | Quando escolher |
|---|---|
Subdiretório (/pt/, /en/) |
Queres aproveitar a autoridade do domínio principal e manter tudo simples de gerir. Boa escolha para a maioria dos projetos. |
Subdomínio (pt.exemplo.com) |
Precisas de separar equipas, tecnologias ou hospedagem por mercado. |
ccTLD (exemplo.pt, exemplo.es) |
Operas localmente com marca própria em cada país e tens orçamento para gerir vários domínios. |
A regra prática é esta: subdiretórios herdam autoridade do domínio principal, enquanto subdomínios e ccTLDs começam do zero e dividem essa autoridade. Se estás a começar, o subdiretório costuma ser o caminho mais tranquilo.
Um aviso importante: evita redirecionamentos automáticos por IP. Eles podem bloquear o rastreamento e impedir que o Google veja todas as tuas versões. Se quiseres sugerir um idioma, faz isso com um aviso visível e um link, não com um redirect forçado.
Krok 2: skonfiguruj hreflang bez błędów
Agora o passo central. Existem três métodos equivalentes para implementar hreflang: no HTML da página, em cabeçalhos HTTP ou num sitemap XML. Podes usar qualquer um deles. O que não podes é esquecer a regra de ouro: os links têm de ser bidirecionais.
Exemplo correto:
- A página
/pt/aponta para/en/e para/es/. - A página
/en/aponta para/pt/e para/es/. - A página
/es/aponta para/pt/e para/en/.
Exemplo errado: /pt/ aponta para /en/, mas /en/ não aponta de volta. Neste caso, o Google ignora os tags.
Outros pontos a acertar:
- Usa sempre URLs absolutos, nunca relativos.
- Cada página deve incluir uma referência a si mesma (self-reference).
- Usa códigos ISO 639-1 para o idioma e ISO 3166-1 Alpha 2 para a região, como
pt-BRoupt-PT. - Códigos regionais isolados, como
es-419, não são suportados. - Define sempre um
x-default.
Checklist de hreflang:
- Todas as versões têm URL próprio e absoluto.
- Cada página aponta para todas as outras, incluindo para si mesma.
- Os códigos de idioma e região estão corretos.
- Existe um
x-defaultdefinido. - O método escolhido (HTML, HTTP ou sitemap) é consistente.
- Testaste os tags depois de publicar.
Krok 3: canonical, sitemaps e meta robots por idioma
Com o hreflang no lugar, falta fechar a parte técnica. Aqui a palavra-chave é coerência.
Cada versão linguística deve ter um canonical que aponta para si mesma. Isto parece óbvio, mas é onde muita gente se engana: se o /es/ apontar para o /pt/, estás a dizer ao Google que a versão espanhola não existe como página independente.
Depois, cria sitemaps separados por idioma. Assim consegues ver no Search Console exatamente o que está indexado em cada língua e detetar problemas mais depressa.
E atenção ao noindex. É fácil bloquear uma versão inteira sem querer, sobretudo quando se mexe em configurações de plugins. Verifica sempre.
Checklist técnica:
- Canonical self-referencing em cada versão.
- Sitemap dedicado por idioma.
- Nenhuma versão com
noindexacidental. - Integração correta com Yoast ou RankMath.
- URLs sem parâmetros duplicados.
- Redirecionamentos de idioma testados.
- Glossário e exceções de tradução definidos.
- Core Web Vitals verificados em cada versão.
Sobre prazos, sê realista. Páginas traduzidas costumam aparecer no Google em cerca de 14 a 30 dias. A paridade de rankings entre versões leva mais tempo, normalmente entre 60 e 90 dias.
Krok 4: dane strukturalne, które rozumie IA (inLanguage, areaServed)
Aqui é onde o jogo muda para a visibilidade em IA. Os dados estruturados são, na prática, um atalho para os factos. Em vez de a IA ter de interpretar texto, tu dás-lhe informação clara.
O formato preferido é JSON-LD. E para sites multilingue há três propriedades que fazem toda a diferença: inLanguage, areaServed e availableLanguage.
Um exemplo simples:
{
"@context": "https://schema.org",
"@type": "WebPage",
"inLanguage": "pt-PT",
"areaServed": "PT",
"availableLanguage": ["pt", "en", "es"]
}
Cada versão linguística deve ter o seu próprio bloco, com o inLanguage correspondente. Isto ajuda os modelos a perceber que a página em português é mesmo portuguesa, e não uma tradução automática perdida no meio.
E o llms.txt? É uma ideia promissora, mas ainda sem evidência confirmada de impacto nas citações. Vale a pena acompanhar, não vale a pena apostar tudo nisso.
Na co to uważać: não mistures versões linguísticas no mesmo bloco JSON-LD. Cada página, o seu bloco.
Krok 5: sprawdź, czy Google e IA veem a versão certa
Implementaste tudo. Agora vem a parte que muita gente salta: verificar.
No Google Search Console, confirma a indexação de cada versão e usa os relatórios de destinos internacionais para ver se o hreflang está a ser lido corretamente.
Depois, testa os modelos de IA. Faz perguntas em português, em inglês e em espanhol e vê qual versão é citada. Se a IA citar sempre a mesma língua, tens um sinal de que algo não está a funcionar.
Pontos de controlo:
- Falta de indexação numa versão: normalmente hreflang mal configurado ou
noindexacidental. - Versão errada nos resultados: canonical a apontar para o sítio errado.
- Sem citações num idioma: treść traduzida de forma parcial ou dados estruturados em falta.
Para medir isto de forma contínua, a Semly monitoriza prompts, concorrência e fontes citadas por ChatGPT, Gemini, Claude, Grok e Google AI Mode. Podes acompanhar métricas como Visibilidade, Taxa de Citação, Share of Voice e Sentimento, e ver como cada versão linguística se comporta ao longo do tempo. Vale a pena conhecer como medir a visibilidade da marca em IA e explorar a base de conhecimento sobre GEO para aprofundar o tema.
Mini-case: um site com 41 idiomas estava a perder tráfego porque as versões não comunicavam entre si. Depois de corrigir os sinais, o tráfego orgânico cresceu de forma clara em poucos meses. O padrão repete-se: quando os sinais ficam coerentes, os resultados aparecem.
Erros mais comuns e como corrigir
| Erro | Sintoma | Correção |
|---|---|---|
| Falta de bidirecionalidade | Tags ignorados pelo Google | Garante que todas as versões apontam umas para as outras |
| Self-reference em falta | Versão desaparece dos resultados | Adiciona o link da página para si mesma |
| URLs relativos | hreflang não é lido | Usa sempre URLs absolutos |
| Conflito canonical vs. hreflang | Google escolhe a versão errada | Canonical deve apontar para a própria versão |
| Tradução parcial | Blog só aparece em inglês | Traduz o conteúdo principal, não só os menus |
| Canibalização | Duas versões competem entre si | Define claramente o público de cada versão |
| Redirect por IP | Rastreamento bloqueado | Substitui por um aviso com link manual |
O que fazer depois
Com a base pronta, o próximo passo é escalar com cabeça.
Quando adicionar um novo idioma: quando já tens tráfego e procura real nesse mercado, e não apenas porque parece boa ideia.
Quando mudar de arquitetura: se estás em subdiretórios e precisas de separar operações por país, faz sentido avaliar subdomínios ou ccTLDs. Se estás a começar, fica nos subdiretórios.
Quando escolher entre proxy SaaS, base de dados ou multisite: o proxy é mais rápido de montar, a base de dados dá mais controlo e o multisite serve projetos grandes com equipas separadas. A escolha depende do teu contexto, não de uma regra fixa.
E depois de tudo montado, mede. A Semly é o passo natural para acompanhar, idioma a idioma, se a tua marca está a ser citada pelos modelos de IA e onde ainda há lacunas. Podes começar por ver como posicionar a tua marca em IA ou consultar o centro de ajuda da Semly para perceber como ler os relatórios.
Perguntas frequentes
O que é o x-default? É a versão de recurso que o Google mostra quando não encontra uma correspondência clara de idioma ou região. Normalmente aponta para a versão global do site ou para a página que permite escolher o idioma. Define sempre um x-default para evitar que o Google escolha por ti.
Subdiretório ou ccTLD? Depende do teu contexto. Subdiretórios herdam a autoridade do domínio principal e são mais simples de gerir. ccTLDs dão mais relevância local, mas exigem mais orçamento e trabalho. Para a maioria dos projetos, começar por subdiretórios é a escolha mais prática.
O hreflang diz ao Google em que idioma está a página? Não. O hreflang apenas mapeia versões alternativas. O Google deteta o idioma pela treść visível da página. Por isso, se o texto não estiver realmente traduzido, o tag não vai resolver nada.
O llms.txt funciona? Ainda não há evidência confirmada de que o llms.txt melhore as citações em modelos de IA. É uma ideia promissora e vale a pena acompanhar, mas não deve ser a tua prioridade. Foca-te primeiro em dados estruturados e treść bem traduzida.
Quanto tempo demora a indexação? Páginas traduzidas costumam aparecer no Google em cerca de 14 a 30 dias. A paridade de rankings entre versões leva mais tempo, normalmente entre 60 e 90 dias. Sê paciente e verifica os relatórios regularmente.
Como sei se a IA está a citar a versão certa? Faz perguntas em cada idioma aos modelos e vê qual versão aparece. Para uma visão contínua, usa uma plataforma como a Semly, que monitoriza prompts, concorrência e fontes citadas por idioma. Podes também acompanhar a visibilidade de produtos em IA e conhecer melhor a plataforma Semly.