Limpeza da loja

Como libertar espaço no PrestaShop: limpar cache, imagens órfãs e base de dados sem riscos

Com os anos, o PrestaShop acumula caches, imagens de produtos que já não existem, cópias esquecidas e milhões de linhas de estatísticas. Explicamos o que se pode apagar, o que não, como fazê-lo com segurança e como o Limpeza da loja mede e limpa tudo com uma quarentena que pode restaurar.

O problema: o PrestaShop nunca deita nada fora

Uma loja com alguns anos costuma ocupar várias vezes o que precisa. O PrestaShop não apaga o que deixa de usar:

  • Caches compiladas do Smarty e pastas var/cache de outros ambientes.
  • Miniaturas de tipos de imagem que eliminou e imagens de produtos, categorias ou marcas que já não existem.
  • Cópias de segurança do back office e do módulo de atualização.
  • Estatísticas de visitas, ligações e pesquisas de há anos: milhões de linhas.
  • Carrinhos abandonados, convidados sem encomendas, logs e registos de e-mails antigos.

Tudo isso encarece o alojamento, torna as cópias de segurança mais lentas e complica atualizações e migrações. E guardar dados de pessoas sem motivo choca com a minimização de dados do RGPD.

A solução: medir, separar por risco e limpar com rede

1. Faça primeiro uma cópia completa

Ficheiros e base de dados. É a regra número um antes de qualquer limpeza.

2. Meça antes de mexer

Descubra que pastas e tabelas ocupam mais. Por SSH, du -sh nas pastas img, var e cache; na base de dados, o tamanho das tabelas em information_schema. As candidatas habituais são ps_connections, ps_guest, ps_pagenotfound, ps_cart e ps_log.

3. Distinga o que se regenera do que não se regenera

  • Regenera-se: caches, ficheiros temporários e CSS/JS combinados. Podem apagar-se; o PrestaShop volta a criá-los.
  • Não se regenera: imagens, cópias, módulos, clientes e produtos. Antes de os apagar, garanta que não são mesmo usados e que os consegue recuperar.

4. Apague registos com o método do PrestaShop

Um DELETE direto na tabela de clientes ou produtos deixa órfãs as tabelas relacionadas e não avisa os outros módulos. Se apagar registos, faça-o através do PrestaShop.

5. Otimize as tabelas e repita de tempos a tempos

Depois de apagar muitas linhas, otimizar as tabelas devolve espaço ao disco. E convém repetir a limpeza: o lixo volta a acumular-se.

Tudo isto pode fazer-se à mão por FTP e com SQL, mas um ficheiro errado basta para estragar a loja.

Como o Limpeza da loja o ajuda

Limpeza da loja (Shop Cleaner) é o nosso módulo para PrestaShop 1.6.1 a 9.2 (PHP 7.1 a 8.5) que mede tudo, mostra onde vai o espaço e limpa quando decidir:

NecessidadeO que faz o módulo
MedirUma análise que só lê e um painel com gráficos: espaço recuperável, disco por pasta, tabelas maiores e espaço recuperado mês a mês.
FicheirosCaches obsoletas, temporários, logs, miniaturas de tipos eliminados, imagens órfãs e cópias de segurança antigas.
Base de dadosEstatísticas, páginas não encontradas e pesquisas antigas, carrinhos abandonados, convidados anónimos, logs e otimização de tabelas.
Registos e módulosClientes sem encomendas, produtos desativados, regras de carrinho e preços específicos caducados segundo os seus prazos, apagados com o método do PrestaShop; pastas de módulos não instalados.
SegurançaO que não se regenera passa por uma quarentena que repõe cada ficheiro e cada linha no seu lugar (purga aos 30 dias, configurável). Nada se limpa sem a sua confirmação.
Lojas grandesLimpezas por lotes de cerca de 20 segundos, sem esgotar o tempo do servidor.
AcompanhamentoCron semanal opcional que analisa e purga a quarentena caducada, aviso no back office e histórico do que foi limpo.

Instala, analisa e decide: cada categoria diz-lhe o que limpa, o seu risco e quanto liberta.