Performance Revolution: configurazione e aiuto
Avvio rapido
- Carica e installa lo ZIP in Moduli > "Module Manager", poi apri Prestazioni > Impostazioni.
- Scegli Backend cache e verifica l'endpoint Redis effettivo o un altro adattatore disponibile.
- Controlla Cache globale e "Front Office" in "Cache" > Panoramica.
- Esamina Caching dei frammenti, Cache delle query, Ottimizzazione risorse e Immagini, poi salva la configurazione iniziale.
- Se usi la cache delle pagine complete, attiva Attiva la cache delle pagine di origine e controlla Header di diagnostica su un URL anonimo pulito.
- Richiedi la pagina due volte, poi verifica in sessioni separate che carrello, accesso, account e checkout escludano l'HTML anonimo condiviso.
- Configura separatamente CDN e riscaldamento pianificato se necessario, controllando stato di configurazione e risultati del runner.
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Manuale di configurazione
Installare e stabilire una situazione iniziale
Carica lo ZIP in Moduli > "Module Manager", installalo e fai clic su "Configure". Il menu del back office è Prestazioni, con Pannello di controllo, "Cache", Risorse, Query, "Backup", Impostazioni e Controllo sistema.
Prima di attivare altri livelli, annota il comportamento di homepage, categoria, prodotto, carrello, account e checkout. Prova sia in un browser cliente sia in un browser dipendente. Seleziona il negozio desiderato e salva una copia della configurazione prima di modificare la cache del core o le regole CDN.
Inizia da Impostazioni > Backend cache. Il processo PHP deve poter scrivere nelle directory della cache PrestaShop e delle risorse generate. L'installazione della cache oggetti Redis di PrestaShop richiede anche accesso alla classe cache del core interessata e ai file di configurazione. Le azioni Cloudflare richiedono un token autorizzato per la zona selezionata e le operazioni richieste.
Selezionare backend e ambiti della cache
| Impostazione | Predefinito | Cosa impostare |
|---|---|---|
| Backend cache | auto |
Seleziona "Auto", Redis, APCu o "File" per il gestore cache del modulo. "Auto" sceglie un backend disponibile e supportato. |
| TTL predefinito della cache | 3600 secondi |
Durata predefinita delle voci del modulo. |
| Host Redis | 127.0.0.1 |
Valore portabile predefinito del modulo. La configurazione Redis esistente di PrestaShop può influire sull'endpoint effettivo; controllane l'origine visualizzata. |
| Porta Redis | 6379 |
Porta TCP Redis. |
| Password Redis | Vuoto | Password di autenticazione quando richiesta. |
| Database Redis | 0 |
Indice del database. |
| Prefisso Redis | mpr_perf: |
Prefisso delle chiavi del modulo. |
| Timeout di connessione a Redis | 0.25 secondi |
Timeout di connessione. |
| Timeout di lettura Redis | 0.5 secondi |
Timeout di lettura. |
| Cache oggetti PrestaShop (Redis) | Impostazione core esistente | Controllo separato della cache oggetti del core PrestaShop tramite MPRCacheRedis. Legge la configurazione core anziché un valore fisso del modulo. |
Salva e controlla l'adattatore selezionato in Pannello di controllo. Se Redis non si connette, verifica hostname, porta, autenticazione, database e supporto Redis di PHP. Non presumere che scegliere il backend del modulo attivi anche la cache oggetti del core.
Apri "Cache" > Panoramica per gli interruttori Cache globale, "Front Office", Pannello di amministrazione e "Webservice". Sono attivi per impostazione predefinita. L'interruttore globale controlla l'uso della cache del modulo, quelli di ambito limitano i relativi contesti di richiesta.
Usa "Cache" > Livelli per controllare i livelli, "Browser" per esaminare le voci, Pagine per i dati della cache pagine e Preset per i preset disponibili. Leggi un preset prima di applicarlo perché modifica più impostazioni insieme.
Configurare frammenti e query
Apri Impostazioni > Caching dei frammenti.
| Impostazione | Predefinito | Effetto |
|---|---|---|
| Attiva la cache dei frammenti | Attivo | Attiva i frammenti Smarty contrassegnati esplicitamente. Non avvolge automaticamente ogni sezione del tema. |
| TTL predefinito | 3600 secondi |
Durata se un frammento non specifica il proprio TTL. |
Uno sviluppatore può memorizzare un frammento di categoria includendone l'identità:
{mpr_cache id="category_products" ttl=3600 tags=["product","category"] vary=["category" => $category.id]}
{foreach from=$products item=product}
{include file='catalog/_partials/miniatures/product.tpl' product=$product}
{/foreach}
{/mpr_cache}
La chiave cache include lingua, negozio, valuta e gruppo clienti predefinito, a meno che l'inclusione del contesto sia disattivata. Aggiungi a vary ogni altro valore che influisce sul frammento. Non inserire markup specifico del cliente in un frammento condiviso senza adeguata variazione o sostituzione dinamica.
Usa segnaposto dinamici per i valori supportati della richiesta corrente:
<span class="cart-count">{mpr_dynamic name="cart_count"}</span>
<span class="cart-total">{mpr_dynamic name="cart_total"}</span>
<span class="customer-name">{mpr_dynamic name="customer_name" default=""}</span>
<span class="csrf-token">{mpr_dynamic name="csrf_token"}</span>
I nomi supportati comprendono anche valori di cliente, lingua, valuta e negozio. Un provider personalizzato può usare actionMPRDynamicContent:
public function hookActionMPRDynamicContent($params)
{
if (($params['name'] ?? '') === 'loyalty_points') {
return (string) $this->getCurrentCustomerPoints();
}
return $params['default'] ?? '';
}
Apri Impostazioni > Cache delle query.
| Impostazione | Predefinito | Effetto |
|---|---|---|
| Attiva la cache delle query | Attivo | Attiva la cache supportata dei risultati delle query. |
| Precaricamento delle query SQL | Disattivo | Modalità opzionale di prefetch delle richieste. Lasciala disattivata alla prima configurazione; verifica la modalità scelta rispetto al carico di query. |
| Attiva la profilazione delle query | Disattivo | Raccoglie i tempi di esecuzione delle query. |
| Soglia query lenta | 0.1 secondi |
Soglia per segnalare query lente. |
| TTL della cache delle query | 300 secondi |
Durata dei risultati delle query in cache. |
Usa Query per esaminare le query raccolte. Attiva la profilazione durante la diagnosi, poi valutane il sovraccarico prima di mantenerla attiva.
Configurare risorse e CSS offline
Apri Impostazioni > Ottimizzazione risorse. Attiva e prova una modifica alla volta sul tuo tema.
| Impostazione | Predefinito | Effetto |
|---|---|---|
| Attiva l'ottimizzazione delle risorse | Attivo | Interruttore principale dell'elaborazione delle risorse. |
| Raggruppamento risorse | Disattivo | Sostituisce le risorse originali con bundle ottimizzati. |
| Differimento intelligente delle risorse | Disattivo | Rinvia le risorse dei moduli supportati secondo le esigenze di pagina e interazione. |
| Minificazione CSS | Attivo | Minimizza il CSS. |
| Minificazione JS | Attivo | Minimizza JavaScript. |
| Combinatore CSS integrato | Disattivo | Usa il combinatore del modulo anziché affidarsi solo al CCC nativo. |
| Rimuovi il CSS inutilizzato | Disattivo | Rimuove i selettori che non compaiono nei template e negli script raccolti. Verifica poi i componenti dinamici. |
| "Resource Hints" | Attivo | Aggiunge i suggerimenti preload, prefetch, preconnect e DNS-prefetch supportati. |
| CSS per tipo di pagina | Disattivo | Usa varianti dei fogli di stile costruite offline per i tipi di pagina supportati. Se una variante manca o è obsoleta, si usa il foglio completo. |
| CSS iniziale generato | Disattivo | Inserisce inline il CSS iniziale validato prodotto dal worker offline. È l'etichetta attuale della precedente descrizione "Critical CSS". |
| Pagine con CSS iniziale | auto |
Seleziona automaticamente homepage, categorie principali, prodotti più importanti e pagine CMS chiave per lingua, oppure specifica URL di destinazione espliciti. |
| Budget del CSS iniziale | 51200 byte |
Budget inline, consentito da 8192 a 51200 byte. Una pagina che richiede di più conserva i fogli completi. |
| JS differito all'inattività | Disattivo | Carica più tardi il JavaScript dei moduli selezionati tramite il percorso di rinvio all'inattività. |
| Moduli differiti | Nessuno | Scegli le risorse dei moduli da rinviare all'inattività. Prova le funzioni interattive che ne dipendono. |
Attivare il CSS generato non avvia un browser durante una richiesta del negozio. Costruiscilo con i worker separati. Stato del CSS iniziale generato segnala la disponibilità. Il worker "Critical CSS" richiede Node 22.12 o successivo e il relativo ambiente browser configurato. Segui le istruzioni incluse nel worker per generazione e distribuzione.
Questi comandi CLI controllano o inizializzano il lavoro; non completano da soli la generazione tramite browser:
php modules/mprperformancerevolution/cli/critical-css.php --targets
php modules/mprperformancerevolution/cli/critical-css.php --seed
php modules/mprperformancerevolution/cli/critical-css.php --status
php modules/mprperformancerevolution/cli/page-type-css.php --status
Ricostruisci i dati CSS offline dopo modifiche rilevanti a fogli di stile, template, script o contenuti. Se i dati generati mancano o non sono validi, il modulo torna ai fogli completi.
Configurare la cache delle pagine di origine
Apri Impostazioni > Cache delle pagine di origine.
| Impostazione | Predefinito | Effetto |
|---|---|---|
| Attiva la cache delle pagine di origine | Disattivo | Memorizza e serve HTML anonimo validato prima dell'esecuzione normale del controller. |
| TTL della cache delle pagine di origine | 86400 secondi |
Intervallo consentito: da 60 a 2592000 secondi. |
| URL esclusi aggiuntivi | Vuoto | Aggiungi percorsi o glob, uno per riga. Restano le esclusioni integrate per route private e sessioni. |
| Header di diagnostica | Attivo | Emette X-MPR-PageCache con hit, miss o un motivo strutturale di esclusione. |
È una vera cache di pagine complete all'origine che usa il gestore cache del modulo. È separata dal caching HTML CDN e dai frammenti Smarty. Richieste di carrello, account, checkout, amministrazione, AJAX, cookie di sessione non sicuri e query sconosciute la escludono secondo la politica a runtime.
Attivala solo dopo aver verificato una pagina anonima pulita e i casi di esclusione richiesti. Richiedi lo stesso URL anonimo due volte e controlla X-MPR-PageCache. Poi prova accesso, creazione del carrello, cambi di valuta/lingua e pagine private in sessioni browser separate.
Configurare riscaldamento e attività pianificate
Apri Impostazioni > Riscaldamento cache.
| Impostazione | Predefinito | Effetto |
|---|---|---|
| Attiva il riscaldamento della cache di origine | Disattivo | Attiva passaggi pianificati all'origine. |
| Consenti il riscaldamento CLI dopo il deploy | Attivo | Consente un passaggio CLI completo dopo il deploy. |
| Concorrenza | 1 |
Richieste simultanee all'origine. |
| Durata massima | 120 secondi |
Limita un passaggio normale. |
| Insieme di URL | all |
Scegli Critico, "Manifest", "Sitemap" o Tutti. |
| IP di risoluzione dell'origine | 127.0.0.1 |
Risolve l'hostname del negozio in questo IP per il riscaldamento dell'origine. |
| Limite dopo un riscaldamento recente | 12 ore |
Salta URL riscaldati di recente nei passaggi normali. |
| Pausa tra le richieste | 500 ms |
Distanzia le richieste. |
| Fermati oltre il carico del server | 100 percento |
Sospende quando il carico normalizzato dell'host raggiunge il limite configurato. |
| Attiva il riscaldamento dell'edge di Cloudflare | Disattivo | Riscalda URL pubblici attraverso l'edge. |
| Intervallo di riscaldamento dell'edge | 6 ore |
Limita il riscaldamento edge recente. |
| Rendering di riscaldamento all'ora | 6 |
Budget condiviso dei rendering pianificati. |
| Tempo delle richieste di riscaldamento all'ora | 60 secondi |
Budget condiviso del tempo delle richieste pianificate. |
| Inizio tranquillo di ogni blocco di 10 minuti | 30 secondi |
Lascia l'inizio di ogni blocco ad altre attività pianificate. |
Copia il token effettivamente generato nel pianificatore del server. Un comando tipico del runner è:
* * * * * php /var/www/html/modules/mprperformancerevolution/cron.php --token=YOUR_TOKEN --max-tasks=20 --max-seconds=55 --context=cron
Adatta i percorsi PHP e negozio. Il runner gestisce anche pulizie dichiarate, invalidazioni/svuotamenti in attesa, lavori immagini e manutenzione CSS secondo lo stato delle attività. Attivazione della funzione e pianificazione dell'attività sono controlli separati.
Un passaggio manuale dopo il deploy può usare:
php modules/mprperformancerevolution/cli/warm-cache.php --full --both --url-set=all --concurrency=1 --resolve-ip=127.0.0.1 --max-seconds=120
Usa --edge solo per l'edge, --cron per la modalità cron e --help per gli argomenti supportati. Leggi il riepilogo degli stati disattivati, falliti o di scrittura esterna bloccata. Un passaggio sospeso o limitato dal budget può essere previsto con i valori predefiniti prudenti.
Monitorare, eseguire debug e verificare
Apri Impostazioni > Monitoraggio. Attiva la raccolta delle metriche è attiva per impostazione predefinita, Conservazione delle metriche è 30 giorni e Metriche degli utenti reali sono attive. Il campionamento RUM interno è del 10 percento. Le metriche del pannello includono stato dell'adattatore, hit, miss, percentuale di hit, memoria, query lente e misure disponibili TTFB, FCP, LCP, CLS e INP.
Apri Impostazioni > Modalità dev per sospendere temporaneamente le impostazioni di cache. Modalità dev parte inattiva, salva la configurazione precedente e la ripristina alla disattivazione o scadenza. Modalità debug dipendente parte disattivata e abilita l'output di sviluppo PrestaShop solo per dipendenti riconosciuti con il cookie debug validato del modulo.
In Impostazioni > "Debug", Overlay di debug, Attiva il pannello di debug e Pannello profiler sono disattivati per impostazione predefinita. Indirizzi IP consentiti e ID dei dipendenti consentiti partono vuoti. Profiler: solo dipendenti è attivo per impostazione predefinita. Limita la diagnostica durante i test e disattivala al termine.
I file opzionali del profiler sono in optional-overrides/classes/Hook.php e optional-overrides/classes/db/Db.php. Usa il flusso protetto d'installazione degli override profiler per verificare quelli esistenti. Pulisci lo stato classi/cache PrestaShop secondo quel flusso. Non sovrascrivere override estranei con una copia incondizionata. Rimuovi gli override opzionali del profiler tramite lo stesso flusso quando non servono più.
Dopo ogni modifica della configurazione, controlla homepage, lista, prodotto, carrello e checkout, poi conferma header cache e motivi di esclusione in sessioni cliente separate. Gli hook di catalogo, stock, prezzi e contenuti invalidano i tag supportati, ma modifiche a tema, integrazioni e regole CDN possono richiedere uno svuotamento esplicito.
Risolvere problemi e disinstallare
Se l'adattatore differisce dalla selezione, controlla disponibilità del backend e risoluzione dell'endpoint Redis. Se una pagina esclude la cache, leggi il motivo diagnostico prima di aumentare limiti o cambiare politica cookie. Per HTML obsoleto, controlla separatamente origine ed edge e conferma il completamento dell'invalidazione.
Se bundle, rinvio o modifiche CSS rompono un componente, disattiva l'impostazione interessata, svuota i relativi file generati o la cache e riprova. Per il CSS generato, controlla stato e log del worker. Per errori immagini, verifica encoder e permessi di scrittura. Per riscaldamento in attesa, controlla runner, interruttore della funzione, carico host e budget.
Prima di disinstallare, rimuovi gli override opzionali del profiler installati e controlla le regole CDN attive. Disattiva o rimuovi le regole edge del modulo tramite il flusso CDN, affinché la zona non continui a memorizzare route private senza la protezione d'origine prevista. Salva configurazione e dati generati necessari.
La disinstallazione rimuove attività pianificate, bootstrap debug dipendenti, classe cache Redis installata, menu e tabelle del modulo. Controlla poi la configurazione cache del core PrestaShop e ogni configurazione CDN esterna; non presumere che Module Manager annulli tutta la configurazione remota.
Compatibilità
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Domande
Ancora nessuna domanda su questo modulo
Chiedi qualsiasi cosa su installazione, compatibilità o configurazione. Le risposte compaiono qui.
Problemi noti
27
Le pagine in cache non restano separate a capacità esaurita
Le pagine eliminate occupano ancora spazio nella cache
Lo svuotamento della cache può lasciare obsoleti contenuti rigenerati
Il carosello del footer fallisce con lo script di avvio ritardato
Le pagine mancanti del catalogo ricevono regole di cache condivisa
Pagine incomplete entrano nella cache delle pagine
Google One Tap impedisce la cache di pagine altrimenti pubbliche
Svuotare il carrello lascia i visitatori anonimi esclusi dalla cache
I pacchetti di script differiti non si inizializzano
La pagina di gestione delle risorse non si apre
Il reindirizzamento al login del back office fallisce su PrestaShop 9
Lo svuotamento mirato della cache non individua i prodotti selezionati
I dati mancanti in cache influiscono sui prezzi di gruppo
Le medie di prestazioni dei visitatori sono fuorvianti
Le pagine filtrate del catalogo mostrano un altro risultato
I controlli caricati dinamicamente perdono lo stile
La lightbox delle immagini dei contenuti non si apre subito
Lo slider principale della home page parte troppo tardi
Le varianti moderne delle immagini mancano o sono obsolete
Lo svuotamento della cache ignora pagine tradotte del catalogo
Rafforzamento della sicurezza
La gestione della cache non si apre o non rimuove le voci
Il contenuto dei carrelli anonimi si perde con la cache delle pagine
I menu a discesa appaiono aperti per un istante al caricamento
Le anteprime firmate mostrano contenuti pubblici in cache
L'ottimizzazione delle immagini differite danneggia gli script
I pulsanti di pagamento rapido smettono di funzionare
Richieste funzionalità
17
Implementato
Preriscaldamento pianificato delle cache di origine e Cloudflare
Cache di pagine complete con Cloudflare
Generazione dei fogli di stile critici
Immagini AVIF e risorse differite
Precaricamento della navigazione
Conservazione delle risorse generate
Aggiornamenti del modulo con un clic
Instant Navigation e indicazioni anticipate sulle risorse
Preriscaldamento automatico della cache
Cache delle pagine di contenuto
Eccezioni per le risorse differite
Scadenza della cache in base alle pubblicazioni programmate
Cache delle pagine pubbliche per il personale
Preriscaldamento della cache con priorità basate sui dati
Diagnostica dei mancati riscontri nella cache
Protezione dal carico di rendering delle pagine
Precaricamento facoltativo dei dati della pagina
Registro modifiche
v1.5.152026-05-27
- AddedFinalize performance endpoint SEO cleanup
- AddedRetain generated assets across cache clears
- AddedFlip CDN cache from whitelist to blacklist — cache all pages by default
- AddedHover prefetch for perceived-instant navigation
- AddedStrip tracking query params (srsltid, fbclid, gclid) to prevent CDN cache fragmentation
- Addedcomplete FR/DE/ES/IT/PL translations
- ImprovedDelay full listing stylesheet load
- ImprovedInline critical listing render assets
- ImprovedServe compact category intro images
- FixedKeep listing image optimization theme-safe
- FixedMigrate module state to MPR config
- FixedPurge localized catalog urls
- FixedCache knowledge base pages at edge
Versioni precedenti
v1.3.02026-04-20
- AddedOrganize config form via getTabsDefinition() and adopt masked_key
- AddedFix CDN cache bypass for pages with session init during rendering
- AddedLicense management tab with key management and renewal options
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- FixedAddLazyLoading regex no longer corrupts inline script blocks
- FixedStop stripping checkout JS on pages with express checkout buttons
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.1.02026-03-12
- Addedlazy-loading fallback polyfill for Safari 14 and older iOS devices
- AddedCSS/JS minification toggle per asset type (theme / module)
- ImprovedRedis connection pooling — module reuses existing PS Redis instance
- FixedOPcache invalidation race condition after module config save
v1.0.02026-02-20
- Initialrelease: comprehensive performance suite for PrestaShop
- InitialRedis full-page caching with automatic tag-based invalidation
- InitialNative image optimisation pipeline with WebP output
- InitialCSS/JS minification and CDN origin rewrite
- InitialCompatible with PS 1.7.x and PS 8.x
v1.2.02026-01-14
- AddedPS 9 / Hummingbird theme compatibility and Symfony cache layer hooks
- Addedper-route Redis cache TTL override for high-churn category pages
- ImprovedWebP conversion quality slider in back-office image settings
- Optimized DB query cache: deduplicated redundant JOIN patterns in heavy-load scenarios
- FixedCDN rewrite not applying to srcset attributes in product gallery
Demo
Prova il modulo completo prima di acquistare
Acquista la licenza in seguito e mantieni le tue impostazioni.
- La tua demo di 30 giorni Provalo sul tuo negozio per 30 giorni dalla prima installazione.
- Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
- Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.
Scaricando, accetti le condizioni della demo e l’informativa sulla privacy.
Aprendo questa demo accetti i termini della demo e la politica sulla privacy.