Nesta página
Enviar um segundo idioma parece uma vitória até o Search Console encher de “Incorrect return tags” e o Google continuar servindo inglês para compradores na Alemanha. SEO multilíngue é menos sobre traduzir strings e mais sobre dar a cada mercado uma URL estável, um sinal claro de idioma ou locale e conteúdo que bata com o que as pessoas lá de fato compram.
Este guia cobre escolhas de estrutura de URL, como o hreflang funciona (incluindo reciprocidade e x-default), idioma versus locale, tradução versus localização, modos comuns de falha, crawl budget, armadilhas de CMS, um cenário aplicado e um checklist de ship.
Escolha uma estrutura de URL antes de anotar qualquer coisa
Hreflang só aponta para URLs. Se essas URLs são bagunçadas, baseadas em parâmetros ou meio migradas, anotações não salvam o projeto. A orientação do Google sobre gerenciar sites multirregionais e multilíngues apresenta os padrões usuais. Você escolhe um padrão primário e se apega a ele.
| Padrão | Exemplo | Força | Custo |
|---|---|---|---|
| ccTLD | example.de, example.fr |
Sinal forte de país, confiança local | Sites separados, mais ops, equity de links dividido |
| Subdomínio | de.example.com |
Separação clara, hosting flexível | Sinal de país mais fraco que um ccTLD |
| Subdiretório | example.com/de/ |
Um domínio, autoridade compartilhada, CMS mais simples | Sinal de país depende mais de conteúdo e hreflang |
Subdiretórios vencem para a maioria dos sites de produto e conteúdo que ainda estão construindo autoridade num domínio de marca. ccTLDs fazem sentido quando entidades legais, pricing ou compliance realmente diferem por país e você consegue staffar cada site. Subdomínios ficam no meio quando você precisa de stacks separados (por exemplo uma origem voltada à China) sem comprar cada TLD.
Evite idioma como query string (?lang=de). Essas URLs são fáceis de duplicar, difíceis de compartilhar e estranhas para analytics. O Google ainda pode entendê-las quando anotadas corretamente, mas operadores que vivem com locales por parâmetro costumam se arrepender quando filtros e campanhas colidem.
Documente o padrão escolhido num lugar que engenheiros e tradutores leiam. Mudar de /de/ para de.example.com depois significa um mapa completo de redirects e reescrita de hreflang. Esse imposto de migração é por que a decisão de URL pertence antes da primeira página traduzida sair.

Figura 1: Layouts lado a lado de ccTLD, subdomínio e subdiretório para a mesma marca.
Como o hreflang realmente funciona
Hreflang diz ao Google qual URL é a versão pretendida para uma dada combinação de idioma ou idioma-região. Não cria rankings sozinho. Ajuda o Google a escolher o alternate certo quando várias páginas quase equivalentes existem, para que usuários alemães tenham mais chance de ver a URL alemã quando essa URL é um alternate válido da inglesa.
Você pode declarar alternates de três formas que o Google documenta:
- HTML
<link rel="alternate" hreflang="..." href="...">no<head>da página - Headers HTTP para arquivos não-HTML (PDFs e similares)
- Anotações em XML sitemap para catálogos grandes
A maioria dos sites de marketing usa tags HTML ou entradas de sitemap. Catálogos grandes de ecommerce costumam preferir sitemaps para templates permanecerem magros. Escolha um método primário para um dado conjunto de URLs e mantenha-o consistente. Misturar HTML parcial e anotações parciais de sitemap para o mesmo conjunto de páginas é uma fonte comum de drift.
Códigos seguem valores estilo BCP 47 que o Google aceita: um código de idioma como en ou de, opcionalmente com uma região como en-GB ou pt-BR. Use códigos de idioma ISO 639-1 e, quando precisar de região, códigos de país ISO 3166-1 Alpha 2. Não invente atalhos como uk para inglês no Reino Unido (en-GB é a escolha usual). Não use códigos só de região.
Toda página num conjunto deve listar todo alternate, incluindo uma entrada autorreferente para si mesma. Se https://example.com/pricing/ é inglês e https://example.com/de/pricing/ é alemão, ambas as páginas (ou suas linhas de sitemap) precisam de entradas en e de apontando para as URLs finais e indexáveis.
Confirmação recíproca entre alternates
A documentação de localized-versions do Google é explícita: anotações devem ser confirmadas do outro lado. Se a página A aponta para a página B como de, a página B deve apontar de volta para a página A como en (ou qualquer que seja o idioma de A). Links unidirecionais são ignorados para aquele relacionamento.
A reciprocidade falha em silêncio quando um CMS gera tags só no locale “primário”, quando um tradutor publica um novo idioma sem atualizar as páginas antigas, ou quando um CDN cacheia um head antigo enquanto a página ao vivo mudou. Relatórios de International Targeting / hreflang do Search Console (onde disponíveis para sua propriedade) e um crawl que extrai link[rel=alternate][hreflang] pegam isso mais rápido do que olhar HTML no olho.

Figura 2: Cada alternate deve apontar de volta. Uma seta unidirecional não conta como par confirmado.
x-default e o visitante sem match
x-default marca a URL que você quer quando nenhum dos outros valores de hreflang bate com as configurações de idioma ou região do usuário. O Google descreve isso na mesma documentação de versões localizadas como o fallback para idiomas sem match.
Usos típicos:
- Uma página de seletor de idioma ou gateway global
- Sua URL primária em inglês (ou outro hub) quando você não roda um seletor separado
- Uma storefront cuidadosamente escolhida de “resto do mundo”
x-default não é “a página para pessoas que falam inglês.” Inglês ainda precisa do próprio hreflang="en" (ou en-US, en-GB e por aí). x-default pode apontar para a mesma URL que en quando isso for honesto. Também pode apontar para um seletor indexável e útil. O que não deve fazer é apontar para um soft 404, um interstitial de redirect por geo-IP que nunca se estabiliza, ou um post aleatório de blog.
Se você auto-redireciona por IP antes que o usuário (ou o Googlebot) consiga ver uma URL estável, você luta contra usabilidade e crawling. A orientação multirregional do Google alerta contra depender só de IP para mostrar conteúdo. Prefira uma URL estável por locale mais um seletor de idioma visível, e deixe o hreflang fazer o trabalho de matching.

Figura 3: x-default captura visitantes cujo idioma está fora do conjunto anotado.
Códigos de idioma versus códigos de locale
de significa alemão, independentemente do país. de-DE significa alemão como usado na Alemanha. de-AT significa alemão como usado na Áustria. Essas são intents diferentes quando moeda, frete, copy legal ou ortografia divergem.
Use códigos só de idioma quando uma URL honestamente serve todos os falantes daquele idioma. Use códigos idioma-região quando as páginas diferem por mercado mesmo se a string de idioma parecer a mesma. Uma única página em inglês para leitores globais costuma ser en mais x-default. Storefronts separadas do Reino Unido e dos EUA com preços e ortografia diferentes costumam ser en-GB e en-US, cada uma com a própria URL.
Não crie duplicatas en-US e en-GB que diferem só por um ícone de bandeira e uma edge de CDN. Hreflang não inventa uma diferença significativa. Se as páginas são quase idênticas, consolide ou localize de verdade.
Chinês com script e região precisa de cuidado. Chinês simplificado para audiências mainland e chinês tradicional para Taiwan ou Hong Kong são experiências de leitura diferentes. Prefira URLs distintas e códigos precisos (zh-Hans, zh-Hant, ou formas de região que seu stack suporte de forma consistente) em vez de uma página zh que mistura scripts. Seja o que escolher, mantenha a mesma família de códigos no HTML, sitemaps e seletor de idioma.

Figura 4: Códigos de idioma cobrem falantes de forma ampla. Códigos de locale fixam um mercado quando o conteúdo de fato difere.
Onde a tradução para e a localização começa
Tradução machine ou humana que troca palavras enquanto deixa USD, matrizes de frete dos EUA, case studies dos EUA e rodapés legais dos EUA no lugar vai performar mal mesmo com hreflang perfeito. Localização muda a superfície comercial. Moeda, exibição de imposto, métodos de pagamento, horários de suporte, sinais de confiança, exemplos e texto regulatório todos precisam de um passe de mercado.
Para SEO especificamente, localização também inclui:
- Titles e meta descriptions escritos para como as pessoas buscam naquele idioma, em vez de um calque da keyword em inglês
- Links internos que ficam dentro do hub do mesmo idioma sempre que um equivalente existir
- Imagens e screenshots com UI local ou legendas onde importa
- Pular shells finos de locale “em breve” que ainda são anotados como alternates completos
Se um mercado não está pronto, deixe-o fora do hreflang até a página ser genuinamente equivalente. Anotar um placeholder como fr ensina ao Google que o alternate francês é fraco.
Boa prática: Envie menos locales comercialmente completos antes de espalhar dez pastas meio traduzidas pelo sitemap.

Figura 5: Além da troca de palavras. Moeda, proof points e superfícies legais também recebem um passe de mercado.
Falhas comuns de hreflang e SEO internacional
Essas aparecem em quase toda revisão de crawl multilíngue.
Reciprocidade quebrada. Novos locales lançam com tags que listam os idiomas antigos, mas os idiomas antigos nunca são atualizados. Corrija com uma única fonte da verdade (passo de build ou campo do CMS) que regenera o conjunto completo de alternates em cada locale.
Códigos errados. eng, uk, zh-CN misturado com zh-Hans de forma inconsistente, ou códigos de região onde idioma era a intenção. Valide contra a lista de códigos que você padronizou no doc de URL.
Anotar URLs não canônicas ou não indexáveis. Hreflang deve apontar para a URL final preferida. Se a página alemã canonicaliza para o inglês, ou retorna noindex, o conjunto de alternates está mentindo. Corrija canônico e indexação primeiro.
Misturas HTTP e HTTPS, ou www e non-www. Todo href no conjunto de alternates deve usar o mesmo host e protocolo que você escolheu como canônico.
Cobertura parcial. Só a homepage tem hreflang enquanto templates de produto não. Ou só o sitemap tem entradas enquanto o HTML as contradiz. Cubra os templates que geram tráfego, de ponta a ponta.
Seletores de idioma que criam duplicatas de parâmetro. Um seletor que adiciona ?currency=EUR em cima de /de/ sem disciplina canônica multiplica quase-duplicatas e desperdiça crawl.
Loops de auto-redirect. Detecta idioma, 302 para outra pasta, depois outra regra manda o bot para outro lugar. Dê ao Googlebot um 200 numa URL estável de locale.
Aviso: Erros de hreflang raramente jogam um bug visível on-page. Usuários ainda podem navegar enquanto o Google ignora o mapa de alternates. Trate Search Console e diffs de crawl como a superfície de monitoramento.

Figura 6: As quebras usuais são reciprocidade, códigos, indexabilidade e inconsistência de host.
Crawl budget em sites multilíngues
Cada novo locale multiplica a contagem de URLs. Isso pode ser ok quando as páginas são únicas e linkadas. Dói quando você clona templates finos, filtros facetados em cada idioma e arquivos de tags que ninguém queria traduzidos.
Crawl budget não é um score místico. Na prática você se importa se o Googlebot gasta tempo em URLs de dinheiro ou em lixo. Lixo multilíngue parece:
- Combinações traduzidas de filtros que criam milhares de listagens quase vazias
- Arquivos paginados de posts finos em cada idioma
- Locales de staging ou preview deixados linkados no rodapé
- Alternates que 404 ou soft-404 após uma falha de publish do CMS
Consolide ou noindex as superfícies de baixo valor em cada locale do mesmo jeito que faria numa auditoria monolíngue. Mantenha sitemaps limitados a URLs canônicas, 200, indexáveis que pertencem ao mapa de alternates. Quando adicionar um idioma, adicione só os templates que consegue manter.
Links internos devem preferir caminhos do mesmo locale. Um artigo alemão que só linka para hubs de categoria em inglês força hops extras e dilui o cluster de idioma.

Figura 7: Mais idiomas significam mais URLs. Prefira crawl em templates comerciais a ruído de filtros traduzidos.
Armadilhas de CMS e plugins
WordPress, Shopify, Webflow, apps Next.js custom e CMSs enterprise todos geram bugs de hreflang de jeitos diferentes. O padrão por baixo é o mesmo: o sistema que renderiza a página não é o único sistema que acha que é dono dos alternates.
Fique de olho em:
- Dois plugins ambos imprimindo
link rel="alternate"e discordando - Um CMS headless que armazena slugs de locale enquanto o front end reescreve paths de forma diferente em produção
- Plugins de sitemap que listam todo locale enquanto tags HTML listam um subset
- Módulos de “hreflang” que omitem autorreferências
- Workflows de copy-to-new-locale que clonam
noindexou canônicos de staging - Camadas de CDN ou reverse-proxy que servem HTML diferente para bots e para usuários (raro quando intencional, bagunçado quando acidental)
Para trabalho de internacionalização de website, trate hreflang como um item de checklist de release que você revalida a cada mudança major. Especialmente em stacks multilíngues WordPress, verifique o HTML ao vivo de uma página de dinheiro em cada locale após cada update major de plugin ou tema.
Se gera tags no app, adicione uma checagem de CI ou assert de crawl que conta os alternates esperados por template. Spot-checks manuais perdem o décimo idioma.

Figura 8: Temas, plugins, sitemaps e HTML do CDN podem cada um emitir uma história diferente de alternate.
Caminho de implementação que sobrevive ao dia do release
Um rollout durável parece isto.
- Trave o padrão de URL e a lista de locales comercialmente prontos.
- Mapeie equivalentes numa planilha ou banco. Cada linha é uma unidade de conteúdo. Colunas são URLs de locale. Células vazias significam “sem alternate ainda” (omitir do hreflang até preencher).
- Escolha HTML, HTTP ou sitemap como a fonte da verdade para aquela classe de template.
- Gere tags autorreferentes e recíprocas incluindo
x-defaultonde você tem um fallback deliberado. - Alinhe canônicos para que cada URL de locale canonicalize para si mesma quando deve ser indexada.
- Atualize seletores de idioma para que cada locale linke ao equivalente mapeado em vez de chutar a homepage.
- Envie ou atualize sitemaps no Search Console para cada propriedade que você gerencia.
- Crawl e diff após o deploy. Falhe o release se reciprocidade ou validação de código falhar em templates de dinheiro.
- Monitore o Search Console por issues de hreflang e por padrões inesperados de país ou idioma de landing nos relatórios de performance.
A documentação do Google para versões localizadas de página é a referência normativa para sintaxe de tags e reciprocidade. Validadores de terceiros ajudam, e as regras oficiais ainda decidem o que o Google aceita.

Figura 9: Mapeie equivalentes primeiro, gere tags recíprocas, depois valide com um crawl após o deploy.
Cenário aplicado para um site SaaS adicionando alemão e francês
Acme envia um produto de analytics B2B em https://www.acme.example/ com blog e pricing em inglês. Marketing quer alemão e francês para expansão na UE. Engenharia prefere um domínio. Escolhem subdiretórios: /de/ e /fr/.
Eles não traduzem todo arquivo antigo de tag de blog. Localizam homepage, pricing, overview de produto, entry points de docs e os vinte posts que ainda geram pipeline. Legal escreve um adendo de privacy pronto para a UE. Pricing mostra EUR com notas de VAT onde exigido. Case studies trocam logos da UE que eles de fato têm permissão para usar.
Mapa de equivalentes (simplificado):
| Unidade | en | de | fr |
|---|---|---|---|
| Home | / |
/de/ |
/fr/ |
| Pricing | /pricing/ |
/de/pricing/ |
/fr/pricing/ |
| Produto | /product/ |
/de/product/ |
/fr/product/ |
Cada uma dessas seis URLs (mais self) emite en, de, fr e x-default apontando para a home em inglês ou um pequeno seletor de região que decidem manter indexável. Posts de blog que só existem em inglês omitem de/fr até serem traduzidos. Nunca apontam a home alemã para uma URL de pricing francesa.
Na semana um após o lançamento, um crawl encontra o pricing em inglês ainda sem os novos alternates porque a camada de cache serviu um head antigo. Eles fazem purge, re-crawl e confirmam reciprocidade. O Search Console para de reportar erros de return-tag nessas URLs após o processamento.
Eles medem sucesso como queries em alemão e francês aterrissando nas páginas de dinheiro /de/ e /fr/. Contagem de URLs indexadas sozinha é uma métrica fraca de sucesso aqui.

Figura 10: Acme mapeia poucos equivalentes completos, envia tags recíprocas e pula tradução fina de arquivos.
Checklist de SEO multilíngue
Use isto antes de chamar o projeto de pronto.
- Um padrão documentado de URL (ccTLD, subdomínio ou subdiretório) usado de forma consistente
- Só locales comercialmente prontos estão no ar e anotados
- Toda URL anotada retorna 200, é indexável e self-canonicaliza quando deve ranquear
- Códigos hreflang batem com sua política de idioma vs locale (
devsde-DEe por aí) - Conjunto completo de alternates em cada página membro ou linha de sitemap, incluindo autorreferências
- Confirmação recíproca no conjunto
-
x-defaultaponta para um fallback intencional - Seletor de idioma linka para equivalentes reais sem gerar duplicatas de parâmetro
- Sitemaps listam só URLs canônicas de locale que você quer crawladas
- Filtros finos traduzidos, tags e locales de staging estão fora do mapa de alternates
- Crawl pós-deploy valida tags em templates de dinheiro
- Propriedades do Search Console e sitemaps atualizados para os hosts que você gerencia

Figura 11: Prontidão de lançamento cobre URLs, códigos, reciprocidade, indexabilidade e validação pós-deploy.
Perguntas frequentes
Preciso de hreflang se só tenho um idioma?
Não. Hreflang é para versões alternate de idioma ou locale do mesmo conteúdo. Um site de um só idioma deve focar em canônicos limpos e acesso de crawl. Adicionar hreflang decorativo que não aponta para nada útil só cria ruído de monitoramento.
Hreflang pode corrigir conteúdo duplicado sozinho?
Ajuda o Google a selecionar o alternate certo entre versões válidas. Não substitui disciplina canônica, e não reabilita páginas finas copiadas. Corrija duplicatas e qualidade primeiro, depois anote os equivalentes reais.
Todo post de blog deve existir em cada idioma?
Só se você for mantê-los. Cobertura parcial está ok. Anote os idiomas que existem para aquela unidade e deixe o resto fora da lista de alternates até saírem.
Um ccTLD é sempre melhor para SEO internacional?
Não. Um ccTLD é um sinal forte de país e muitas vezes um sinal de confiança para usuários locais, mas custa mais para operar e divide autoridade a menos que você invista em cada propriedade. Muitas marcas globais se saem bem com subdiretórios mais hreflang correto. Escolha a partir de constraints legais, de hosting e de recursos em vez de uma regra de ouro de um thread de fórum.
Onde devo colocar hreflang para um catálogo grande?
XML sitemaps escalam melhor quando você tem dezenas de milhares de SKUs. Mantenha as entradas do sitemap sincronizadas com URLs canônicas de produto. Faça spot-check do HTML se seu stack também imprime tags no head, e remova conflitos.
Qual é a diferença entre hreflang e uma meta tag content-language?
Hreflang mapeia URLs alternate para idiomas e regiões no Google Search. Uma meta tag content-language não é substituto desse mapa. Siga o mecanismo de versões localizadas do Google para alternates.
Encerramento
SEO multilíngue se sustenta quando URLs são estáveis, locales são produtos reais e hreflang é um mapa recíproco dessas URLs. Os times que sofrem costumam anotar primeiro e localizar depois, ou deixar um plugin emitir tags que ninguém revalidou após o terceiro idioma lançar.
Se você está planejando um rollout de locale ou limpando um mapa de alternates existente, pode me encontrar pelo formulário de contato.
