Prestashop cache statica: Varnish e Nginx
La cache statica davanti a Prestashop trasforma un sito lento in uno rapido. Varnish o Nginx FastCGI cache servono pagine HTML pre-renderizzate, bypassando PHP e MySQL per il 90% delle richieste. Bisogna però' escludere correttamente carrello, checkout e area utente. Vediamo la configurazione.
Varnish vs Nginx FastCGI cache
Varnish e' un reverse proxy specializzato in HTTP caching, con linguaggio VCL flessibile e tasso di hit altissimo. Nginx FastCGI cache e' integrato in Nginx e più' semplice da configurare. Per Plesk consigliamo Nginx FastCGI cache (integrato nativamente) tranne progetti enterprise dove Varnish dà margini extra di tuning.
Esclusioni critiche
Mai cacheare: /cart, /checkout, /my-account, /order, /password-recovery, qualunque URL con utente loggato. La regola e' controllare cookie sessione: se presente, bypass cache. Attenzione anche a Set-Cookie: se la risposta lo include, non cacheare. Per Prestashop bypass quando esistono cookie PrestaShop-* o cart_id.
Procedura passo-passo
- Su Plesk vai in Apache & nginx Settings.
- Aggiungi blocco nginx con fastcgi_cache_path e fastcgi_cache_key.
- Definisci zona cache (es. 256m di RAM, TTL 1h).
- Configura skip cache per pattern URL e cookie PrestaShop.
- Aggiungi header X-Cache-Status per debug.
- Salva e ricarica Nginx.
- Esegui curl con verbose e verifica X-Cache-Status: HIT/MISS.
- Test funzionale carrello: deve rimanere coerente, non cacheato.
- Implementa purge manuale via API o tool come ngx_cache_purge.
- Monitora hit ratio: deve superare 80%.
Errori comuni e come risolverli
- Carrello condiviso tra utenti: cache non rispetta cookie; aggiungi cookie nel cache_key bypass.
- Login mostra pagina anonima: stessa causa; bypass cache se cookie auth presente.
- Cache stantia dopo edit prodotto: implementa purge endpoint chiamato post-save.
- Set-Cookie cacheato: rispetta header upstream o disabilita cache su risposte con cookie.
Domande frequenti
D: Quanto migliora il TTFB?
R: Da 800-1500ms a 50-150ms tipicamente.
D: Funziona con multi-shop?
R: Sì, includi domain nel cache_key per non mixare cache.
D: Cloudflare sostituisce Varnish?
R: Cloudflare e' edge, Varnish/Nginx sono origin; complementari.
Hai bisogno di aiuto?
Se vuoi un Prestashop performante curato dal team di G Tech Group, scrivici tramite il modulo di contatto.