# Como corrigir o sitemap multilingue do SEOPress com WPML no WordPress

O sitemap multilingue do SEOPress com WPML falha quando as URLs traduzidas ficam fora do XML, o sitemap retorna em branco ou da 404. As causas mais comuns são cache servindo o XML como HTML, permalinks desatualizados, URLs marcadas como noindex e a integração SEO do WPML inativa.

## O que é sitemap multilingue do SEOPress com WPML?

O sitemap multilingue do SEOPress com WPML e o arquivo XML que lista, para os buscadores, todas as URLs do site em cada idioma traduzido. O SEOPress gera o sitemap a partir dos conteúdos publicados e indexaveis, e o WPML expoe as versões traduzidas de cada post e página conforme o formato de URL de idioma configurado (diretorios, subdominios ou domínios separados). Quando a integração funciona, cada URL traduzida aparece no sitemap e o WPML adiciona as anotacoes hreflang que dizem ao Google qual versão servir para cada idioma.

O problema aparece quando essa cadeia se rompe: o sitemap abre em branco, retorna erro 404, ou lista apenas o idioma padrão e ignora as traduções. Segundo a documentação oficial do SEOPress, a causa número um de sitemap quebrado e o cache servindo o arquivo XML como página HTML; somam-se a isso permalinks que precisam ser regravados, URLs marcadas como noindex pelo SEOPress, canonical customizada que exclui a página, e a camada SEO do WPML inativa, que faz as URLs traduzidas nunca entrarem no XML.

## Como identificar

- Ao abrir o sitemap o navegador mostra 'Esta página não esta funcionando' ou um erro 404 Not Found no lugar do XML.
- O sitemap carrega, mas lista apenas as URLs do idioma padrão e nenhuma das páginas traduzidas pelo WPML aparece.
- O XML abre como uma página HTML em branco ou sem estilo, sinal de que um plugin de cache esta servindo o arquivo errado.
- O Google Search Console acusa 'Não foi possível buscar o sitemap' ou 'Erro ao processar o sitemap' ao enviar a URL do SEOPress.
- As tags hreflang não aparecem no código-fonte das páginas traduzidas, e o Google indexa o idioma errado para alguns paises.

**Antes de começar:** Antes de alterar configurações do SEOPress, do WPML ou as regras de cache em producao, faca um backup completo do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para poder reverter caso o sitemap ou as URLs de idioma quebrem.

## Como prevenir

- Mantenha o SEOPress e o complemento WPML SEO sempre na versão estavel mais recente, validando em staging antes de subir para producao.
- Configure de uma vez o plugin de cache e a CDN para excluir os arquivos XML e XSL, evitando que o sitemap volte a ser servido como HTML.
- Padronize um único formato de URL de idioma no WPML (de preferencia diretorios) e não o altere sem regerar o sitemap e atualizar o Search Console.
- Depois de publicar ou traduzir conteúdo, confira periodicamente o sitemap e o relatório de cobertura do Search Console para detectar URLs traduzidas faltando cedo.

Erros relacionados

- [Como corrigir sitemap XML com erro no WordPress](https://full.services/wp-fixer/corrigir-sitemap-xml-erro-wordpress/)
- [Como corrigir URLs canonicas duplicadas no WordPress](https://full.services/wp-fixer/corrigir-canonical-duplicado-wordpress/)
- [Como corrigir robots.txt bloqueando páginas importantes](https://full.services/wp-fixer/corrigir-robots-txt-bloqueio-wordpress/)

## Causa

- Um plugin de cache ou a CDN estão servindo o arquivo de sitemap em cache como HTML: a documentação do SEOPress aponta o cache como causa número um e recomenda excluir os arquivos XML e XSL do cache.
- Os permalinks ficaram desatualizados após ativar o SEOPress ou o WPML, e por isso a URL do sitemap retorna 404 até que a estrutura de links permanentes seja regravada em Configurações, Links Permanentes.
- A integração SEO do WPML (o complemento WPML SEO) esta inativa, entao o WPML não entrega ao SEOPress as URLs traduzidas e elas nunca entram no XML.
- As páginas traduzidas estão marcadas como noindex no SEOPress, ou tem uma canonical customizada diferente do permalink, e a documentação oficial confirma que URLs nessas condicoes são excluidas do sitemap automaticamente.
- O formato de URL de idioma do WPML (diretorios, subdominios ou domínios diferentes por idioma) não casa com a base do sitemap do SEOPress, fazendo o XML apontar para hosts onde as traduções não existem.

## Como resolver

1. Exclua os arquivos XML e XSL do cache: A documentação oficial do SEOPress aponta o cache como causa número um de sitemap quebrado. Configure o plugin de cache e a CDN para nunca cachear o sitemap, depois limpe todo o cache e recarregue a URL do sitemap.

```
Painel WP -> plugin de cache -> regras de exclusão
Adicione os padroes: sitemaps.xml e .xsl
Limpe todo o cache do plugin e da CDN e recarregue a URL do sitemap
```

2. Regrave os permalinks para resolver o 404: Se a URL do sitemap retorna 404, a estrutura de links permanentes precisa ser regravada. Abra a tela de Links Permanentes e salve sem alterar nada, o que força o WordPress a recriar as regras de reescrita usadas pelo sitemap.

```
Painel WP -> Configurações -> Links Permanentes
Clique em Salvar Alterações sem mudar nada
Recarregue a URL do sitemap do SEOPress
```

3. Ative a integração SEO do WPML: Para as URLs traduzidas entrarem no sitemap, o complemento WPML SEO precisa estar ativo e o gerenciamento de tradução das URLs de SEO habilitado. Sem isso, o WPML não expoe as versões de idioma para o SEOPress montar o XML.

```
Painel WP -> Plugins -> ative o complemento WPML SEO (WPML SEO add-on)
Painel WP -> WPML -> SEO -> habilite o gerenciamento de tradução dos campos de SEO
Painel WP -> WPML -> Idiomas -> confira o formato de URL (diretorios, subdominios ou domínios)
```

4. Remova o noindex e a canonical que excluem as traduções: A documentação do SEOPress confirma que URLs marcadas como noindex ou com canonical diferente do permalink saem do sitemap. Abra as páginas traduzidas que sumiram e garanta que estão indexaveis e sem canonical manual divergente.

```
Edite a página traduzida -> SEOPress -> aba Avancado
Desmarque a opção noindex
Apague qualquer URL canonica customizada diferente do permalink da própria página
```

5. Reconstrua o sitemap e reenvie ao Search Console: Com cache, permalinks, WPML SEO e indexação corrigidos, salve as configurações de XML Sitemap do SEOPress para regerar o arquivo e reenvie a URL no Google Search Console para confirmar que as URLs de todos os idiomas são lidas.

```
Painel WP -> SEO -> XML / HTML Sitemap -> Salvar Alterações
Abra a URL do sitemap e confirme que as URLs traduzidas aparecem
Google Search Console -> Sitemaps -> reenvie a URL do sitemap
```


## Código

```apache
# .htaccess - impede que o cache sirva o sitemap do SEOPress como HTML
# Forca o Content-Type correto e desliga o cache nos arquivos XML/XSL do sitemap
<IfModule mod_headers.c>
    <FilesMatch "(sitemaps?.*.xml|.*.xsl)$">
        Header set Content-Type "application/xml; charset=UTF-8"
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
    </FilesMatch>
</IfModule>
```

## Perguntas frequentes

### Por que as URLs traduzidas não aparecem no sitemap do SEOPress com WPML

Na maioria dos casos a integração SEO do WPML esta inativa ou as páginas traduzidas estão como noindex. Ative o complemento WPML SEO e remova o noindex das traduções para que o SEOPress inclua cada idioma no XML.

### O sitemap do SEOPress abre em branco, o que fazer

A documentação oficial do SEOPress aponta o cache como causa número um. Exclua os arquivos XML e XSL do plugin de cache e da CDN, limpe o cache e recarregue a URL. Se persistir, ative o WP Debug para checar erros no log.

### Por que a URL do sitemap retorna 404

O 404 costuma ser de permalinks desatualizados. Va em Configurações, Links Permanentes e clique em Salvar Alterações sem mudar nada, o que regrava as regras de reescrita e costuma restaurar o acesso ao sitemap do SEOPress.

### Preciso do complemento WPML SEO para o sitemap multilingue funcionar

Sim, e o caminho recomendado. O complemento WPML SEO entrega ao SEOPress as URLs traduzidas e as anotacoes hreflang. Sem ele, o sitemap tende a listar apenas o idioma padrão e o Google não recebe as versões de cada idioma.

### O SEOPress gera um sitemap para cada idioma ou um único

O SEOPress gera um sitemap index que aponta para sitemaps por tipo de conteúdo, e com o WPML SEO ativo as URLs de cada idioma entram nesses arquivos conforme o formato de URL configurado no WPML, em vez de exigir um sitemap manual separado por idioma.

### Por que minhas páginas traduzidas saem do sitemap mesmo publicadas

A documentação do SEOPress confirma que URLs com noindex ou com canonical customizada diferente do permalink são excluidas do sitemap automaticamente. Verifique a aba Avancado do SEOPress em cada tradução e corrija essas duas configurações.

### Como confirmar que o Google esta lendo o sitemap multilingue

Reenvie a URL do sitemap no Google Search Console em Sitemaps e acompanhe o status. Se ele acusar erro de busca ou poucas URLs descobertas, revise cache, permalinks e a integração do WPML antes de reenviar.

**Fonte:** [SEOPress - XML Sitemap support guide (documentacao oficial)](https://www.seopress.org/support/guides/xml-sitemap/)
