Porque é que o seu PrestaShop está lento: diagnóstico em 15 minutos
Antes de mudar de alojamento ou comprar um módulo de cache, meça. Com estas verificações vai saber num quarto de hora para onde vai o tempo.
«A loja está lenta» pode querer dizer coisas muito diferentes: que o servidor demora a responder, que a página pesa demasiado ou que o navegador encrava a executar JavaScript. Cada uma tem uma solução diferente, por isso o primeiro passo é separar.
1. Tempo de servidor face a tempo de navegador
Abra as ferramentas de programador do navegador (F12), separador Rede, e recarregue a página. Veja o primeiro pedido, o do documento HTML:
- Se o tempo de espera (TTFB) ultrapassar os 800 ms, o problema está no servidor: PHP, base de dados ou módulos.
- Se o HTML chega depressa mas a página demora a aparecer, o problema está no que se descarrega depois: imagens, CSS, JavaScript, tipos de letra ou scripts de terceiros.
2. Se o servidor é lento
- Versão do PHP. O PHP 8.x é bastante mais rápido do que o 7.x. Verifique qual usa o seu alojamento e se o OPcache está ativo.
- Modo de depuração. Com
_PS_MODE_DEV_ativado o PrestaShop fica muito mais lento. Nunca em produção. - Cache do Smarty desativada ou «Forçar compilação» ativada em Desempenho.
- Módulos. O perfilador do modo de depuração (
_PS_DEBUG_PROFILING_) mostra quanto demora cada hook. Um único módulo que consulta uma API externa emdisplayHeaderpode acrescentar um segundo a cada página. - Base de dados. Tabelas de estatísticas e de ligações com milhões de linhas tornam as consultas mais lentas.
3. Se o navegador é lento
- Imagens não otimizadas: formatos modernos (WebP, AVIF) e tamanhos adequados.
- Scripts de terceiros: chats, píxeis, mapas de calor. Cada um soma. Carregue-os depois do consentimento e só nas páginas onde fazem falta.
- CSS e JS não combinados: ative «Smart cache» para CSS e JavaScript em Desempenho e confirme depois que nada se estraga.
- Tipos de letra carregados a partir de serviços externos: melhor alojá-los no seu próprio servidor.
4. Meça com dados reais
O PageSpeed Insights dá-lhe duas coisas: dados de laboratório (um teste pontual) e, se a sua loja tiver tráfego suficiente, dados de campo de utilizadores reais do Chrome. Os segundos são os que contam para a Google.
5. E depois, decida
Se depois de tudo isto o TTFB continuar alto com a cache bem configurada e sem módulos pesados, então sim: é altura de falar do alojamento. Mas, pela nossa experiência, a maioria das lojas lentas é lenta por causa de dois ou três módulos e de imagens não otimizadas, não por causa do servidor.