Quando si tratta di prestazioni web, la cache di WordPress è una di quelle cose che ogni proprietario di un sito web ad un certo punto deve affrontare. Adoriamo WordPress, ma in definitiva non è la piattaforma più veloce, specialmente se la si confronta con un sito completamente statico. Un dei motivi è che è sviluppato in PHP, che semplicemente non può far le cose più veloce di così. Abbiamo assistito ad un massiccio miglioramento delle prestazioni con PHP7, ma se non si provvede a memorizzare correttamente le pagine del sito nella cache, si arriverà comunque ad un rallentamento.

Non sarebbe bello se non doveste preoccuparvi di capire quale possa essere il miglior plugin di caching? Bene, qui da Kinsta siamo noi ad occuparci del caching per voi, in modo che voi possiate concentrarvi sullo sviluppo del vostro business.

Che cos’è la cache di WordPress?

Il caching è il processo di archiviazione delle risorse a partire da una richiesta e di riutilizzo di quelle risorse per le richieste successive. Fondamentalmente, riduce la quantità di lavoro richiesta per generare una “page view”.

Perché dovreste utilizzare la cache? É semplice: il caching rende più veloci i siti WordPress e riduce il carico sul server. Questo è il motivo per cui ogni sito dovrebbe sforzarsi di utilizzare quanta più cache possibile. In aggiunta, nel caso del caching CDN, ciò riduce la quantità di ampiezza di banda del server necessaria a generare una page view memorizzando le risorse statiche esterne a quelle del proprio host WordPress.

Nessun Plugin di Cache per WordPress è Necessario da Kinsta

Giusto! Se il vostro host WordPress è Kinsta, non dovete preoccuparvi di perdere tempo con un complicato e sconcertante plugin di caching. Questo perché abbiamo diversi tipi di caching già in funzione. Potete finalmente smettere di cercare su Google il “miglior plugin di caching del 2018” e concentrarvi maggiormente su attività più produttive.

Da Kinsta, utilizziamo i seguenti quattro tipi di cache, che vengono tutti automaticamente eseguiti a livello di software o server:

Molti dei nostri clienti riportano riduzioni di oltre il 45% nei tempi di caricamento, semplicemente migrando su Kinsta. E si tratta di siti WordPress che in precedenza avevano installati dei plugin di caching. Qui di seguito è riportato l’esempio di un sito che è stato spostato su Kinsta. In precedenza, questo raggiungeva picchi che andavano ben oltre l’intervallo di 1 secondo e, dopo essere passato da Kinsta (e aver rimosso i plugin di caching), è rimasto costantemente sotto i 500 ms.

I tempi di caricamento di WordPress da Kinsta

I tempi di caricamento di WordPress da Kinsta

Ci sono anche altre variabili coinvolte nella riduzione dei tempi di caricamento, ma il caching riveste un ruolo importantissimo. Non stiamo diciamo che nessun plugin di caching è buono. Infatti, molte volte l’inefficacia è dovuta al fatto che l’utente non configura il plugin di caching correttamente, cosa che si traduce nel rallentamento del proprio sito WordPress. Avete mai provato a configurare W3 Total Cache? Può diventare rapidamente molto intricato.

Non Dovete Crederci sulla Parola

E per quanto riguarda le prestazioni, non limitatevi a crederci sulla parola, ma leggete alcune testimonianze di persone che sono passate da Kinsta. Nessuno di questi utilizza più i plugin di caching.

Analizziamo ora ogni tipo di cache di WordPress in cui vi imbatterete regolarmente qui da Kinsta. Capire cosa fa ogni livello di caching vi aiuterà a risolvere anomalie relative alla cache e garantirà che il vostro sito funzioni senza problemi.

Bytecode Cache

La Bytecode Cache memorizza codice PHP compilato in modo tale che al successivo utilizzo la fase della compilazione possa essere saltata. Da Kinsta abbiamo attivato la OPcache in PHP 5.6, 7.0, 7.1, 7.2 e 7.3 (e lo attiveremo sulle versioni più recenti di PHP non appena saranno disponibili sulla nostra piattaforma).

Quando un file o uno script PHP viene elaborato, deve essere prima compilato in un codice operativo comprensibile alla macchina. Quello che fa la OPcache è convertire l’opcode in modo che PHP sia in condizione di evitare il passaggio della compilazione la prossima volta che sia richiesto lo stesso file o script. L’utilizzo di OPcache migliora in modo significativo le prestazioni di PHP. Tuttavia, implica anche che le modifiche ai file PHP non opereranno immediatamente. Per questo motivo, la OPcache è disativata sui siti in staging di Kinsta.

Leggete di più sul modo in cui OPcache velocizza le applicazioni PHP.

Object Cache

La Object cache memorizza i risultati delle query del database in modo tale che, la prossima volta che è richiesto un particolare bit di dati, questo possa essere consegnato dalla cache senza interrogare il database.

WordPress dispone di un oggetto cache nativo: WP_Object_Cache. Tuttavia, questo oggetto cache memorizza solo oggetti per un singolo caricamento di pagina. Lo scopo della cache è assicurare che il database non venga ripetutamente interrogato nello stesso modo durante un singolo caricamento di pagina. Ma gli oggetti memorizzati non vengono più utilizzati dopo quel singolo caricamento di pagina. Sebbene questa sia una funzionalità utile in WordPress, il caching degli oggetti è molto più potente se gli oggetti cache possono essere utilizzati tra caricamenti di pagina multipli.

É possibile modificare questa modalità e riutilizzare gli oggetti in memoria per caricamenti di pagina multipli passando dall’oggetto cache nativo di WordPress ad una soluzione esterna. Ciò avviene inserendo uno script di caching nella directory /wp-content/. Esistono opzioni basate su plugin come W3 Total Cache e WP Rocket, che prevedono l’inserimento di un file advanced-cache.php in /wp-content/.

I clienti di Kinsta possono anche acquistare la nostra add-on Redis ed averla a disposizione dalla versione 5.6 alla versione 7.0 di PHP. Redis è un archivio di strutture dati in-memory open-source, utilizzato come database, cache e broker di messaggi. Date un’occhiata al nostro articolo su come utilizzare Redis come cache di oggetti permanente per saperne di più.

Ancora alla ricerca dell'host perfetto per WordPress?

Prova il servizio premium di hosting WordPress gestito di Kinsta per creare un'esperienza senza problemi del tuo sito.
  • Controlli stilizzati rappresentanti la gestione Completamente gestito
  • Scudo con una spunta che rappresenta la sicurezzaSicuro come Fort Knox
  • Linee convergenti rappresentanti migrazioniMigrazioni gratuite
  • Tre galloni verso destra che rappresentano la velocità del serverMassima velocità
  • Freccia circolare con un punto centrale che rappresenta i backupBackup giornalieri
  • Esagoni distanziati rappresentanti lo stack del nostro serverGoogle Cloud Platform

Cache di Pagina

Il caching delle pagine consiste nella memorizzazione dell’intero codice HTML di una pagina in modo che le successive visualizzazioni possano essere generate senza che WordPress debba generare nuovamente la stessa pagina.

Quando viene caricato un sito, WordPress deve elaborare un gran numero di file PHP e interrogare il database svariate volte. Per le pagine che non sono aggiornate di frequente, questo si traduce in uno sforzo inutile. É molto più efficiente generare ogni pagina una sola volta, quindi archiviare quella pagina e consegnarla ai successivi visitatori. Questo è quello che fa il caching delle pagine.

I benefici del page caching consistono in:

  • Caricamenti delle pagine molto più veloci.
  • Drastica riduzione del carico del server e, di conseguenza, possibilità di gestire una mole di traffico enormemente superiore.

Qui da Kinsta, per il page caching i nostri server usano il modulo NGINX fastcgi cache. Ed è impostato di default per scadere ogni ora. In ogni caso, i nostri clienti possono contattarci se dovessero aver bisogno di aumentarne o diminuirne la durata.

La cache di pagina è configurata per funzionare di default nei normali siti WordPress, BuddyPress, WooCommerce, ed Easy Digital Download. Non dovete fare assolutamente niente! Basterà avviare il vostro sito WordPress e il caching di pagina comincerà a funzionare. Tuttavia, può essere necessaria una configurazione nel caso in cui si utilizzi una struttura delle URL personalizzata o allontanarsi di molto dal normale set-up di WordPress.

Come il bytecode caching (OPcache), il page caching è disattivato nei siti Kinsta in ambiente di staging.

Cache CDN

La cache CDN memorizza i file dei siti (come JavaScript, CSS e file media) su un content delivery network per una consegna più rapida ad utenti che sono geograficamente distanti dalla località del server host. Quando qualcuno cerca di raggiungere un sito, questi file sono consegnati dal CDN invece di essere consegnati dal server che ospita effettivamente il sito web. Per approfondire, leggete perché dovreste utilizzare un CDN.

Un content delivery network (CDN) offre due principali vantaggi:

Alle prese con i tempi di inattività e problemi di WordPress? Kinsta è la soluzione di hosting progettata per farvi risparmiare tempo! Scopri i nostri servizi
  • Riduce le risorse del server necessarie per caricare un sito. Dato che questo compito lo svolge la CDN, non sarà il server a doversene occupare.
  • Fa in modo che le risorse vengano consegnate da località sparse per il mondo, migliorando le prestazioni del sito per gli utenti che sono geograficamente distanti dal server che ospita il sito.

Ci sono due tipi di CDN di base: quelli che sono semplicemente dei CDN e quelli che offrono un CDN assieme a funzionalità di sicurezza. Alcuni esempi comuni di entrambi i tipi comprendono:

  • CDN Standard: Kinsta CDN (KeyCDN), Stackpath, Cloudfront.
  • CDN più security: Cloudflare, Sucuri, Akamai (opzionale).

Il primo tipo di CDN è impostato creando URL che vengono utilizzate per accedere alle risorse dei siti. Il modo preciso in cui questo è abilitato cambia da un CDN all’altro. L’idea di base è che le URL per le risorse statiche saranno cambiate nelle URL del CDN in modo che le risorse vengano recuperate dal CDN. Di solito, un CDN standard memorizza solo file statici come JS, CSS e file media. Il CDN di Kinsta è un CDN standard alimentato da KeyCDN.

Il secondo tipo di CDN funziona come server proxy completo. Ciò significa che ogni richiesta deve passare attraverso i server del provider prima di arrivare ai server di Kinsta. Questo è attivato utilizzando i nameserver del provider CDN, in modo che il provider CDN abbia il pieno controllo del DNS del sito. Questo permette al provider di fare molte cose che un semplice CDN non può fare, come filtrare il traffico da IP maligni, offrire protezione DoS/DDoS, o anche memorizzare una cache a pagina intera sul CDN.

Caching CDN Avanzato

Se state utilizzando un server proxy CDN come Cloudflare o Sucuri, avrete la possibilità di creare una cache a pagina intera sul CDN. L’utilizzo di un CDN come Cloudflare o Sucuri per memorizzare nella cache il codice HTML dell’intera pagina eliminando completamente il lavoro dei nostri server, ed è una soluzione eccellente per un sito che attende una grande ondata di traffico.

  • Sucuri imposta una cache a pagina intera se il livello di cache è impostato su “Enabled”.
  • Cloudflare richiede che siano impostate le regole delle pagine affinché la cache a pagina intera funzioni. Le regole devono utilizzare un livello di cache impostato su “Cache Everything”.

L’Header di Risposta Kinsta Cache

Puoi verificare se la tua pagina viene servita dalla cache di Kinsta analizzando gli header della risposta HTTP. Kinsta aggiunge l’header X-Kinsta-Cache. Alla prima richiesta di una pagina non in cache, verrà visualizzato MISS, come mostrato di seguito.

Header della cache MISS

Header della cache MISS

Alla seconda richiesta della stessa pagina, il valore dell’header X-Kinsta-Cache sarà HIT, che vuol dire che viene servito dalla cache.

Header della cache HIT

Header della cache HIT

E se avete letto il nostro articolo su come ottenere 100/100 in Google PageSpeed Insights, saprete che Kinsta dispone di ottimizzazioni aggiuntive a livello di server per risolvere automaticamente i seguenti messaggi di notifica, che dovrebbero esservi familiari:

  • Abilitare la compressione (Kinsta ha già attivato GZIP su tutti i server, quindi non c’è bisogno di attivarlo)
  • Ridurre i tempi di risposta del server (Kinsta è già molto veloce, decisamente all’interno dell’intervallo dei parametri ritenuto accettabile da Google senza alcuna ottimizzazione)
  • Scadenza degli Header (non c’è bisogno di attivazione perché Kinsta ha gli header della cache abilitati a livello di server)

Ad esempio, il nostro sito di prova ottiene 100/100 su PageSpeed Insights senza l’attivazione di alcun plugin di caching. La cache di WordPress è completamente gestita da Kinsta a livello di server.

PageSpeed Insights

PageSpeed Insights

Le Impostazioni della Cache di Kinsta

Potreste chiedervi ora come controllare la cache su Kinsta. Ci possono essere delle occasioni, naturalmente, in cui avrete bisogno di calcellarla, specialmente quando risolvete dei problemi. Avete un paio di semplici opzioni. Potete cancellare la cache sia dal cruscotto MyKinsta, sia utilizzando il plugin Kinsta MU.

Svuotare la Cache di WordPress

Potete svuotare manualmente la cache delle pagine dal cruscotto MyKinsta. Basterà cliccare sul menu Siti, poi su Strumenti e quindi sul pulsante “Elimina Cache”.

Svuotare la cache di WordPress

Svuotare la cache di WordPress

Il Plugin Kinsta MU

La seconda opzione è utilizzare il plugin Kinsta MU. Come? Sì, tecnicamente è un plugin di caching, ma non è il vostro comune plugin di caching, perché lavora a livello di server.

Di default Kinsta MU è un plugin installato su ogni sito ospitato da noi ed è accessibile dal lato sinistro del pannello di amministrazione di WordPress. É utilizzato per svuotare in modo intelligente la cache sulle pagine appropriate del vostro sito. Il plugin è necessario per essere sicuri che il vostro sito venga eseguito correttamente all’interno del vostro ambiente. Inoltre, ricordate che la cache delle pagine scade di default ogni ora.

Il plugin Kinsta MU

Il plugin Kinsta MU

Il plugin permette anche di svuotare la cache direttamente dalla barra di amministrazione di WordPress. Questa è probabilmente il motivo principale per utilizzarlo, dato che non dovrete mai entrare nel cruscotto MyKinsta. Potrete farlo direttamente dal vostro sito.

Svuotare la cache dalla toolbar di WordPress

Svuotare la cache dalla toolbar di WordPress

Il plugin vi permette anche di impostare regole di caching personalizzate. A seconda della configurazione del vostro sito, potrebbero essere richieste regole di caching aggiuntive. Potete aggiungere percorsi personali per liberare la cache ogni volta che il vostro sito viene aggiornato.

Statistiche Cache di Kinsta

Potete fare un’analisi approfondita di come il vostro sito WordPress sta utilizzando la cache in MyKinsta Analytics. Lo stack dei componenti della cache vi consente di visualizzare lo stato di ciascuna richiesta, sia che si tratti di HIT, BYPASS, MISS o EXPIRED. È possibile filtrare i dati per le ultime 24 ore, per 7 giorni o 30 giorni.

Stack composizione cache di Kinsta

Stack componenti cache di Kinsta

Il grafico dei componenti della cache vi offre una visualizzazione rapida del vostro indicatore di cache. Maggiore è il numero di richieste che vengono servite dalla cache, meglio è.

Diagramma dei componenti della cache di kinsta

Diagramma dei componenti della cache di kinsta

La sezione dei principali bypass della cache vi consente di vedere quali richieste non vengono servite dalla cache. In genere queste possono includere CRON job, richieste admin-ajax, pagine di checkout di ecommerce, query string e parametri UTM, ecc.

Principali bypass della cache di WordPress

Principali bypass della cache di WordPress

Riepilogo

Ci auguriamo che ora ci sia più chiarezza sulla cache di WordPress e sui quattro diversi tipi di cache che incontrerete regolarmente su Kinsta: Bytecode cache, Object cache, Page cache e CDN cache.

Se vi siete stancati di perdere tempo con i tradizionali plugin per il caching di WordPress, e se volete un sito che sia semplicemente veloce, allora vi consigliamo di provare Kinsta! C’è una ragione per cui ci è stato riconosciuto da ReviewSignal per 4 anni di seguito lo status di “primo livello” nelle prestazioni di WordPress. Questo perché i nostri server sono perfettamente configurati al top di Google Cloud Platform per avere tempi di caricamento immediati. Non rimarrete delusi dalle nostre prestazioni.