🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como recuperar o site após a otimização de banco do WP Rocket

Time Full Services Time Full Services
Tipo Performance & Velocidade
Nome do erro Otimização de banco do WP Rocket corrompeu o site EN: WP Rocket database optimization broke the site
Severidade Crítico
Descrição Database Optimization do WP Rocket é a limpeza de banco que apaga revisões, rascunhos, comentários de spam e transientes de forma permanente. A própria documentação avisa que, depois de executada, não há como desfazer, então conteúdo apagado por engano ou tabelas que quebraram só voltam com a restauração de um backup.

O que é o Database Optimization do WP Rocket que corrompeu o site?

O Database Optimization é o recurso do WP Rocket, na aba Banco de dados das configurações, que remove dados acumulados do WordPress para reduzir o tamanho das tabelas: revisões de posts, rascunhos automáticos, posts e comentários na lixeira, comentários de spam e transientes. O problema entra em cena porque cada uma dessas opções faz um DELETE direto no banco, sem etapa de confirmação granular e sem backup automático. A documentação oficial é explícita: faça backup do banco antes de rodar a limpeza, porque uma vez executada não existe forma de desfazer. Quando alguém marca todas as opções e executa, ou deixa a limpeza agendada rodando sozinha, revisões que eram a única cópia de um texto, rascunhos que ainda seriam publicados ou registros que outros plugins guardavam em tabelas próprias podem sumir. Se o banco não tinha um backup recente, a recuperação não é uma configuração do WP Rocket: é restaurar a tabela ou o banco inteiro a partir de uma cópia anterior.

Como identificar

  • Posts, páginas ou rascunhos que existiam sumiram do painel logo após você clicar em Otimizar na aba Banco de dados do WP Rocket.
  • O histórico de revisões de um post ficou vazio e você perdeu uma versão de texto que só existia como revisão.
  • O site exibe Erro ao estabelecer conexão com o banco de dados ou uma tabela retorna Table is marked as crashed depois da otimização.
  • Dados de plugins que gravam em tabelas próprias (formulários, pedidos, logs) desapareceram após a limpeza agendada rodar sozinha durante a madrugada.
Antes de começar: Importar um backup substitui o banco inteiro pelo conteúdo do arquivo. Sempre exporte o estado atual antes de restaurar, para ter um ponto de retorno caso a importação falhe no meio.

Como prevenir

  • Faça um backup completo do banco imediatamente antes de qualquer limpeza, como a própria documentação do WP Rocket recomenda
  • Deixe a limpeza Agendada desligada ou só ligue depois de confirmar que existe uma rotina de backup automático diária e testada
  • Marque uma opção por vez na otimização e verifique o site entre cada execução, em vez de marcar todas e rodar de uma só vez
  • Limite revisões pelo wp-config em vez de apagá-las em massa, mantendo um histórico controlado sem precisar de limpeza destrutiva

Causa

  • A opção Revisões foi marcada e apagou revisões que eram a única cópia de um texto, já que o WP Rocket remove todas as linhas de tipo revision sem confirmar quais ainda interessam.
  • A limpeza foi deixada Agendada (diária, semanal ou mensal) e rodou sozinha via WP-Cron sem ninguém acompanhar, apagando rascunhos e revisões criados entre uma execução e outra.
  • A opção Otimizar tabelas rodou um OPTIMIZE TABLE que, em uma tabela já com cabeçalho corrompido, deixou a tabela marcada como crashed em vez de compactá-la.
  • Não havia backup recente do banco quando a limpeza foi executada, contrariando o aviso da própria documentação do WP Rocket de fazer backup antes de qualquer cleanup.
  • Um plugin de terceiros guardava informação útil em entradas que o WordPress trata como rascunho automático ou transiente, e a limpeza de Auto Drafts ou Transientes apagou esses registros junto.

Como resolver

  1. Pare a limpeza agendada antes de qualquer coisa: abra as configurações do WP Rocket, vá na aba de banco de dados e desative o agendamento da limpeza automática. Isso impede que uma nova execução apague ainda mais dados enquanto você recupera o que já foi perdido.
  2. Confirme o que foi apagado e localize um backup anterior: verifique no painel quais conteúdos sumiram e procure a cópia de banco mais recente anterior à limpeza, no seu plugin de backup ou no painel da hospedagem. Como a otimização é irreversível, o backup é a única origem real dos dados perdidos.
    wp db check
  3. Faça um backup do estado atual antes de restaurar: exporte o banco como está agora, mesmo quebrado, para ter um ponto de retorno caso a restauração falhe no meio. Restaurar por cima sem essa cópia transforma um problema recuperável em perda definitiva.
    wp db export estado-atual-antes-de-restaurar.sql
  4. Restaure o banco a partir do backup anterior à otimização: importe o arquivo de backup por cima do banco atual usando o WP-CLI ou o phpMyAdmin da hospedagem. Os posts, revisões e registros voltam exatamente como estavam no momento daquela cópia.
    wp db import backup-antes-da-otimização.sql
  5. Se foi só uma tabela que ficou corrompida, repare em vez de restaurar tudo: quando o erro é uma única tabela marcada como crashed e não dados apagados, rode o reparo nativo do MySQL antes de recorrer ao backup completo. Isso evita perder alterações feitas em outras tabelas depois do backup.
    wp db repair
    mysqlcheck -r -u USUÁRIO -p NOME_DO_BANCO
  6. Valide o site e refaça a otimização com segurança: confira se o conteúdo voltou, limpe o cache do WP Rocket e só então rode a otimização de novo, desta vez com um backup feito segundos antes e marcando apenas as opções que você entende. Nunca deixe Revisões agendada sem uma rotina de backup confiável.
BASH
# Recuperacao do banco apos a otimizacao do WP Rocket (via WP-CLI, na raiz do site)

# 1. Salve o estado atual ANTES de restaurar (ponto de retorno se a importacao falhar)
wp db export estado-atual-antes-de-restaurar.sql --add-drop-table

# 2. Restaure o banco a partir do backup anterior a otimizacao
wp db import backup-antes-da-otimizacao.sql

# 3. Se foi apenas UMA tabela marcada como crashed, repare em vez de restaurar tudo
wp db repair
mysqlcheck --repair --user=USUARIO --password NOME_DO_BANCO wp_posts

# 4. Valide a integridade e limpe o cache antes de voltar ao ar
wp db check
wp rocket clean --confirm

Perguntas frequentes

É possível desfazer a otimização de banco do WP Rocket?
Não. A documentação oficial do WP Rocket afirma que, uma vez executada a otimização, não há como desfazer. Os dados apagados (revisões, rascunhos, comentários) só voltam restaurando o banco a partir de um backup feito antes da limpeza.
O WP Rocket faz backup automático antes de otimizar o banco?
Não. O WP Rocket apenas avisa para você fazer o backup do banco antes de rodar a limpeza, mas não cria essa cópia sozinho. Por isso a recuperação depende de você já ter um backup recente do banco em outro lugar.
Perdi revisões de um post, como recupero o texto?
Se a revisão era a única cópia daquele texto, ela só volta restaurando o banco de um backup anterior à otimização. Sem backup, o conteúdo da revisão apagada não pode ser recuperado, porque a limpeza removeu a linha definitivamente da tabela de posts.
A otimização de tabelas do WP Rocket pode corromper o banco?
O OPTIMIZE TABLE em si é uma operação padrão do MySQL, mas se ele roda sobre uma tabela que já estava com o cabeçalho danificado, a tabela pode terminar marcada como crashed. Nesse caso o reparo nativo do MySQL costuma resolver sem precisar restaurar todo o banco.
Por que dados sumiram se eu nem cliquei em otimizar?
Quase sempre porque a limpeza estava Agendada para rodar automaticamente, diária, semanal ou mensal, via WP-Cron. Ela executou sozinha em segundo plano e apagou rascunhos, revisões e transientes criados entre uma execução e outra.
Restaurar o backup vai apagar o conteúdo que criei depois da limpeza?
Sim, importar um backup substitui o banco inteiro pelo estado daquela cópia, então alterações feitas depois se perdem. Por isso o passo certo é exportar o estado atual antes de restaurar, para conseguir mesclar manualmente o que for necessário.
Como evito esse problema sem deixar de usar a otimização?
Mantenha um backup automático diário e testado, deixe a limpeza agendada desligada e marque uma opção por vez, verificando o site entre cada execução. Para revisões, prefira limitar a quantidade pelo wp-config em vez de apagar tudo de uma vez.

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