Plugin W3 Total Cache: come configurarlo per l'ottimizzazione

Un sito WordPress rallenta inevitabilmente man mano che installi plugin. Per questo un plugin di cache è diventato uno dei plugin indispensabili di WordPress. Con oltre 1 milione di installazioni attive della versione gratuita e una valutazione di 4,4 stelle, il plugin W3 Total Cache (W3TC) è uno dei più usati.
Poiché le impostazioni di cache possono rompere alcune funzioni di altri plugin, se sei agli inizi con WordPress puoi usare un plugin semplice da configurare, come Cache Enabler o WP Super cache.
Se ti servono impostazioni e controllo dettagliati della cache, puoi usare il plugin W3 Total Cache, che offre funzioni potenti anche nella versione gratuita.
Ⅰ. Installazione di W3 Total Cache e guida di configurazione
Cerca W3 Total Cache, poi installa e attiva il plugin.
- Welcome
- Page Cache
- Database Cache
- Object Cache
- Image Converter
- Lazy Load
- More Caching Options
AcceptDecline
Dopo la prima installazione, andando alla pagina [Dashboard] vieni portato automaticamente alla [Setup Guide], perché non è ancora configurato nulla.
Nella guida di configurazione imposti ① cache di pagina, ② cache del database, ③ cache degli oggetti, ④ cache del browser, ⑤ ottimizzazione delle immagini, ⑥ lazy load e ⑦ altre opzioni di cache.

Per la cache di pagina, la raccomandazione predefinita di W3TC è Disk: [Migliorato]. Come mostra la tabella, Disk: Enhanced è circa 10,3 ms più veloce di Disk: Basic, cioè circa il 17,8% di prestazioni migliori in termini di TTFB.

Per la cache del database, seleziona la cache su disco.





Le impostazioni fatte nella guida ora compaiono nella dashboard.
Clicca sulla scheda [Settings] in alto a destra per configurare tutto, da [General Settings] alla cache di pagina e altro.

ⓐ Le [impostazioni di pagina] nel menu di amministrazione a sinistra e ⓑ la scheda [Settings] in alto a destra portano ciascuna alla cache di pagina, Minify e ad altre impostazioni avanzate. Andando a ogni pagina dal centro in alto della scheda General Settings, vedi tutto su cache di pagina e Minify, dalle impostazioni generali fino alle Impostazioni avanzate.
Ⅱ. Impostazioni di cache di W3 Total Cache
Questa è la scheda General Settings nelle impostazioni di W3TC.
_branch_match_id
_bta_c
_bta_tid
_ga
_gl
_ke
adgroupid
adid
age-verified
ao_noptimize
campaignid
campid
click_id
cn-reloaded
customid
dicbo
dm_i
ef_id
epik
fb_action_ids
fb_action_types
fb_source
fbclid
gclid
gclsrc
gdffi
gdfms
gdftrk
hsa_acc
hsa_ad
hsa_cam
hsa_grp
hsa_kw
hsa_mt
hsa_net
hsa_src
hsa_tgt
hsa_ver
igshid
li_fat_id
matomo_campaign
matomo_cid
matomo_content
matomo_group
matomo_keyword
matomo_medium
matomo_placement
matomo_source
mc_cid
mc_eid
mkcid
mkevt
mkrid
mkwid
msclkid
mtm_campaign
mtm_cid
mtm_content
mtm_group
mtm_keyword
mtm_medium
mtm_placement
mtm_source
pcrid
piwik_campaign
piwik_keyword
piwik_kwd
pk_campaign
pk_cid
pk_content
pk_keyword
pk_kwd
pk_medium
pk_source
pp
redirect_log_mongo_id
redirect_mongo_id
ref
s_kwcid
sb_referer_host
si
sscid
tblci
toolid
trk_contact
trk_module
trk_msg
trk_sid
ttclid
twclid
usqp
utm_campaign
utm_content
utm_expid
utm_id
utm_medium
utm_source
utm_term
wbraid
index\.php
wp-links-opml.php
wp-locations.php
([a-z0-9_\-]+)?sitemap\.xsl
[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?
Content-Type
X-Pingback
P3P
Link
- Enable HTTP compression in the “HTML” section on Browser Cache Settings tab.
RSPEAK_
mfunc
- Enable HTTP compression in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
- The TTL of page cache files is set via the “Expires header lifetime” field in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
wp_rg_
_wp_session_
_wc_session_
^\s*delete\b
^\s*update\b
^\s*replace\b
^\s*create\b
^\s*alter\b
^\s*show\b
^\s*set\b
\bautoload\s+=\s+’yes’
\bsql_calc_found_rows\b
\bfound_rows\(\)
DOING_CRON
DONOTCACHEDB
SHORTINIT
XMLRPC_REQUEST
plugins
[a-z0-9_\-]*sitemap[a-z0-9_\.\-]*\.(xml|xsl|html)(\.gz)?
1️⃣ Modalità anteprima
Prima di distribuire le modifiche reali alla cache, puoi attivare la modalità anteprima per testare in anticipo eventuali errori.

[Preview]: cliccalo per testare mentre vedi le modifiche in anteprima e, se va tutto bene, clicca [Deploy] per applicarle al sito.
2️⃣ Cache di pagina
La guida ha già impostato la configurazione di base su [Disk: Enhanced]. Puoi cambiarla in seguito se, per esempio, dopo un trasloco il server usa un'altra cache.
Se un sito singolo (non multisito) usa anche sottodomini, puoi impostare la cache anche per i domini alias.
|
Livello del server |
Intervallo di aggiornamento (s) |
Pagine per intervallo |
Descrizione |
|---|---|---|---|
|
Server di fascia bassa (1 vCPU / 1 GB o meno) |
1800 s (30 min) |
5 |
Evita picchi di CPU durante la creazione della cache: usa un intervallo ampio e tieni minimo il numero di pagine |
|
Server di fascia media (2 vCPU / 2–4 GB) |
900 s (15 min) |
10 |
Si consiglia di mantenere il valore predefinito; gestisce un po' di concorrenza |
|
Server ad alte prestazioni (4 vCPU / 8 GB o più) |
300 s (5 min) |
20~30 |
Prepara la cache rapidamente; adatto a siti con molto traffico |
REST API è l'interfaccia che WordPress offre per scambiare dati con l'esterno; permette di richiedere o modificare contenuti in formato JSON tramite URL. Così app mobili, app web esterne, l'editor a blocchi e altro possono sincronizzare o modificare i contenuti di WordPress in tempo reale.
La REST API serve non solo gli amministratori ma anche le richieste degli utenti comuni, consentendo uno scambio di dati efficiente che rende il sito più flessibile ed estensibile.
|
Opzione |
Descrizione |
Consigliato |
|---|---|---|
|
Inizializzazione ritardata |
Consente di richiamare funzioni di WordPress per il caching dei frammenti. |
⚠️ Solo se ti serve un caching avanzato |
|
Caching ritardato |
Rimanda la generazione della chiave di cache a dopo i filtri utente, per un controllo più fine |
⚠️ Solo quando sovrascrivi le chiavi |
|
Modalità compatibilità |
Rinuncia ad alcune ottimizzazioni per la compatibilità con l'hosting (circa il 20% più lento) |
✅ Consigliato in caso di errori dell'hosting |
|
Set di caratteri |
Risolve problemi di codifica UTF-8 |
✅ Consigliato se compaiono caratteri strani |
|
Rifiuta le richieste HEAD |
Impedisce che le richieste HEAD creino cache vuote |
✅ Evita pagine vuote inattese |
|
Durata massima degli oggetti in cache |
Per quanto tempo restano gli elementi in cache (s) |
⏱ Più alto con poco traffico, più basso con molto |
|
Intervallo di garbage collection |
Ogni quanto vengono rimossi i dati di cache scaduti (s) |
⏱ Più breve quanto più traffico hai |
|
Durata del cookie dei commenti |
Regola il TTL del cookie quando qualcuno commenta (predefinito 1800 s) |
✅ Utile per ridurre il traffico degli utenti connessi |
3️⃣ Minify
Nei file HTML, CSS e JS, Minify rimuove spazi, commenti e interruzioni di riga superflui, per ridurre le dimensioni dei file e migliorare la velocità di caricamento. Questo processo non cambia le funzionalità ma rende il codice più snello , così il browser può interpretarlo più in fretta.
|
Opzione |
Descrizione |
Consigliato |
|---|---|---|
|
Automatico |
W3TC rileva e minifica automaticamente i file HTML, CSS e JS. |
✅ Adatto alla maggior parte degli utenti |
|
Manuale |
Si applica solo dopo che inserisci tu i percorsi dei file da minificare. |
⚠️ Solo per utenti esperti che hanno bisogno di un controllo preciso |
|
Opzione |
Descrizione |
Ambiente ideale |
|---|---|---|
|
Disco (Disk) |
Salva i file minificati sul disco del server |
✅ Hosting condiviso tipico; il predefinito |
|
APC / APCu |
Salva in memoria usando la cache opcode di PHP |
✅ Buone prestazioni su server dedicati/virtuali |
|
eAccelerator |
Una vecchia cache opcode di PHP |
⚠️ Rilevante solo su server vecchi |
|
XCache |
Uno dei meccanismi di cache di PHP (poco usato) |
❌ Sconsigliato (obsoleto) |
|
WinCache |
Cache PHP per server Windows |
✅ Solo server IIS/Windows |
|
Memcached |
Salvato su server di cache distribuiti |
✅ Più server, configurazioni a cluster |
|
Redis |
Mette in cache i file minificati in uno store chiave-valore veloce |
✅ VPS ad alte prestazioni / più server |
|
Opzione |
Descrizione |
Caratteristiche |
|---|---|---|
|
Minify (predefinito) |
Il minificatore HTML integrato di W3TC |
Molto stabile e compatibile con la maggior parte dei siti |
|
HTML Tidy |
Riordina la struttura HTML mentre minifica |
Include la correzione della struttura → rischio di rompere il layout |
| Opzione | Descrizione | Caratteristiche | Scelta del minificatore JS |
|---|---|---|---|
| JSMin (predefinito) | Minificatore JS semplice e veloce: rimuove spazi e commenti di base | Molto stabile, basso rischio di conflitti | ✅ Prima velocità/stabilità; siti WordPress tipici |
| Google Closure Compiler (servizio web) | L'ottimizzatore JS avanzato di Google: comprime tramite la Google API | Preciso, ma una chiamata a un server esterno è necessaria → può essere lento | ⚠️ API esterna consentita; prima l'ottimizzazione precisa |
| Google Closure Compiler (Java locale) | Esegue lo stesso motore nell'ambiente Java del server in locale | Ottimizzazione avanzata possibile, Java deve essere installato | ✅ Java installabile; quando vuoi un'ottimizzazione avanzata |
| Narcissus | Un compressore classico che analizza e rigenera il JS | Un approccio vecchio, praticamente non supportato | — |
| YUI Compressor | Compressore JS/CSS sviluppato da Yahoo; può mantenere i commenti preservati | Vecchio ma ancora stabile | — |
| Closure (da testare) | — | — | ⚠️ Molto JS moderno (ES6+) |
| Opzione | Descrizione |
|---|---|
| ✅ Minify (predefinito) | Veloce e stabile; adatto alla maggior parte dei siti WordPress |
| ⚠️ CSS Tidy | Riordina la struttura e corregge la sintassi; gli stili possono rompersi → da testare |
| ⚠️ YUI Compressor (PHP) | Logica di compressione vecchia, non più aggiornata → solo siti legacy |
| ⚠️ YUI Compressor (Java) | Richiede Java; compressione precisa, ma nessun supporto alla sintassi CSS moderna |
La guida ha già impostato la configurazione di base su [Disk: Enhanced]. Puoi cambiarla in seguito se, per esempio, dopo un trasloco il server usa un'altra cache.
|
Voce |
Descrizione |
|---|---|
|
Riscrivi la struttura degli URL |
Usa strutture di URL pulite per i link CSS/JS. Se disattivato, vengono emessi come basati su parametri GET URL come [?ver=xxx]. |
|
Per gli utenti connessi, |
Gli utenti connessi vedono i file originali, non quelli minificati. Utile durante il debug o lo sviluppo. |
|
Riduci le notifiche di errore |
Ti avvisa se si verifica un errore durante la creazione della cache del minify. Se disattivato, non compare alcun avviso. |
|
Voce |
Descrizione |
|---|---|
|
Impostazioni minify HTML |
Comprime i documenti HTML per ridurne le dimensioni, rimuovendo spazi, rientri e simili. |
|
Minificazione CSS inline |
Comprime il codice CSS dentro i tag [<style>]. |
|
Minificazione JS inline |
Comprime il codice JS dentro i tag [<script>]. |
|
Non minificare i feed |
Lascia i feed RSS/Atom (XML) non minificati, esattamente come sono. |
|
Rimuovi le interruzioni di riga |
Rimuove i caratteri di a capo nell'HTML → file più piccolo |
|
Esempio |
Uso |
|---|---|
|
google_ad_ |
Protegge i commenti dello script degli annunci Google AdSense |
|
RSPEAK_ |
Protegge i commenti di codice per screen reader/accessibilità |
|
mfunc |
Protegge i commenti di cache dei frammenti [<!– mfunc –>] di W3TC |
|
Metodo di minify |
Descrizione |
Consigliato per |
|---|---|---|
|
Combina & minifica (Combine & Minify) |
Unisce più file JS in uno e li comprime allo stesso tempo |
✅ Il più efficace nei casi tipici |
|
Solo combina (Combine Only) |
Raggruppa i file in uno senza comprimerli |
⚠️ Se temi conflitti JS: evita errori dovuti alla compressione |
|
Solo minifica (Minify Only) |
Mantiene il numero di file e comprime ciascuno singolarmente |
⚠️ Su HTTP/2 + in caso di errori JS |
|
Impostazioni del motore di minify |
Descrizione |
|---|---|
|
Posizione di inserimento: prima di [</head>] |
Inserisce il JS dentro [<head>] (eseguito prima del caricamento della pagina) |
|
Posizione di inserimento: dopo [<body>] |
Inserisce il JS in fondo alla pagina (eseguito dopo il rendering) |
|
Tipo di inserimento (Blocking / Non-blocking) |
Se l'esecuzione del JS mette in pausa il rendering della pagina |
|
Voce |
Descrizione |
Impostazione consigliata |
|---|---|---|
|
Attiva HTTP/2 Push |
Il server invia i file JS prima che il browser li richieda |
✅ Può migliorare le prestazioni su HTTP/2 |
|
Avvertenze |
Se il Page Cache di W3TC usa [Disk: Enhanced] con NGINX, HTTP/2 Push ❌ non funziona |
✅ Funziona al meglio con Apache + HTTP/2 |
|
Metodo di minify |
Descrizione |
Consigliato per |
|---|---|---|
|
Combina & minifica |
Unisce i file CSS e poi li comprime |
✅ Uso generale |
|
Solo combina |
Raggruppa i file senza comprimerli |
⚠️ Se temi conflitti CSS |
|
Solo minifica |
Solo compressione, senza unione |
✅ Adatto ai server HTTP/2 |
|
Impostazioni del motore di minify |
Descrizione |
Si applica quando |
|---|---|---|
|
Rimuovi i commenti preservati(Preserved comment removal) |
Rimuove note di licenza e commenti preservati nei file CSS per ridurne le dimensioni. |
⚠️ Si applica solo con [Combine & Minify] o [Minify only] (※ non con [Combine only]) |
|
Rimuovi le interruzioni di riga(Line break removal) |
Elimina i caratteri di a capo dal CSS per ottenere un file più compatto (leggermente più piccolo) |
⚠️ Funziona solo con [Combine & Minify] o [Minify only] (※ ignorato con [Combine only]) |
|
Gestione di @import |
Descrizione |
Impostazione consigliata |
|---|---|---|
|
None |
Lascia le chiamate CSS [@import] così come sono |
❌ Sconsigliato (blocca il rendering) |
|
Bubble |
Sposta [@import] in cima al file CSS |
⚠️ Effetto limitato |
|
Process |
Include le chiamate [@import] nell'unione |
✅ Consigliato (migliora le prestazioni) |
|
Voce avanzata |
Descrizione |
Impostazione consigliata |
|---|---|---|
|
Intervallo di aggiornamento dei file esterni(Update interval for external files) |
Ogni quanto W3TC riscarica/minifica i file CSS/JS da CDN e URL esterni (in secondi) |
✅ Mantieni il predefinito [86400] s (24 ore) ※ se i file esterni cambiano spesso, valuta [21600] (6 ore) |
|
Intervallo di garbage collection(Garbage collection interval) |
Ogni quanto vengono eliminati i file di cache scaduti (vale per la cache su disco) |
✅ Consigliati [43200–86400] s (si può abbassare con molto traffico) ※ un limite massimo (2592000 s) si imposta in [wp-config.php] |
|
Non minificare mai le pagine seguenti(Never minify the following pages) |
Inserisci gli URL da escludere sempre dalla minificazione (percorsi relativi, senza query) |
✅ Aggiungi admin, pagina di login, URL AJAX ecc. secondo necessità. Esempio: [wp-login.php], [wp-admin/], [my-custom-endpoint/] |
|
File JS da non minificare mai |
Indica i file JS che danno errori quando vengono minificati |
⚠️ Aggiungi i file JS problematici quando li trovi. Esempio: [plugins/some-script.js] |
|
File CSS da non minificare mai |
Ti permette di creare eccezioni in caso di conflitti CSS |
⚠️ Crea un'eccezione per il CSS che rompe il layout. Esempio: [themes/mytheme/style.css] |
|
User agent rifiutati |
Non serve file minificati a user agent specifici (crawler, bot ecc.) |
✅ Indica solo i bot che devono aggirare la cache. Esempio: [Lighthouse], [GTmetrix], [Chrome-Lighthouse] ecc. |
|
Includi file/librerie esterni(Include external files/libraries) |
Aggiunge manualmente script CDN esterni all'elenco da unire |
⚠️ Solo se vuoi minificare/unire file JS/CDN esterni. Esempio: [ajax.googleapis.com/…/jquery.min.js] |
|
Consenti espressioni regolari |
Ti permette di usare regex quando i nomi dei file variano |
✅ Utile quando gli script esterni cambiano spesso numero di versione. Esempio: [cdn.example.com/js/lib-\d+\.js] |
# EX:
#File JS da non minificare mai:
plugins/some-plugin/assets/js/legacy-script.js
wp-includes/js/jquery/jquery.js
#CSS da non minificare mai:
themes/mytheme/style.css# EX:
#User agent rifiutati:
Lighthouse
Chrome-Lighthouse
GTmetrix|
Voce |
Descrizione |
Impostazione consigliata |
|---|---|---|
|
Usa l'evento WP-Cron(Enable WP-Cron event) |
Per svuotare/aggiornare automaticamente la cache di pagina secondo una pianificazione, pianifica un'attività WP-Cron |
✅ Attivazione consigliata (mantieni il predefinito) |
|
Ora di inizio(Start time) |
Quando WP-Cron viene eseguito per la prima volta (es. 12:00 am) |
✅ Un orario di basso carico (es. tra mezzanotte e le 3) |
|
Intervallo(Interval) |
Ogni quanto WP-Cron svuota la cache Impostazioni |
✅ Due volte al giorno o ogni ora (siti con molto traffico) |
|
Alternativa con il cron di sistema |
Al posto di WP-Cron puoi eseguire il comando [wp w3tc flush_posts] da un vero cron a livello di sistema operativo |
Consigliato su server ad alte prestazioni (più preciso ed efficiente di WP-Cron) |
4️⃣ Cache opcode
Per la cache opcode viene applicata automaticamente quella installata sul server; se non ce n'è, risulta disattivata.
5️⃣ Cache del database e degli oggetti: Memcached·Redis
|
Opzione |
Descrizione |
Ambiente consigliato |
|---|---|---|
|
Disco |
Salva i dati di cache sul disco del server |
✅ Hosting condiviso / configurazioni di base |
|
Memcached |
Cache distribuita via rete; veloce |
✅ Più server / cluster |
I siti WordPress tipici usano spesso solo uno tra Memcached e Redis per la cache del database, ma in W3 Total Cache puoi dividerli: ⓐ uno per la cache del database e ⓑ l'altro per la cache degli oggetti.
📌 Tipico WordPress Sito
├─ Database Cache
│ └─ Memcached o Redis · solo uno (uso)
└─ Oggetti Cache
└─ lo stesso Cache motore condiviso è comune
📌 W3 Total Cache (W3TC)
├─ Database Cache
│ └─ Memcached (uso) (esempio)
└─ Oggetti Cache
└─ Redis (uso) (esempio)
🛠️ Strategia applicata
└─ Cache motore per ruolo — Separato Attivo possibile
├─ Server risorse distribuite
├─ Cache collo di bottiglia ridotto
└─ Prestazioni Ottimizzazione flessibilità garantitaNelle impostazioni di W3 Total Cache, per impostazione predefinita la cache del database è su Memcached e quella degli oggetti su Redis.
|
Voce |
Descrizione |
Raccomandazione o nota |
|---|---|---|
|
Durata massima degli oggetti in cache |
Scadenza naturale degli elementi di cache non modificati (s) |
[180 s] (predefinito); troppo alto spreca memoria |
|
Intervallo di garbage collection |
Ogni quanto vengono eliminati i dati di cache scaduti (s) |
[3600 s] (1 ora); abbassalo con uso intenso |
|
Non mettere mai in cache le |
Percorsi da escludere dalla cache (regex consentite) |
Si consiglia di escludere pagine dinamiche come login, carrello e ricerca |
|
Radici di query ignorate |
Le query con prefisso corrispondente non vengono messe in cache |
Dati di sessione/temporanei come [gdsr_], [wp_rg_] |
|
Rifiuta query (Query Rejects) |
Esclude le query che contengono parole chiave/schemi specifici (regex) |
[insert], [update], [autoload], [found_rows()] ecc. |
|
Reject Constants |
Disattiva la cache DB quando sono definite le costanti WP indicate |
[DOING_CRON], [XMLRPC_REQUEST] ecc. |
|
Attiva per WP-CLI |
Se usare la cache anche quando gira WP-CLI |
✅ Più veloce se attivo (attenzione negli ambienti di test) |
|
Opzione |
Descrizione |
Ambiente consigliato |
|---|---|---|
|
Disco |
Salva i dati di cache sul disco del server |
✅ Hosting condiviso / configurazioni di base |
|
Redis |
Cache chiave-valore veloce; funziona bene con PHP-FPM |
✅ Server ad alte prestazioni / VPS |

|
Voce |
Descrizione |
|---|---|
|
Host/IP di Redis |
Formato [127.0.0.1:6379]. Per TLS usa il prefisso [tls://] |
|
Verifica il certificato TLS |
Controlla la validità del certificato quando usi TLS (facoltativo) |
|
Usa connessioni persistenti |
Riutilizza le connessioni Redis per prestazioni migliori |
|
Timeout di connessione |
Tempo massimo per connettersi a Redis (s) |
|
Intervallo di nuovo tentativo di connessione |
Attesa prima di riprovare dopo un errore (ms) |
|
Timeout di lettura della connessione |
Tempo massimo di attesa di una risposta (s) |
|
Redis DB ID |
Numero del database dentro Redis (predefinito [0]) |
|
Password di Redis |
Inserimento di password o autenticazione SASL |
|
Durata predefinita della cache |
Tempo predefinito di conservazione degli elementi in cache (s). Predefinito 180 s |
|
Intervallo di garbage collection |
Ogni quanto viene eliminata la cache scaduta. Predefinito 600 s |
|
Gruppi globali |
Gruppi condivisi in modalità rete (per multisito) |
|
Gruppi non persistenti |
Gruppi esclusi dalla cache, es. [counts], [plugins] |
|
Metti in cache le richieste wp-admin |
Applica la cache anche all'area di amministrazione (⚠️ prova prima) |
|
Salva i transient nel database |
Mantiene i valori temporanei nel DB anche quando si usa una cache esterna |
|
Attiva WP-CLI |
Consente la cache anche per i comandi WP-CLI |
6️⃣ Cache del browser
La cache del browser salva file statici come immagini, CSS e JS sul dispositivo del visitatore in locale, riducendo molto il tempo di caricamento nelle visite successive. Questo migliora la velocità di risposta della pagina e l'esperienza utente.
La maggior parte di queste impostazioni punta su controllo della cache e riduzione del carico del server. Sui siti con molto traffico o dove conta l'ottimizzazione delle risorse statiche, puoi attivarne molte senza problemi.
| Voce | Generale | CSS e JS | HTML e XML | Media e altri file |
|---|---|---|---|---|
| Imposta l'header [Last-Modified] | Include la data di ultima modifica del file per consentire risposte 304 | ✅ Attivalo nella maggior parte dei casi | ✅ Adatto alla maggior parte dei server | ✅ Funziona con la maggior parte delle cache CDN/browser |
| Imposta l'header [Expires] | Fa sì che il browser tenga in cache i file per un certo periodo | ✅ Predefinito 31536000 s (1 anno), consigliato | ✅ Predefinito [3600 s (1 ora)] | ✅ [31536000 s] (1 anno) di default → adatto ai file statici |
| ⏱️ Imposta la durata di Expires | — | ⏱️ es. [31536000 s = 1 anno] · si può accorciare se usato con un CDN | — | — |
| Imposta l'header [Cache-Control] | Controlla la strategia di cache aggiungendo header pragma e cache-control | ✅ [“public, max-age=31536000”] consigliato | ✅ Imposta ad esempio [“public, max-age=3600”] | ✅ [“public, max-age=31536000”] consigliato |
| ✅ Politica di controllo della cache | — | ✅ Usa una politica con [max-age] · [“public, max-age=EXPIRES_SECONDS”] è il predefinito | — | — |
| Imposta [ETag] | Fornisce un entity tag che identifica il file – per rilevare le modifiche | ✅ Efficace all'interno dello stesso server | ✅ Se le cache non sono condivise tra server, se ne consiglia l'uso | ✅ Utile con un solo server |
| Imposta l'header W3TC | Aggiunge un header che indica se un file è stato ottimizzato da W3TC | 🔖 Non obbligatorio; per analisi | 🔖 Non obbligatorio (per il debug) | 🔖 Facoltativo |
| Compressione gzip | Compressione che riduce i file di testo (ampiamente compatibile) | ✅ Supportato sulla maggior parte dei server | ✅ Supportato dalla maggior parte dei server | ✅ Nessun effetto sulle immagini |
| Compressione brotli | Rapporto di compressione più alto di gzip (solo browser supportati) | ✅ Richiede configurazione di Apache/Nginx | ✅ Attiva il modulo di Apache/nginx | ✅ Vale solo per i browser supportati |
| Impedisci la cache degli oggetti dopo una modifica delle impostazioni | Aggiunge una query string per invalidare la vecchia cache | ✅ Consigliato se le impostazioni cambiano spesso | — | ✅ Le modifiche ai file hanno effetto subito |
| Rimuovi le query string | Rimuove [?] dalle risorse statiche per migliorare la cache | ⚠️ Serve solo con alcuni CDN/proxy | — | ✅ Applicabile ai file con versione |
| Rimuovi i cookie | Rimuove l'header [Set-Cookie] dalle risposte delle risorse statiche | ✅ Spuntalo nella maggior parte dei casi | — | ✅ Immagini e simili non hanno bisogno di cookie |
| Non far gestire i 404 a WordPress | Il server web gestisce i 404 dei file statici → meno carico su WP | — | — | — |
| Elenco di URI di eccezione 404 | Indica gli schemi di URI che WP deve comunque gestire (es. sitemap, robots.txt) | — | — | — |
| Riscrivi la struttura URL degli oggetti | Genera URI univoci per aggirare le cache (es. [ver=xxxx]) | — | — | — |
Ⅲ. Funzioni aggiuntive di W3 Total Cache
Svuotare la cache tramite WP Cron è un'impostazione globale.
{wp_content_dir}/gallery/*
{wp_content_dir}/uploads/avatars/*
{plugins_dir}/wordpress-seo/css/xml-sitemap.xsl
{plugins_dir}/wp-minify/min*
{plugins_dir}/*.js
{plugins_dir}/*.css
{plugins_dir}/*.gif
{plugins_dir}/*.jpg
{plugins_dir}/*.png
{uploads_dir}/imagerotator.swf
{plugins_dir}/wp-fb-autoconnect/facebook-platform/channel.html
- You can use placeholders {wp_content_dir}, {plugins_dir}, {uploads_dir} instead of writing folder paths (wp-content, wp-content/plugins, wp-content/uploads).
- If using Amazon Web Services or Self-Hosted CDN types, enable HTTP compression in the “Media & Other Files” section on Browser Cache Settings tab.
data-bgposition=
data-envira-src=
data-large_image=
data-lazy-original=
data-lazy-src=
data-lazyload=
data-lazysrc=
data-no-lazy=
data-src=
data-srcset=
fullurl=
lazy-slider-img=
loading=”eager”
no-lazy
rev-slidebg
skip-lazy
soliloquy-image
swatch-img
w3-total-cache
woocommerce/assets/images/placeholder.png
wpcf7_captcha
1️⃣ CDN
Lo configuri dopo esserti registrato presso un fornitore CDN.
|
Opzione |
Descrizione |
|---|---|
|
✅ Ospita gli allegati |
Carica sul CDN allegati come le immagini in [wp-content/uploads] |
|
✅ Ospita i file di wp-includes |
Include nel CDN i file statici del core di WordPress (js/css ecc.) |
|
✅ Ospita i file del tema |
Include nel CDN i file statici del tema attivo (css/js/immagini ecc.) |
|
✅ Ospita i file CSS/JS minificati |
Serve dal CDN i file CSS/JS minificati da W3TC |
|
✅ Ospita file personalizzati |
Invia al CDN percorsi o nomi di file che indichi |
|
⚠️ Forza la sovrascrittura dei file esistenti |
Per forzare un nuovo caricamento quando le modifiche non vengono rilevate in automatico |
|
Voce |
Descrizione |
|---|---|
|
Svuota il CDN solo manualmente |
Rimuove i file dal CDN solo quando clicchi il pulsante di svuotamento manuale |
|
Disattiva il CDN sulle pagine SSL |
Non usa URL CDN nelle pagine HTTPS |
|
Usa i link CDN nell'amministrazione |
Mostra gli URL CDN dei media anche nelle schermate di amministrazione |
|
Add CORS header |
Aggiunge un header di risposta che consente CORS |
|
Disattiva il CDN per ruolo |
Non applica il CDN ai ruoli utente selezionati (es. solo gli amministratori usano l'origine) |
|
Elenco delle pagine escluse |
Esclude dal CDN i percorsi indicati (regex consentite) |
|
Carica automaticamente i file minificati |
Carica automaticamente i file minificati sul CDN (Push) |
|
Esporta automaticamente i file modificati |
Carica automaticamente quando rileva modifiche ai file |
|
Intervallo di caricamento automatico |
Intervallo di caricamento dopo il rilevamento delle modifiche (predefinito 3600 s) |
|
Intervallo / limite di ritrasmissione |
Intervallo di nuovo tentativo dopo gli errori e limite ai file elaborati |
|
File di wp-includes da caricare |
Indica quali tipi di file del core vanno sul CDN |
|
Tipi di file del tema da caricare |
Indica i tipi di file del tema, come CSS/JS/font |
|
Tipi di file da importare |
Imposta le condizioni per scaricare automaticamente i file collegati esternamente |
|
Elenco di file personalizzati |
Indica singoli percorsi di file da inviare al CDN (template, plugin esterni ecc.) |
|
User agent rifiutati |
Indica i bot/user agent da bloccare dai file CDN |
|
Percorsi di file rifiutati |
Indica i percorsi di file da tenere fuori dal CDN, come CAPTCHA e percorsi speciali |
|
Imposta il dominio dei cookie |
Indica un dominio per evitare l'invio di cookie quando usi un CDN su sottodominio |
2️⃣ Reverse proxy
La descrizione usa come esempi Varnish e Nginx, ma poiché Nginx si configura sul server, applicalo nel plugin W3 Total Cache solo se usi Varnish.
3️⃣ Esperienza utente: lazy load
Nelle impostazioni avanzate, oltre il 50% delle funzioni è disponibile solo nella versione premium.
|
Voce |
Descrizione |
Quando usarlo |
|---|---|---|
|
✅ Elabora i tag immagine HTML |
[<img>]: i tag ricevono l'attributo lazy |
Per il lazy loading delle normali immagini di contenuto |
|
✅ Elabora le immagini di sfondo |
Applica il lazy loading a [background-image] del CSS |
Per siti curati nel design con molte immagini di sfondo |
| Escludi parole | Esempio |
|---|---|
| Attributi esclusi dal lazy | [data-src], [data-lazy-src], [data-no-lazy], [loading=”eager”] ecc. |
| Classi escluse dal lazy | [no-lazy], [skip-lazy], [lazy-slider-img], [rev-slidebg] ecc. |
| Plugin/slider | [soliloquy-image], [envira], [w3-total-cache], [wpcf7_captcha] ecc. |
| WooCommerce | [swatch-img], [woocommerce/…/placeholder.png] ecc. |
La “soglia” del lazy loading stabilisce a quale distanza sotto il viewport (lo schermo) del browser immagini ed elementi di sfondo iniziano a caricarsi in anticipo. Per esempio con 100px un elemento si carica quando l'utente scorre fino a 100 pixel da esso; un valore troppo piccolo ritarda il caricamento delle immagini e l'utente può vedere aree vuote, quindi di solito 100–300px è adatto.
Seguono i metodi di inserimento degli script.
|
Metodo di inserimento |
Descrizione |
Posizione o attributo |
|---|---|---|
|
Asincrono (Async) |
Viene eseguito in parallelo al caricamento della pagina e non blocca il rendering |
[<script async>] |
|
Sincrono (nell'head) |
Viene eseguito per primo nell'area [<head>] e può bloccare temporaneamente il rendering (in the head) |
[<head>] o [<script>] |
|
Inline |
Inserisce lo script direttamente nel documento HTML, così viene eseguito senza una richiesta separata |
Inserito dentro [<script>codice</script>] |


4️⃣ Convertitore WebP


Ⅳ. Valutazione complessiva di W3 Total Cache
L'interfaccia (UI) di W3 Total Cache non è male, ma è chiaramente scomoda. Molti sviluppatori e utenti professionali lo fanno notare. Rispetto a plugin moderni come WP Rocket o FlyingPress, tiene il passo sulle prestazioni del sito, ma l'esperienza utente (UX) è carente.
Avere tante funzioni è un punto di forza, ma per i principianti la struttura può sembrare troppo complessa. In particolare, con frequenti salti tra i menu e molte opzioni di dettaglio, anche sviluppatori e amministratori esperti possono commettere errori di configurazione. Ovviamente non ricorderai ogni impostazione, ma nell'uso è un plugin di caching avanzato che permette regolazioni fini.
Con oltre 1 milione di installazioni della versione gratuita, è difficile liquidarlo come un semplice plugin vecchio: nella pratica pochi plugin di cache eguagliano la varietà e la ricchezza delle sue funzioni.
| Voce | Valutazione (⭐) | Giudizio |
|---|---|---|
| 🎛️ Interfaccia | ⭐⭐⭐ | Molti menu e una struttura complessa; un ostacolo per i nuovi utenti. La UI sembra datata |
| ⚙️ Varietà di funzioni | ⭐⭐⭐⭐⭐ | Cache, CDN, Redis e quasi ogni altra funzione; difficile trovare qualcosa che manchi |
| 🛠️ Flessibilità di regolazione | ⭐⭐⭐⭐ | Quasi tutto è regolabile; attenzione ai conflitti tra impostazioni |
| 🚀 Guadagno di prestazioni | ⭐⭐⭐⭐⭐ | Prestazioni eccellenti una volta ottimizzato; cache degli oggetti/del browser fanno una grande differenza |
| 🧩 Compatibilità | ⭐⭐⭐ | Può entrare in conflitto con alcuni hosting, temi e plugin. |
| 📄 Documentazione e guide | ⭐⭐⭐⭐⭐ | Ampia documentazione ufficiale |
| 💡 Consiglio per gli utenti | ⭐⭐⭐⭐(4.5) | Consigliato agli utenti esperti; i principianti potrebbero preferire WP Rocket, Cache Enabler ecc. |
| 📊 Valutazione complessiva | ⭐⭐⭐⭐(4.5) | Un plugin potente e incentrato sulle funzioni. C'è una curva di apprendimento; considera il tuo livello |
Ⅴ. Test di prestazioni
Dopo aver configurato il plugin, il test di velocità finale ha mostrato un miglioramento più evidente rispetto ai plugin di cache comuni.
ℹ️ Informativa sull'affiliazione
I contenuti di questo sito includono link di affiliazione. Se un visitatore acquista un prodotto o un servizio tramite uno di questi link, il sito riceve una commissione dal venditore. In questo processo l'importo pagato dall'acquirente (durante le promozioni l'importo scende↓) non aumenta. Prezzi, sconti e disponibilità indicati si riferiscono al momento della stesura e possono differire da quelli reali: prima di acquistare verifica sempre presso il venditore. I prodotti vengono scelti e valutati secondo criteri propri, e le commissioni non influiscono sull'ordine di presentazione né sul contenuto delle valutazioni.