PS PrestaShop Intermedio

DataFirefly Speed Pack — Documentazione

Installare, configurare e gestire la cache di pagina, il Critical CSS e l'ottimizzazione avanzata di Speed Pack su PrestaShop 8 e 9.

Aggiornato Versione del modulo 1.0.0

DataFirefly Speed Pack riunisce in un unico modulo la cache di pagina completa, il Critical CSS, la minificazione e combinazione delle risorse, il Delay JS, il lazy loading nativo, i resource hints, la riscrittura CDN, le direttive server e la pulizia del database. Questa guida copre l’installazione, l’avvio e ogni scheda di configurazione.

Requisiti e compatibilità

  • PrestaShop 8.0 a 9.x
  • PHP 7.2 a 8.3
  • Accesso in scrittura alla cartella di cache e, per le direttive server, al file htaccess radice
  • Multinegozio e multilingua supportati

Speed Pack è complementare ai moduli DataFirefly Core Web Vitals e WebP AVIF Pro: non duplica né la conversione delle immagini né le ottimizzazioni già fornite da quei moduli.

Installazione

  1. Caricate l’archivio da Moduli > Gestore moduli > Carica un modulo, oppure copiate la cartella datafireflyspeedpack nella directory modules/.
  2. Cliccate su Installa.
  3. Aprite la configurazione del modulo. Un token di precaricamento viene generato automaticamente e mostrato nella scheda Dashboard.

Avvio rapido

Per un’attivazione sicura, abilitate le opzioni in quest’ordine e verificate il rendering a ogni passo:

  1. Abilitate solo la cache di pagina. Navigate una pagina di categoria in una finestra privata: il primo caricamento restituisce l’header X-DfSpeedPack-Cache: MISS, il ricaricamento restituisce HIT.
  2. Abilitate la minificazione HTML/CSS/JS e il defer.
  3. Abilitate il lazy load delle immagini (proteggendo l’immagine LCP, vedi sotto).
  4. Abilitate il Critical CSS e poi il CSS asincrono.
  5. Abilitate il Delay JS.
  6. Per ultima, e solo dopo una verifica visiva, abilitate la combinazione CSS/JS.

In Parametri avanzati > Prestazioni, disattivate l’ottimizzazione CSS/JS nativa (CCC) e lasciate che Speed Pack gestisca minificazione e combinazione. Il modulo rileva questo conflitto e lo segnala nella Dashboard.

Cache di pagina

La cache di pagina serve l’HTML memorizzato molto presto, tramite l’hook actionDispatcherBefore, prima dell’istanziazione del controller e prima delle query prodotti. La chiave di cache varia per negozio, lingua, valuta e dispositivo.

Ambito

Vengono memorizzate in cache solo le pagine ospiti con carrello vuoto. Il rilevamento del cliente collegato e del carrello avviene il prima possibile tramite il cookie. Nessuna pagina di cliente collegato viene mai servita dalla cache.

Controller cacheabili

La whitelist dei controller (uno per riga) determina le pagine idonee: per esempio index, category, product, cms, manufacturer. Rimuovete un controller per escluderlo completamente dalla cache.

Esclusioni

  • URL: sottostringhe, una per riga.
  • Cookie: la presenza di uno di questi cookie disattiva la memorizzazione in cache.
  • User-Agent: agenti esclusi.
  • Parametri URL ignorati: i parametri di tracciamento (utm, fbclid, gclid…) vengono rimossi dalla chiave per evitare la frammentazione della cache.

Durata e invalidazione

La durata è configurabile (0 = fino alla pulizia manuale). L’invalidazione è automatica a ogni modifica di prodotto, categoria, pagina CMS, produttore, fornitore o stock. Potete anche svuotare la cache in qualsiasi momento dal pulsante dedicato.

CSS

  • Minificazione del CSS inline e combinato.
  • Combinazione dei fogli locali in un unico file, con riscrittura dei percorsi relativi nelle regole url().
  • CSS asincrono: i fogli vengono caricati tramite preload e poi onload per eliminare il CSS bloccante.

Critical CSS

Incollate il vostro CSS above-the-fold per tipo di pagina nei campi dedicati. Viene iniettato inline nell’head, mentre il resto viene caricato in modo asincrono. Il campo * è il ripiego per ogni pagina senza regola specifica.

Abilitate il CSS asincrono insieme al Critical CSS per evitare qualsiasi lampo di contenuto senza stile (FOUC).

JavaScript

  • Minificazione del JS inline e combinato.
  • Combinazione dei file JS locali.
  • Defer automatico degli script.

Delay JS

Il Delay JS rinvia l’esecuzione degli script fino alla prima interazione dell’utente (scroll, clic, tasto, movimento del mouse o tocco), con un ripiego temporizzato. È il guadagno maggiore su TBT e sul punteggio mobile.

  • Includi solo: se compilato, vengono ritardati solo gli script che contengono queste parole chiave.
  • Escludi: parole chiave degli script da non ritardare mai (es. jquery, core).
  • Aggiungete l’attributo data-df-nodelay a un tag script per escluderlo singolarmente.

Media

Il lazy loading nativo aggiunge gli attributi loading=lazy e decoding=async alle immagini, e loading=lazy agli iframe.

Proteggete la vostra immagine LCP (visual hero, prima immagine visibile) aggiungendole l’attributo data-no-lazy o inserendola nelle esclusioni. Altrimenti il lazy load può degradare l’LCP.

Resource hints

  • Preconnect e DNS-prefetch: una URL per riga, per i domini di terze parti (font, analytics, CDN).
  • Preload: in formato url|tipo (es. /img/hero.webp|image). Tipi possibili: image, font, style, script. Precaricate la vostra immagine LCP e i font critici.
  • font-display swap: iniettato nelle regole dei font inline per evitare il testo invisibile.

CDN

La riscrittura CDN sostituisce l’host locale delle risorse statiche con il vostro dominio CDN. Inserite la URL del CDN, poi i pattern (espressioni regolari) inclusi ed esclusi, uno per riga. Vengono riscritte solo le risorse locali che corrispondono ai pattern inclusi.

Server (htaccess)

Speed Pack può scrivere direttive server tra marcatori dedicati nel file htaccess radice:

  • Compressione GZIP / Brotli
  • Cache del browser per le risorse (un anno, immutable)
  • Connection Keep-Alive

Le direttive vengono rimosse automaticamente alla disinstallazione. Se il file non è scrivibile, viene mostrato un avviso.

Se il vostro server attiva già la compressione (ad esempio tramite la configurazione del server web), non è necessario duplicarla qui.

Database

La pulizia elimina i carrelli abbandonati (senza ordine, oltre il numero di giorni configurato) e le relative righe orfane, le connessioni e gli ospiti vecchi, nonché le statistiche di ricerca e i log vecchi.

Gli ordini non vengono mai toccati. Effettuate comunque un backup del database prima della prima pulizia.

Preriscaldamento della cache

Il preriscaldamento raccoglie le URL dalla vostra sitemap e poi preriscalda la cache, in modo che i vostri visitatori ricevano sempre una pagina in HIT.

Dal back-office

Scheda Dashboard: cliccate su Raccogli URL e poi su Preriscalda. Una barra di avanzamento segue il progresso per lotti.

Tramite attività CRON

Automatizzate la raccolta e il preriscaldamento dopo ogni svuotamento notturno. Il token è mostrato nella Dashboard.

curl -s "https://vostro-negozio/module/datafireflyspeedpack/preload?action=collect&token=VOSTRO_TOKEN"
curl -s "https://vostro-negozio/module/datafireflyspeedpack/preload?action=warm&token=VOSTRO_TOKEN"

Attributi di controllo nel tema

  • data-no-lazy — disattiva il lazy load su un’immagine o un iframe (immagine LCP).
  • data-df-nodelay — esclude un tag script dal Delay JS.
  • data-df-nodefer — esclude un tag script dal defer.
  • data-df-nooptim — esclude un blocco o un link dalla minificazione e dalla combinazione.

Importazione / esportazione delle impostazioni

Dalla scheda Avanzato, esportate tutte le impostazioni in formato JSON per replicarle su un altro negozio, o importate un file esistente.

Risoluzione dei problemi

Una pagina resta in MISS

Verificate di navigare come ospite (disconnesso, carrello vuoto), che il controller sia nella whitelist, che la URL non sia esclusa e che non sia presente alcun cookie di esclusione. I dipendenti collegati al back-office non ricevono mai una pagina in cache.

Un layout si rompe dopo l’attivazione della combinazione

Disattivate la combinazione CSS/JS, o aggiungete il file problematico alle esclusioni corrispondenti. La combinazione è disattivata di default di proposito.

Testo senza stile al caricamento (FOUC)

Attivate o completate il Critical CSS della pagina interessata, e assicuratevi che il CSS asincrono sia attivato.

Uno script non funziona più con il Delay JS

Aggiungete la sua parola chiave alla lista di esclusione del Delay JS, o l’attributo data-df-nodelay sul tag.

Disinstallazione

La disinstallazione rimuove le direttive htaccess, svuota le cache ed elimina le impostazioni e la scheda di amministrazione del modulo.

Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza