🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o erro de permissão ao gerar cache no WP Rocket

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Erro de permissão ao gerar cache no WP Rocket EN: WP Rocket cache permission error
Severidade Grave
Descrição O erro de permissão de cache do WP Rocket ocorre quando o PHP não consegue gravar em wp-content/cache. Sem permissão de escrita (CHMOD 0755) na pasta de cache, o plugin não cria os arquivos estáticos e as páginas continuam sem otimização.

O que é o erro de permissão de cache do WP Rocket?

O WP Rocket gera arquivos HTML estáticos dentro de wp-content/cache/wp-rocket e arquivos de assets (CSS minificado, used-css, critical-css) em subpastas de wp-content/cache. Para isso, o usuário do processo PHP (geralmente www-data ou o usuário do PHP-FPM) precisa de permissão de escrita nessas pastas. Quando a permissão é restritiva demais, ou quando o dono dos arquivos é diferente do usuário do PHP, o WP Rocket falha silenciosamente: o plugin fica ativo, mas nenhum arquivo de cache é criado e o HTML servido continua sem o rodapé de assinatura do cache.
O mesmo acontece com a pasta wp-content/wp-rocket-config, onde o plugin grava o arquivo de configuração de cada domínio. Se ela não existir ou não for gravável, as opções salvas no painel não são aplicadas na geração do cache.

Como identificar

  • A página servida não tem o comentário de rodapé no HTML que o WP Rocket adiciona quando cacheia (algo como ‘Performance optimized by WP Rocket’) ao usar ‘Ver código-fonte’ em uma aba anônima.
  • A pasta wp-content/cache/wp-rocket existe mas fica vazia, ou nem chega a ser criada, mesmo após limpar e pré-carregar o cache.
  • No log de erros do PHP aparece um aviso de escrita do tipo ‘failed to open stream: Permission denied’ apontando para um caminho dentro de wp-content/cache.
  • O painel mostra a opção ‘wp-rocket-config’ ou a pasta de cache como não gravável quando você revisa as permissões via gerenciador de arquivos da hospedagem.
  • As otimizações configuradas no painel (minificação, used-css) não aparecem no front-end, e o teste do GTmetrix ou PageSpeed continua reportando o site como não cacheado.
Antes de começar: Faça backup do site (arquivos e banco) antes de rodar comandos chown ou chmod recursivos. Aplicar dono ou permissão errados em wp-content pode tornar o site inacessível; nunca use 0777, que expõe os arquivos a escrita por qualquer processo.

Como prevenir

  • Mantenha wp-content e suas subpastas em 0755 e os arquivos em 0644 como padrão, evitando valores como 0777 que a documentação não recomenda.
  • Garanta que todo upload de arquivos (FTP, SSH, deploy) preserve o usuário do PHP como dono de wp-content, para o WP Rocket nunca perder a escrita.
  • Depois de migrar o site de servidor, revise as permissões da pasta de cache antes de reativar o WP Rocket, porque a migração costuma trocar o dono dos arquivos.
  • Monitore o espaço em disco da conta: cache cheio ou disco esgotado também se manifesta como falha de permissão na hora de gravar.

Causa

  • A pasta wp-content/cache está com permissão restritiva (por exemplo 0555 ou 0700) e o usuário do PHP-FPM não tem o bit de escrita, então o WP Rocket não consegue criar a subpasta wp-rocket nem gravar os arquivos HTML.
  • O dono (owner) dos arquivos em wp-content é diferente do usuário que roda o PHP: a pasta foi criada via SSH como root ou via FTP com outro usuário, e o www-data não pertence ao grupo dono, ficando sem escrita efetiva mesmo com 0755.
  • A pasta wp-content/wp-rocket-config não existe ou não é gravável, então o WP Rocket não grava o arquivo de configuração do domínio e as regras de cache nunca passam a valer.
  • Um plugin de segurança ou uma regra de hardening da hospedagem trancou wp-content em modo somente-leitura (por exemplo via immutable bit ou disable_functions), bloqueando a criação de arquivos pelo WP Rocket.
  • O open_basedir ou um espaço em disco esgotado na conta de hospedagem impede a escrita no diretório de cache, o que o PHP reporta como falha de permissão ao abrir o stream.

Como resolver

  1. Confirme que o WP Rocket não está gerando cache: Abra a página inicial em uma aba anônima e veja o código-fonte. Se o comentário de assinatura do WP Rocket não estiver no final do HTML, o cache não está sendo criado e a causa mais provável é permissão de escrita na pasta de cache.
  2. Ajuste a permissão da pasta de cache para 0755: Conecte via SSH (ou use o gerenciador de arquivos da hospedagem) e aplique CHMOD 0755 na pasta de cache, conforme a documentação do WP Rocket. Esse valor dá escrita ao dono e leitura ao restante.
    chmod 0755 wp-content/cache
    chmod -R 0755 wp-content/cache/wp-rocket
  3. Garanta que a pasta wp-rocket-config exista e seja gravável: O WP Rocket grava o arquivo de configuração do domínio nesta pasta. Crie-a se não existir e dê a ela a mesma permissão de escrita da pasta de cache.
    mkdir -p wp-content/wp-rocket-config
    chmod 0755 wp-content/wp-rocket-config
  4. Alinhe o dono dos arquivos com o usuário do PHP: Se mesmo com 0755 o cache não for criado, o problema é o dono. Defina o usuário e o grupo do PHP-FPM (no exemplo, www-data) como dono de wp-content para que a escrita seja efetiva. Confirme o usuário correto com a sua hospedagem antes de aplicar.
    chown -R www-data:www-data wp-content/cache
    chown -R www-data:www-data wp-content/wp-rocket-config
  5. Limpe e pré-carregue o cache: No painel do WordPress, acesse Configurações -> WP Rocket -> Painel e clique em Limpar e pré-carregar cache. Depois recarregue a página em uma aba anônima e confirme que a assinatura do WP Rocket voltou ao HTML.
BASH
# Diagnóstico: confirma dono e permissão da pasta de cache
ls -ld wp-content/cache wp-content/cache/wp-rocket wp-content/wp-rocket-config

# Descobre o usuário que roda o PHP-FPM neste servidor
ps -eo user,comm | grep -E 'php-fpm|php' | head -n 1

# Testa se o usuário do PHP consegue escrever na pasta de cache
sudo -u www-data test -w wp-content/cache && echo GRAVAVEL || echo SEM_ESCRITA

Perguntas frequentes

Qual permissão a pasta de cache do WP Rocket precisa ter?
A documentação do WP Rocket pede CHMOD 0755 na pasta wp-content/cache, com leitura e escrita para o dono. Evite 0777, que é inseguro e não é recomendado.
Por que o WP Rocket fica ativo mas não gera nenhum arquivo de cache?
Quase sempre é falta de escrita: a pasta wp-content/cache está com permissão restritiva ou o dono dos arquivos é diferente do usuário do PHP, então o plugin não consegue criar os arquivos e falha em silêncio.
O que é a pasta wp-rocket-config e por que ela importa?
É onde o WP Rocket grava o arquivo de configuração de cada domínio dentro de wp-content. Se ela não existir ou não for gravável, as opções do painel não são aplicadas na geração do cache.
Mudei para 0755 e o cache ainda não é criado. E agora?
O problema costuma ser o dono dos arquivos. Defina o usuário e o grupo do PHP-FPM, como www-data, como dono de wp-content/cache usando chown recursivo, depois limpe e pré-carregue o cache.
Como sei se uma página está realmente cacheada pelo WP Rocket?
Abra a página em uma aba anônima e veja o código-fonte: se estiver cacheada, o WP Rocket adiciona um comentário de assinatura no final do HTML. Sem esse comentário, o cache não foi gerado.
Posso usar 0777 para resolver de vez o erro de permissão?
Não. 0777 permite escrita por qualquer processo do servidor e abre risco de segurança. O valor recomendado é 0755 para pastas e 0644 para arquivos, ajustando o dono quando necessário.
Um plugin de segurança pode estar bloqueando a gravação do cache?
Sim. Regras de hardening que deixam wp-content somente-leitura, ou o open_basedir restritivo da hospedagem, impedem o WP Rocket de gravar. Revise essas regras ou peça liberação à hospedagem.
Preciso de FTP ou SSH para corrigir esse erro?
Sim, na maioria dos casos. O ajuste de permissão e de dono é feito por SSH ou pelo gerenciador de arquivos da hospedagem; o painel do WordPress sozinho não altera permissões de pasta no servidor.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes