# Como corrigir o conflito entre SEOPress e LiteSpeed Cache no WordPress

O conflito entre SEOPress e LiteSpeed Cache acontece quando o LiteSpeed cacheia a REST API, páginas de usuário logado ou os arquivos XML do sitemap, fazendo a metabox de SEO não salvar, a meta description não atualizar e o sitemap servir conteúdo desatualizado.

## O que é conflito entre SEOPress e LiteSpeed Cache?

O conflito entre SEOPress e LiteSpeed Cache surge porque os dois plugins atuam na mesma camada de entrega da página: o SEOPress grava título, meta description, canonical e schema JSON-LD no cabeçalho do HTML e gera o sitemap XML, enquanto o LiteSpeed Cache guarda uma copia estática dessa página para servir mais rápido. Quando o LiteSpeed cacheia o que o SEOPress acabou de alterar, você salva a configuração no painel mas o site continua servindo a versão antiga.

Na prática isso aparece de três formas. A metabox universal de SEO do SEOPress não salva ou não reflete a mudanca em tempo real, porque o LiteSpeed esta cacheando a REST API e as telas de usuário logado. O sitemap XML serve uma versão antiga ou em branco, porque os arquivos .xml e .xsl entraram no cache. E as otimizacoes de HTML e JavaScript do LiteSpeed podem alterar o cabeçalho da página, derrubando o schema JSON-LD ou as meta tags que o SEOPress injeta. A documentação oficial do SEOPress descreve esse conflito e indica exatamente quais opções do LiteSpeed ajustar.

## Como identificar

- Você altera o título ou a meta description na metabox do SEOPress, clica em salvar, mas o valor antigo volta ou não aparece no código-fonte da página publicada.
- A metabox universal de SEO do SEOPress não atualiza em tempo real ao editar um post ou página enquanto o LiteSpeed Cache esta ativo.
- O sitemap em /sitemaps.xml abre uma versão antiga, em branco, ou mostra a mensagem 'This XML file does not appear to have any style information associated with it'.
- O schema JSON-LD do SEOPress some do código-fonte ou e reportado como invalido no Teste de Resultados Ricos do Google depois de ativar a minificacao do LiteSpeed.
- As meta tags Open Graph ou o canonical aparecem desatualizados nas redes sociais e no Google mesmo após editar e limpar o cache do SEOPress.

**Antes de começar:** Antes de mexer nas opções do LiteSpeed Cache em producao, faça um backup do site (arquivos e banco de dados) ou teste primeiro em staging, e use o Purge All do LiteSpeed depois de cada ajuste para não confundir cache antigo com erro real.

## Como prevenir

- Mantenha Cache REST API desligado e o papel de administrador em Do Not Cache Roles sempre que SEOPress e LiteSpeed conviverem no mesmo site.
- Deixe os padroes de .xml e .xsl fixos em Do Not Cache URIs para que o sitemap do SEOPress nunca seja servido de cache ao Google.
- Ative as otimizacoes de HTML e JavaScript do LiteSpeed uma de cada vez, validando o schema no Teste de Resultados Ricos do Google a cada mudanca.
- Sempre purgue todo o cache do LiteSpeed (Purge All) depois de editar configurações do SEOPress, para publicar a versão nova em vez da cacheada.

Erros relacionados

- [Como corrigir o sitemap XML que não gera no SEOPress](https://full.services/wp-fixer/corrigir-sitemap-xml-seopress/)
- [Como corrigir o erro de schema markup no SEOPress](https://full.services/wp-fixer/corrigir-schema-markup-seopress/)
- [Como corrigir meta tags que não aplicam em templates Elementor no SEOPress](https://full.services/wp-fixer/corrigir-meta-tags-elementor-seopress/)

## Causa

- A opção Cache REST API esta ligada no LiteSpeed (aba Cache > Cache), entao as chamadas da metabox universal do SEOPress são servidas do cache e a gravacao não reflete em tempo real, conforme a doc oficial do SEOPress.
- A opção Cache Logged-in Users esta marcada no LiteSpeed: o painel de edição do usuário logado e cacheado e a metabox do SEOPress mostra dados desatualizados ao salvar.
- O papel de administrador não esta listado em Do Not Cache Roles (aba Cache > Excludes), entao a tela de quem edita o conteúdo recebe uma copia cacheada em vez do estado atual.
- Os arquivos .xml e .xsl do sitemap do SEOPress não estão em Do Not Cache URIs, entao o LiteSpeed serve um sitemap antigo ou em branco para o Google em vez do gerado na hora.
- As otimizacoes da aba Page Optimization do LiteSpeed (HTML Minify, JS Minify ou JS Combine) alteram o cabeçalho da página e quebram o JSON-LD ou as meta tags que o SEOPress imprime no head.

## Como resolver

1. Desligue o cache da REST API no LiteSpeed: A doc oficial do SEOPress aponta o cache da REST API como causa principal da metabox não salvar. Desligue essa opção para que a metabox universal grave em tempo real.

```
Painel WP -> LiteSpeed Cache -> Cache -> aba Cache
Localize a opção Cache REST API e mude para OFF
Clique em Salvar alterações
```

2. Exclua o seu papel de usuário do cache: Adicione o papel de administrador (e editores que mexem em SEO) em Do Not Cache Roles, para que quem edita veja sempre o estado atual da metabox em vez de uma copia cacheada.

```
Painel WP -> LiteSpeed Cache -> Cache -> aba Excludes
Em Do Not Cache Roles, marque administrator (e editor, se aplicavel)
Clique em Salvar alterações
```

3. Desative o cache de usuários logados: Desmarque Cache Logged-in Users para que a tela de edição não seja servida do cache enquanto você ajusta os campos do SEOPress.

```
Painel WP -> LiteSpeed Cache -> Cache -> aba Cache
Desmarque a opção Cache Logged-in Users
Clique em Salvar alterações
```

4. Exclua o sitemap XML e XSL do cache: Adicione os padroes oficiais do SEOPress em Do Not Cache URIs para impedir que o sitemap .xml e a folha de estilo .xsl sejam cacheados, já que o sitemap nunca deve ser servido de cache para o Google ler a versão atual.

```
Painel WP -> LiteSpeed Cache -> Cache -> aba Excludes
```

5. No campo Do Not Cache URIs, adicione (uma por linha):

```
[a-z0-9_-]*[a-z0-9_-]*.(xml|xsl|html)(.gz)?
([a-z0-9_-]*?)([a-z0-9_-]*)?.xml
Clique em Salvar alterações e limpe todo o cache (Purge All)
```

6. Isole as otimizacoes que quebram o schema e as meta tags: Se o JSON-LD ou as meta tags do SEOPress sumirem, desative uma a uma as otimizacoes de Page Optimization (HTML Minify, JS Minify, JS Combine), purgando o cache e checando o código-fonte a cada teste para identificar a que altera o head.

```
Painel WP -> LiteSpeed Cache -> Page Optimization -> aba HTML Settings -> desligue HTML Minify
Painel WP -> LiteSpeed Cache -> Page Optimization -> aba JS Settings -> desligue JS Minify e JS Combine
Após cada mudanca: Painel WP -> LiteSpeed Cache -> Toolbox -> Purge All e recarregue a página
```


## Código

```apache
# Garante que o sitemap XML do SEOPress nunca seja servido de cache
# (.htaccess, antes das regras do WordPress).
<IfModule mod_headers.c>
  <FilesMatch ".(xml|xsl)(.gz)?$">
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "0"
  </FilesMatch>
</IfModule>
```

## Perguntas frequentes

### Por que a metabox do SEOPress não salva com o LiteSpeed Cache ativo

Quase sempre o LiteSpeed esta cacheando a REST API e as páginas de usuário logado, entao a metabox grava mas serve a versão antiga. A doc oficial do SEOPress recomenda desligar Cache REST API e Cache Logged-in Users e excluir o papel de administrador do cache.

### Como excluir o sitemap do SEOPress do cache do LiteSpeed

Va em LiteSpeed Cache, aba Cache, Excludes, e adicione os padroes de .xml e .xsl em Do Not Cache URIs, conforme o guia do SEOPress. O sitemap nunca deve ser cacheado para o Google ler sempre a versão atual.

### Preciso aplicar todos os ajustes do LiteSpeed para resolver o conflito

Não necessariamente. O SEOPress sugere testar a metabox após cada ajuste, porque dependendo da configuração um único ajuste já resolve. Comece desligando Cache REST API e so avance se o problema continuar.

### O LiteSpeed Cache pode remover o schema JSON-LD do SEOPress

Pode, de forma indireta. As otimizacoes de HTML Minify, JS Minify e JS Combine da aba Page Optimization alteram o cabeçalho da página e podem derrubar o JSON-LD ou as meta tags. Desative-as uma a uma para achar a responsável.

### O sitemap aparece desatualizado mesmo depois de gerar de novo no SEOPress

O LiteSpeed esta servindo uma copia em cache do arquivo XML. Adicione os padroes de .xml e .xsl em Do Not Cache URIs e use Purge All para o sitemap voltar a refletir o conteúdo atual do site.

### Preciso editar arquivos do servidor para corrigir esse conflito

Não. Todos os ajustes ficam nas abas Cache e Page Optimization do LiteSpeed Cache, dentro do painel do WordPress. Não e preciso FTP, banco de dados nem editar arquivos PHP para resolver o conflito.

### Depois de ajustar o LiteSpeed preciso limpar o cache do SEOPress também

Sim. Use o Purge All do LiteSpeed após cada mudanca e, ao editar campos do SEOPress, salve e purgue de novo. Assim o site pública a versão nova de título, meta e schema em vez da copia antiga em cache.

**Fonte:** [SEOPress — Fix compatibility issue with LiteSpeed caching plugin](https://www.seopress.org/support/guides/fix-compatibility-issue-with-litespeed-caching-plugin/)
