Per l’utente del Web è fondamentale che le applicazioni rispondano il più rapidamente possibile, riducendo al minimo i tempi di latenza di rete. E questo tipo di requisito è cruciale anche in ottica SEO, dal momento che siti web con alta latenza sono penalizzati dai motori di ricerca.
Per migliorare i tempi di risposta, uno dei meccanismi più efficaci è l’uso di una cache, che può essere implementata in diversi modi.
Cache
Applicare una cache significa essenzialmente collocare un sistema di memorizzazione che garantisca una risposta molto veloce, facendo in modo che dati richiesti più frequentemente non vengano costantemente recuperati dal database o richiesti attraverso la rete, ma siano pronti per essere restituiti all’utente. L’effetto di un’ottimizzazione basata sull’uso dalla cache fa quindi leva sulla differenza di velocità tra diverse modalità di recupero dati.
Nel web, una cache può essere instaurata in diversi punti della comunicazione: internamente al browser o a livello server. La prima è disponibile in ogni browser moderno, e quasi tutti gli utenti ci hanno avuto a che fare in qualche modo. In questo contesto, ci interessa maggiormente comprendere il secondo caso, e cioè la cache in un ambiente server. Essa permette di velocizzare il recupero di dati che mutano raramente. Ad esempio, i principali riferimenti possono rimanere gli stessi per tutta la vita dell’organizzazione titolare di un sito, gli articoli in evidenza di un blog restano gli stessi per un determinato lasso di tempo che può durare giorni, per non parlare di contenuti più duraturi come l’elenco dei nomi delle regioni italiane. In generale, non è sempre efficiente la scelta di effettuare una query per recuperare costantemente dati così longevi, poiché si produrrebbe un sovraccarico di lavoro per il database facilmente evitabile. Basterebbe piuttosto conservarli in una memoria veloce che li metta a disposizione del codice: un meccanismo di cache, appunto.
Una cache ha tipicamente una struttura chiave/valore, pertanto memorizza le informazioni da restituire etichettandole con un identificativo univoco, detto chiave, che le rende riconoscibili e facilmente recuperabili. Tanto per fare qualche nome, uno dei più conosciuti DBMS NoSQL come Redis deve parte della sua fortuna al suo impiego nel caching: si tratta infatti di un database di tipo chiave/valore che può lavorare totalmente in memoria, con dati volatili e di conseguenza velocissimi da recuperare.
Un altro sistema molto diffuso è Memcached: gratuito, veloce e open-source, può essere installato in vari ambiti in soluzione stand-alone o incluso in altri tool. Uno dei suoi settori principali di impiego è relativo all’ottimizzazione dei CMS, e WordPress è uno di questi.
Memcached in WordPress
Memcached può essere utilizzato in molti modi. Installato come servizio autonomo, ci si può interagire da riga di comando o tramite linguaggi di programmazione. Ad esempio, per PHP esiste un’estensione denominata php-memcached. Per utilizzarlo in WordPress, si ricorre a plug-in facilmente installabili che molto spesso offrono vari tipi di cache per la velocizzazione sia delle pagine sia del database. Considerando un sito web generato su un dominio in Cloud Hosting di Aruba Business mediante il pannello Plesk, potremmo fare riferimento alla scheda plug-in del WordPress Toolkit.
Qui, selezioniamo il pulsante Installa per visualizzare il pannello di ricerca dei plug-in. Tramite il campo di ricerca, inseriamo “memcached” e confermiamo con il tasto Invio.
Come si vede in figura, vengono offerte una serie di soluzioni installabili sul proprio sito web con un semplice click su Installa. Ad esempio, possiamo decidere di installare il plugin W3 Total Cache, e cliccare quindi su Gestisci in WordPress per passare alla sua configurazione nel backend del CMS.
Una volta arrivati alla configurazione di WordPress, tramite la scheda plugin, si può entrare nelle Settings del singolo componente e attivare la tipologia di caching che si desidera. In particolare, W3 Total Cache rende disponibili le proprie configurazioni nella sezione Performance del backend di WordPress. Come molti altri plugin, permette di agire con vari tipi di cache e, a seconda delle nostre preferenze, potremo abilitare l’uno o l’altro selezionando la tecnologia che più si addice al nostro progetto. Possiamo quindi optare per Memcached o per una delle altre opzioni disponibili nell’installazione:
Nello specifico caso di Memcached, va verificato l’indirizzo del server che effettivamente renderà attiva la cache: nella pagina Page Cache della sezione Performance, tra le impostazioni Advanced, si potrà specificare indirizzo IP e porta TCP di quello a propria disposizione.
Quando si cerca di ottimizzare un sito web mediante l’utilizzo di cache o altri accorgimenti, è buona norma misurarne la velocità prima e dopo la loro adozione e non affidarsi solo a prove empiriche. Per questo scopo esistono molti tool on line tra cui, ad esempio, GTMetrix o PageSpeed Insights di Google.
Si consideri tuttavia che tali strumenti offrono dei risultati che vanno interpretati opportunamente, ma per comprenderne a pieno il significato sarebbe bene leggere accuratamente la documentazione messa a disposizione dagli stessi tool.