Um site com alguns anos carrega uma base de dados cheia de coisas que ninguém lê: uma revisão de cada vez que um texto foi gravado, comentários de spam de 2021, opções de plugins apagados há muito. Limpar isso não faz milagres, mas dá um ganho real e liberta espaço.
|
Isto apaga dados a sério e não há desfazer. Faça duas cópias antes do primeiro comando: uma pelo painel (como restaurar os seus dados) e uma exportação da base a partir do próprio phpMyAdmin, na aba Exportar. Guarde a exportação fora do servidor.
|
O que enche uma base de dados
| O que é |
Porque se acumula |
| Revisões de textos |
Cada vez que grava uma página, o WordPress guarda a versão anterior inteira. Uma página editada cinquenta vezes são cinquenta cópias dela na base. |
| Rascunhos automáticos e lixo |
O que ficou por publicar e o que foi para o lixo e nunca de lá saiu. |
| Comentários de spam |
Marcados como spam mas não apagados. Num site antigo chegam aos milhares. |
| Transitórios expirados |
Dados guardados por plugins para não repetirem trabalho. Deviam desaparecer sozinhos e muitas vezes não desaparecem. |
| Sobras de plugins apagados |
Opções, tabelas inteiras e metadados que ficam depois de apagar o plugin pelo painel. |
| Metadados órfãos |
Linhas ligadas a textos e usuários que já não existem. |
A limpeza sem riscos: optimizar as tabelas
Isto não apaga nada: arruma. Depois de muitas escritas e apagamentos, as tabelas ficam com espaço morto lá dentro, e a optimização reconstrói-as.
| 1 |
No cPanel abra o phpMyAdmin e escolha a base do site na lista da esquerda. Se não souber qual é, descubra-a primeiro.
|
|
| 2 |
Em baixo da lista de tabelas, carregue em Marcar todas.
|
|
| 3 |
Na caixa ao lado, escolha Optimizar tabela e confirme.
|
|
|
Se aparecer uma nota a dizer que a tabela não suporta optimização, está tudo bem. As tabelas modernas do MySQL respondem isso e reconstroem-se na mesma. Não é erro e não é preciso fazer mais nada.
|
A limpeza a sério: apagar o que sobra
Estes comandos correm na aba SQL do phpMyAdmin, um de cada vez. Troque o wp_ pelo prefixo das suas tabelas, que vê na lista da esquerda.
| O que apaga |
O comando |
| As revisões |
DELETE FROM wp_posts WHERE post_type = 'revision'; |
| Os rascunhos automáticos |
DELETE FROM wp_posts WHERE post_status = 'auto-draft'; |
| Os comentários de spam e do lixo |
DELETE FROM wp_comments WHERE comment_approved IN ('spam','trash'); |
| Os transitórios |
DELETE FROM wp_options WHERE option_name LIKE '%_transient_%'; |
| Os metadados órfãos |
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts p ON p.ID = pm.post_id WHERE p.ID IS NULL; |
|
Confirme o prefixo antes de cada comando. Se a base servir dois sites com prefixos diferentes, correr um destes comandos com o prefixo errado apaga conteúdo do outro site. E se não tem a certeza do que um comando faz, comece por trocar o DELETE por SELECT * para ver primeiro quantas linhas é que ele apanha.
|
O que pesa em todas as páginas
Há uma coisa na base que é lida em cada pedido, e por isso vale mais do que todo o resto junto: as opções marcadas para carregamento automático. Um plugin mal feito guarda lá dentro coisas enormes, e elas continuam sendo lidas mil vezes por dia mesmo depois de o plugin desaparecer.
Para ver as maiores, corra na aba SQL:
SELECT option_name, LENGTH(option_value) AS tamanho FROM wp_options WHERE autoload = 'yes' ORDER BY tamanho DESC LIMIT 20;
Se alguma das primeiras linhas tiver o nome de um plugin que já não usa, é lixo e pode sair. Se não reconhecer o nome, deixe estar e pergunte a quem fez o site: uma opção apagada à sorte pode partir uma funcionalidade inteira.
Evitar que volte a encher
Limpar uma vez resolve hoje. Estas duas linhas no wp-config.php, por cima da que diz para parar de editar, resolvem para o ano que vem:
| 1 |
define( 'WP_POST_REVISIONS', 5 ); guarda as cinco últimas revisões de cada texto em vez de todas.
|
|
| 2 |
define( 'EMPTY_TRASH_DAYS', 7 ); esvazia o lixo ao fim de uma semana em vez de trinta dias.
|
|
|
E apague os plugins que não usa, não basta desactivá-los. Um plugin desactivado continua ocupando espaço na base com as opções dele, e continua sendo uma porta por remendar: proteger a entrada do WordPress.
|
Quando isto não é a solução
Vale a pena dizer para poupar trabalho: limpar a base raramente transforma um site lento num site rápido. As mudanças que dão mais retorno são outras, e estão por ordem em o site está lento: o que faz mesmo diferença. Se o que quer é libertar arquivos e espaço na conta, o caminho é os limites que não vêm no anúncio.