Prestashop cache statica: Varnish e Nginx

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

  1. Su Plesk vai in Apache & nginx Settings.
  2. Aggiungi blocco nginx con fastcgi_cache_path e fastcgi_cache_key.
  3. Definisci zona cache (es. 256m di RAM, TTL 1h).
  4. Configura skip cache per pattern URL e cookie PrestaShop.
  5. Aggiungi header X-Cache-Status per debug.
  6. Salva e ricarica Nginx.
  7. Esegui curl con verbose e verifica X-Cache-Status: HIT/MISS.
  8. Test funzionale carrello: deve rimanere coerente, non cacheato.
  9. Implementa purge manuale via API o tool come ngx_cache_purge.
  10. 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.

Hai trovato utile quest'articolo?