Desempenho e monitorização
Conselhos para acelerar o PrestaShop e melhorar o seu desempenho
O PrestaShop funciona com agilidade acabado de instalar, mas, à medida que o catálogo e as visitas crescem, pode tornar-se lento. Com alguns ajustes no painel de administração ganha-se muita velocidade e reduz-se o consumo de recursos.
Quase todas as definições estão em Advanced Parameters > Performance (Parâmetros avançados > Desempenho). Depois de cada alteração, navegue pela loja (página inicial, categorias, ficha de produto, carrinho e pagamento) para confirmar que tudo continua a funcionar.
Versão de PHP e OPcache
Use a versão de PHP mais alta que a sua versão do PrestaShop suporte:
| PrestaShop | PHP recomendado |
|---|---|
| 1.7.8 | 7.4 |
| 8.x | 8.1 |
| 9.0 | 8.4 |
| 9.1 ou superior | 8.5 |
Altere-a no seletor de PHP do cPanel e, no mesmo ecrã, verifique se a extensão opcache está ativada. Se tiver módulos antigos, confirme que a loja funciona após a alteração; se algo falhar, volte à versão anterior no mesmo seletor.
Smarty: o motor de modelos
O Smarty gera as páginas a partir dos modelos do tema. Uma configuração de desenvolvimento esquecida em produção é uma causa muito habitual de lentidão: obriga a recompilar os modelos em cada visita.
Em Advanced Parameters > Performance, bloco Smarty, deixe-o assim:
- Template compilation (compilação de modelos): Never recompile template files (nunca recompilar os ficheiros dos modelos).
- Cache: Yes.
- Caching type (tipo de cache): File System (sistema de ficheiros).
- Clear cache (limpar a cache): Never clear cache files (nunca limpar os ficheiros da cache).

Com esta configuração, se modificar o tema ou um módulo e não vir a alteração, clique em Clear cache (no canto superior direito da mesma página). Se for fazer muitas alterações de design seguidas, escolha temporariamente Force compilation (forçar a compilação) e volte a Never recompile template files no fim.
CCC: combinação, compressão e cache
No bloco CCC (Combine, Compress and Cache) da mesma página, o PrestaShop combina e comprime os CSS e JavaScript do tema para que a página pese menos e faça menos pedidos:
- Smart cache for CSS («Smart cache» para as folhas de estilo): Yes.
- Smart cache for JavaScript («Smart cache» para o código JavaScript): Yes.
- Apache optimization (otimização do Apache): No. Os nossos servidores usam LiteSpeed e a compressão e a cache do navegador já estão configuradas no servidor.

No PrestaShop 1.6 verá também Move JavaScript to the end (mover o JavaScript para o fim): ative-o também.
O tema e os módulos têm de ser compatíveis com estas opções. Se, depois de as ativar, algo deixar de funcionar (um menu, um filtro, o carrinho), desative-as uma a uma até encontrar a que dá problemas.
Sistema de cache
No bloco Caching:
- Use cache (utilizar a cache): Yes.
- Caching system (sistema de cache): CacheApc.

Para que o CacheApc funcione, a extensão apcu tem de estar ativada no seletor de PHP. Se a opção aparecer a cinzento ou o PrestaShop mostrar um erro ao guardar, ative-a aí e tente novamente.
Cache de página com o LiteSpeed Cache
Para dar o maior salto de velocidade, instale o módulo LiteSpeed Cache para PrestaShop: guarda as páginas já geradas e serve-as diretamente a partir do servidor web, sem executar PHP em cada visita. Explicamo-lo passo a passo em acelerar o PrestaShop com o LiteSpeed Cache.
Não o combine com outro módulo de cache de página: use apenas um.
CDN para imagens, CSS e JavaScript
Servir os ficheiros estáticos a partir de uma CDN ou de um servidor de multimédia alivia a carga da loja. Tem a explicação em servidores de multimédia e CDN no PrestaShop.
Geolocalização
A geolocalização verifica o país de cada visitante em cada acesso, o que acrescenta trabalho a todas as páginas e pode provocar erros. Se não precisar dela para restringir países ou mostrar preços por zona, desative-a em International > Localization > Geolocation (no PrestaShop 1.6, Preferences > Geolocation).
Temos um artigo sobre um dos problemas que causa: erro 503 Overloaded no PrestaShop.
Módulos de estatísticas
Visits and Visitors (visitas e visitantes) e Visitors online (visitantes online) vêm ativos por predefinição. Registam cada visita na base de dados, que não para de crescer, e a informação que dão é muito básica.
Se usa o Google Analytics, o Matomo ou outra ferramenta externa, desative ambos em Modules > Module Manager: procure cada um pelo nome e escolha Disable no seu menu.
Se continuar lenta
Se, depois destes ajustes, alguma página continuar a demorar, analise-a com o PHP X-Ray: indicará que módulo, função ou consulta SQL consome o tempo. É habitual que seja um único módulo mal programado.
Também lhe pode ser útil
- Acelerar e otimizar o WordPress e o WooCommerce passo a passo Guia completo para acelerar o WordPress e o WooCommerce - PHP e OPcache, cron, LiteSpeed Cache confi...
- Consultas SQL para limpar dados órfãos e purgar a base de dados do WordPress Limpe dados órfãos, revisões e transientes do WordPress com consultas verificadas, cópia recuperável...
- Diagnosticar consultas LEFT JOIN lentas no WordPress Analise consultas lentas de taxonomias com LEFT JOIN, compare planos e alternativas numa cópia e evi...
- Melhorar o desempenho da base de dados do WordPress com o Index WP MySQL For Speed Avalie índices do WordPress com o Index WP MySQL For Speed, reveja as alterações antes de as aplicar...
Algo não bate certo ou mudou? Diga-nos e revemos.