Ottimizzazione WordPress (parte 2): utilizzo dei caching plugin per velocizzare il sito

Come già discusso nel precedente articolo sulle necessità di ottimizzare i Siti web creati in WordPress per poter gestire un aumento di traffico e popolarità, uno dei metodi senz’altro più applicati e che fornisce risultati tangibili (in molti casi perfino sorprendenti!) è quello di installare un plugin che si occupi di effettuare il caching dei contenuti.

Cosa sono i plugin di gestione cache e perchè migliorano le prestazioni di WordPress?

Senza addentrarci troppo nei dettagli, possiamo semplificare dicendo che la caratteristica principale di un Content Management System (CMS) è quella di poter gestire dinamicamente i contenuti di un sito web, eliminando quindi il problema di dover riscrivere larghe parti di codice ogni volta che si desidera fare una modifica, aggiungere un testo, una pagina, un commento ecc. Questo è possibile grazie all’interazione delle pagine generate dal CMS (nel caso di WordPress in linguaggio Php) con i contenuti archiviati in un database, che vengono in parte letti o scritti ogni volta che un qualsiasi utente compie un’azione sul sito web. Proprio questa continua interazione con il database è quella che ci permette di avere sempre contenuti aggiornati in tempo reale, ma il rovescio della medaglia è che ognuna di queste “interazioni” richiede risorse di sistema del server per poter essere gestita. Quante più sono le interazioni, cioè in ultima analisi gli utenti che navigano e interagiscono contemporaneamente sul sito, tanto maggiore sarà questo consumo di risorse. Naturalmente va considerato che una importante voce in capitolo per le prestazioni del nostro sito in WordPress di medio traffico la ha il nostro piano Hosting, che dovrà garantire una adeguata disponibilità di risorse di sistema al nostro sito (meglio preferire una soluzione no overselling o con ridotto affollamento del server che lo ospita), meglio ancora se in un ambiente Cloud con limiti e risorse preassegnati per ciascun account (come nel caso dei piani Linea Pro di LineaHosting)

I caching plugin vanno ad agire proprio su queste interazioni, partendo dal presupposto che – nell’utilizzo reale di un sito web – non tutti i contenuti debbano necessariamente cambiare da un utente all’altro e da un minuto all’altro. Se ad esempio una pagina non cambia i propri contenuti testuali  e la propria impaginazione grafica nell’arco di 24h, quale utilità ha interagire ogni volta, per ogni singolo visitatore di quella pagina, richiamare tali contenuti all’interno del database per poter essere visualizzati? Proprio su questo si basa il principio di funzionamento di questi plugin, che si occupa di “stoccare” una versione statica di tutte quelle parti che non cambiano tra una visualizzazione e l’altra e tra un utente e l’altro, in modo da ridurre notevolmente la quantità di interazioni php-mysql e, più in generale, tutte le operazioni più intensive. Questo compito viene svolto con varie tecniche che sfruttano, a seconda dei casi, la creazione di una versione statica della stessa pagina, oppure l’utilizzo di varie tecnologie per riciclare le porzioni di codice più frequentemente richiamate dal sito, per ridurne il peso, per comprimere il codice html, javascript e css in uscita, ecc.
In aggiunta a queste funzioni, la maggior parte dei plugin di questo tipo dispongono di funzioni di ottimizzazione di vari parametri, per rendere la nostra installazione WordPress ancora più efficiente e meno pesante. Vediamo di seguito le soluzioni più in uso:

W3 TOTAL CACHE

In assoluto uno dei plugin più utilizzati e con un rating molto alto, è disponibile gratuitamente e con alcune funzioni accessorie in versione Premium (non indispensabili). Si tratta di  una soluzione molto completa, con una serie particolarmente dettagliata di parametri configurabili. C’è una gestione completa delle modalità di caching e delle eccezioni, funzioni per l’ottimizzazione dei file css e js, minify html e css, gestione separata del caching per utenti mobile o per utenti loggati e tanto altro ancora. Le guide in linea sono molto dettagliate e ampie. Forse è proprio questa ricchezza di features e di impostazioni che lo rende più adatto a webmaster con una certa dimestichezza della materia, mentre potrebbe spaventare il neofita in cerca di un plugin semplice.

DOWNLOAD

WP SUPER CACHE

Assieme a W3 Total Cache, è tra i plugin più noti ed utilizzati con successo per questo genere di applicazioni. A differenza del precedente, presenta un impostazione molto più semplice e questo lo rende particolarmente “facile” per un utilizzo generico anche da parte di un principiante. Ovviamente la minore disponibilità di personalizzazioni lo rende un po’ meno flessibile quando si tratta di ottenere specifiche personalizzazioni. Prestazioni molto valide, anche in quelle configurazioni hosting low-end che dispongono di poche risorse.

DOWNLOAD

WP FASTEST CACHE

Wp Fastest Cache è un plugin apparso in tempi più recenti sulla scena degli ottimizzatori WordPress, ma si è guadagnato velocemente la stima di molti utenti, per la sua completezza di funzioni (anche in questo caso, esiste una più semplice versione free e quella completa a pagamento) e per i risultati raggiunti. Senz’altro da tenere presente e considerare al pari dei precedenti. Anche in questo caso, come per i suoi rivali, occorre tenere d’occhio le incompatibilità con temi e altri plugin, ampiamente documentate.

DOWNLOAD

WP ROCKET

Un modulo a pagamento che ha raggiunto grande notorietà in tempi recenti e che si distingue principalmente per l’estrema facilità di utilizzo. Basta attivarlo infatti dal pannello WordPress, al resto pensa tutto lui. Molte le funzioni disponibili che WP ROCKET attiva in automatico, con una completezza di caratteristiche avanzate come ad esempio il pre-loading, lazyload delle immagini, utilizzo di Cloudflare, compressore di immagini, minificazione/concatenazione, prefetch dns ed altro ancora. Se il costo (da 39 a 199 dollari) non vi spaventa, è senz’altro una soluzione da tenere in grande considerazione.

COMET-CACHE

Un’altra soluzione che ci sentiamo di consigliare è CometCache (precedentemente più nota come ZenCache) e che utilizza molte delle funzioni più importanti degli altri moduli, molto facile da utilizzare nella versione free con le impostazioni predefinite oppure più personalizzabile e con funzioni aggiuntive nella versione a pagamento. Le prestazioni sono in linea con quelle dei caching plugin concorrenti, quindi vale senz’altro la pena sperimentarla.

Come mai WordPress non offre una soluzione di caching già integrata? Il rovescio della medaglia…

Se questi plugin offrono così tante ottimizzazioni e miglioramenti delle prestazioni, come mai gli sviluppatori WordPress non hanno preso in considerazione l’idea di svilupparne una in proprio da integrare già nel loro CMS? La risposta più semplice e immediata probabilmente è che questi plugin restringono le compatibilità e dunque la flessibilità di WordPress, oltre che non essere necessari per una vasta fetta dei tantissimi utilizzatori di questo software.

Occorre infatti tenere presente che tutti questi plugin introducono una serie di incompatibilità con temi WordPress o con altri plugin già presenti, e che non sempre queste incompatibilità sono prevedibili né facilmente risolvibili. Questo deve quindi indurre a fare un adeguato periodo di test e di ottimizzazione per assicurarsi che il nostro sito web non abbia malfunzionamenti o comportamenti strani (es: contenuti che dovrebbero aggiornarsi e invece non lo fanno, mancato caricamento di parti e funzioni del sito ecc.). In questo senso, i plugin con una più alta possibilità di personalizzazione sono quelli che hanno maggiori possibilità di poter essere al 100% compatibili con le applicazioni più disparate.

More

Ottimizzazione WordPress (parte 1): i trucchi per un sito sempre veloce

Due dei motivi più importanti per cui WordPress ha avuto tanta diffusione come CMS per la pubblicazione di contenuti, a partire dal piccolo Sito Web o Blog personale fino ad arrivare al grande portale di informazione di una rivista o di un quotidiano nazionale, sono la facilità di utilizzo e la grande flessibilità che lo rendono adattabile quasi ad ogni scopo. Questa versatilità viene ulteriormente ampliata dalla presenza di una vasta community di sviluppatori, che forniscono una nutrita varietà di temi e plugin opzionali, sia gratuiti che a pagamento.

Se da un lato quindi verrebbe quasi naturale pensare a WordPress come prima soluzione “plug and play” per le nostre esigenze di creazione di un Sito Web, talmente facile da poter andare online in mezza giornata, dall’altro esiste un aspetto di cui dovremo tenere necessariamente conto se il nostro intento è rivolgersi ad un pubblico più vasto di poche decine o centinaia di visitatori giornalieri:

L’ottimizzazione di WordPress: quando e perchè è importante per le prestazioni del nostro sito.

Nei prossimi  articoli ci occuperemo più in dettaglio di tutti gli aspetti legati all’ottimizzazione di un sito basato su WordPress, ma quest’oggi ci concentriamo sull’approccio e le motivazioni che ci spingono a parlare di problemi e soluzioni sulle performance di WordPress.
Sebbene si tratti di un ottimo CMS che non richiede particolari accorgimenti per essere utilizzato su siti e blog con traffico minimo, come molti altri software per la gestione dinamica dei contenuti il problema prestazionale inizia a palesarsi non appena il nostro sito WordPress raggiunge una modesta notorietà e/o una certa dimensione. Per fare una stima molto generica, parliamo di qualche migliaio di visitatori al giorno (ma a volte anche molto meno!), specie se in combinazione con un database abbastanza ampio, popolato da molti contenuti. I “sintomi” di questo degrado delle performance, in una fase iniziale, potrebbero essere notati solo dal nostro Hosting Provider, per poi manifestarsi con un graduale rallentamento nella navigazione di varie parti del sito. Il degrado può essere via via più evidente con il crescere del consumo di risorse di sistema (CPU, RAM, ecc.) e può essere fortemente peggiorato dall’utilizzo di temi Worpress esteticamente accattivanti ma molto pesanti sul fronte prestazionale e/o dall’aggiunta di numerosi plugin, più o meno complessi e più o meno ottimizzati per poter gestire un traffico non irrisorio.
Non ci dilungheremo qui sulle motivazioni tecniche legate a questo aumento di carico sul server, ma ci concentreremo invece sugli effetti: ciò che vogliamo assolutamente evitare è che i nostri visitatori fuggano perchè infastiditi da una eccessiva lentezza di navigazione del nostro sito, tenendo anche conto che il posizionamento all’interno dei motori di ricerca può senz’altro dipendere anche dalle performance del nostro sito.  Ovviamente, partiremo dal presupposto di voler sfruttare al meglio le potenzialità della soluzione di Hosting che abbiamo scelto, prima di pensare ad un upgrade verso una soluzione più performante, come potrebbe essere un VPS o un Server Dedicato.

Una chimera?
Nient’affatto! Come scopriremo nei prossimi articoli, esistono accorgimenti mirati che possono notevolmente migliorare le prestazioni del nostro sito in WordPress, anche in caso di aumento consistente di traffico! Ovviamente la scelta di un Hosting ottimizzato per WordPress e con risorse garantite può essere già un ottimo punto di partenza su cui costruire un sito che (prevedibilmente) non sarà destinato solo a un numero molto limitato di lettori o potenziali clienti.

Parte 2: ottimizzazione di WordPress con i cache plugin

More

Le (costose) Redemption Fees: cosa sono e come evitarle

I costi definiti come “Redemption Fees” (in italiano potremmo tradurle come “commissioni di riscatto”) sono costi amministrativi applicati dai Registrars e Hosting Providers ogni qual volta un dominio oltrepassa il suo termine di rinnovo, con tempistiche e importi che variano a seconda del TLD e del Registrar.

Domini scaduti? Un “salasso” chiamato Redemption Fee.

Si tratta di oneri perfettamente legali in quanto consentiti dai rispettivi regolamenti di assegnazione dei nomi a dominio (.COM, NET, ORG, EU ecc), e giustificati da un’attività più o meno manuale che il Registrar deve compiere per recuperare il dominio dallo status di EXPIRED (REDEMPTION PERIOD).

Fondamentalmente, al raggiungimento dei termini di scadenza di un dominio, il Registrar che ci ha fornito il dominio (che spesso non corrisponde al Provider tramite il quale lo abbiamo ordinato) può farne grossomodo ciò che vuole, adottando politiche di gestione della cancellazione che possono variare da Registrar a Registrar, sebbene nel rispetto di alcuni vincoli previsti dal regolamento di ciascun TLD.

Ad esempio, per i domini .COM le Redemption Fees solitamente vengono applicate soltanto dopo un periodo definito GRACE PERIOD (15-30gg), in cui viene permesso di rientrare in possesso del dominio pagando semplicemente il costo di rinnovo già dovuto. Una volta raggiunto anche il termine del GRACE PERIOD, il Registrar potrebbe concedere un ulteriore periodo in cui il dominio è in REDEMPTION-PERIOD. Il recupero del dominio dallo status di REDEMPTION è particolarmente costoso. Ad esempio per LineaHosting i costi di Redemption sui domini .COM hanno un costo minimo di 100,00€ +iva una tantum (di cui una gran parte va al Registrar), ma non è raro vedersi richiedere 250-300$ o più, anche dai Registrar più noti.
In altri casi, le Redemption Fees ovvero il REDEMPTION PERIOD potrebbe essere applicato immediatamente alla scadenza del dominio e/o essere di importo inferiore o anche nettamente superiore, quindi occorre prestare la massima attenzione alle date di rinnovo dei propri domini, se si vogliono evitare costosi addebiti.

Molti Clienti di servizi di Hosting lamentano il fatto che, a loro giudizio, i costi associati a queste Redemption fees sono troppo elevati. E’ innegabile che una “sovrattassa” di 100 o 200 euro su un dominio che ne costerebbe il 10%, può legittimamente essere percepito come un furto legalizzato… ma il costo della manodopera dei Registrars e della quantità di lavoro che dovranno impiegare per eseguire il recupero, è insindacabile e quindi ne va solo preso atto. Né possiamo prendercela con il nostro Hosting Provider, che in molti casi è solo un intermediario che si avvale di Registrars accreditati.

Di conseguenza, esiste un solo modo molto semplice che ci permette di evitare questi costosi balzelli: non perdere di vista le date di scadenza (e i promemoria via email inviati dal tuo Provider) dei domini che desideri mantenere.

Posso ancora trasferire un dominio scaduto?

Dipende. Se il Registrar non ha ancora posto il dominio in status EXPIRED (REDEMPTION-PERIOD) e non ha ancora avviato le pratiche di cancellazione (status PENDING-DELETE), teoricamente potresti ancora trasferire il dominio senza dover pagare il rinnovo al Provider con cui lo avevi in gestione. Il condizionale è d’obbligo, perchè devono sussistere le condizioni necessarie (grace period concesso dal Registrar), il dominio deve essere stato sbloccato, devi già possedere il codice di trasferimento EPP o Auth Code (se previsto) e ovviamente devi poter accedere all’indirizzo email che era indicato come contatto Admin-c del dominio, perchè nessuna operazione di modifica ti sarà permessa.

Cosa succede se non pago la Redemption Fee?

Nel caso in cui, ad un dominio già scaduto, siano applicabili i costi di Redemption ma che questi risultino troppo onerosi per te, esiste ancora una possibilità di rientrare in possesso del dominio una volta che subentri la sua definitiva cancellazione (status: Pending Delete e quindi Deleted).  A seconda della tipologia di dominio, possono occorrere mediamente 60-90 giorni prima della effettiva cancellazione. Attenzione però! anche utilizzando le cosiddette funzioni di Backorder (prenotazione) di un dominio, nessun Provider o intermediario è in grado di fornirti alcun tipo di garanzia sulle possibilità di riuscita di una nuova registrazione dello stesso dominio, una volta che questo venga cancellato!

Una volta reso disponibile, un dominio potrebbe essere infatti oggetto di altre richieste di registrazione, spesso da parte di società intermediarie che speculano sia sulla rivendita di domini cancellati, sia sul loro utilizzo per finalità di SEO/ranking nei motori di ricerca. Non è raro trovare domini (anche italiani), anche apparentemente di poco valore, che vengono ri-registrati immediatamente da società estere e parcheggiati su pagine pubblicitarie o rimessi in vendita il giorno stesso.
Per questa ragione, la soluzione di attendere la cancellazione del dominio deve essere ponderata attentamente in base al valore che attribuiamo a quel dominio, in quanto priva di qualsiasi garanzia di buon esito.

More

“Sito non sicuro”: quando il tuo sito non piace a Google Chrome

Fin dal 2014 Google aveva annunciato di voler intraprendere un percorso di innovazione, mediante il proprio browser Chrome, che portasse idealmente ogni sito Web presente in Internet ad utilizzare il protocollo sicuro https come standard. Naturalmente la notizia non ebbe grande rilievo al di fuori della cerchia degli “addetti ai lavori”, almeno fino a quando non venne annunciato – e arriviamo all’autunno scorso – che da Gennaio 2017 gli aggiornamenti di Google Chrome avrebbero introdotto importanti novità in merito.

Moduli di contatto, login form e supporto https

Premettendo che Google Chrome attualmente ha una diffusione desktop +  mobile stimata attorno al 60% (fonte: Netmarketshare), a qualunque titolare di siti e servizi online, siano essi commerciali o informativi, non può sfuggire che da Gennaio 2017, in presenza di moduli form che richiedano all’utente informazioni sensibili quali ad esempio i campi password o di carte di credito, apparirà al visitatore/utente un avvertimento di “Sito non sicuro” se la pagina su cui è inserito il modulo (form) non è supportata da una connessione sicura “https”.

Notifica di sito non sicuro di Google Chrome
Esempio con moduli form su connessione non sicura (http)

Perchè è importante dotare il proprio sito Web del supporto “https”

Google, nella sua scelta, individua due ragioni fondamentali:

  1. Autenticazione del sito Web:
    Per supportare il protocollo https, come vedremo tra breve, il titolare del sito web deve installare un certificato SSL che, a seconda dei casi, necessita di alcune verifiche sull’ identità del titolare e quindi sulla legittimità del sito stesso. In parole più semplici, aiuta l’utente visitatore a sapere se il sito web che sta visitando è realmente quello che dice di essere. Vedremo di seguito come questo accade.
  2. Integrità dei dati trasmessi:
    Il protocollo https innalza il livello di sicurezza di trasmissione dei dati tra il client (browser) ed il server, perchè tutte le informazioni transitate da/verso il server (incluse le password, i dati sensibili, ecc.) vengono criptati in tempo reale, in modo da non essere facilmente rubati in caso di compromissione di sicurezza in un punto qualsiasi del percorso tra il browser ed il server finale.

Come attivare il supporto “https” sul proprio sito Web?

La maggior parte dei servizi di Hosting condiviso, VPS o Server dedicati hanno già una configurazione idonea ad installare un Certificato SSL , che è lo strumento con cui il Web server è in grado di attivare automaticamente la crittazione di qualsiasi browser di qualsiasi utente durante la navigazione del dominio su cui il Certificato SSL è presente. Questo supporto al protocollo https viene evidenziato dal browser con l’attivazione di un’icona (un lucchetto) che appare nella barra di navigazione e, in alcuni casi che vedremo, diventa di colore verde e visualizza il nome dell’azienda titolare del sito web, accanto ad esso.

Certificati SSL gratuiti

Esistono varie soluzioni di Certificati SSL, ma da qualche tempo ne esiste qualcuna senz’altro più rapida e totalmente gratuita: parliamo dei Certificati SSL gratuiti, il più noto dei quali è Let’s Encrypt, che vengono supportati da alcuni servizi di Hosting senza costi aggiuntivi. Ad esempio, LineaHosting fornisce i propri piani Hosting Linea Pro con il supporto SSL Let’s Encrypt già incluso ed attivato, che permette di accedere indifferentemente al proprio sito Web con connessione http oppure https, a seconda delle necessità.
Queste soluzioni non devono essere considerate sostitutive di un buon certificato commerciale, in quanto non dispongono di alcun tipo di copertura assicurativa e non forniscono all’utente alcuna “certificazione” sull’effettiva identità del titolare del sito Web, però possono essere utili per coprire usi non critici, quali ad esempio l’accesso ad aree riservate per i propri Clienti, ecc.
Per usi commerciali, invece, è più consigliabile rivolgersi a Certificati SSL Premium.

Certificati SSL Premium

Si distinguono in varie tipologie, a seconda del tipo di certificazione rilasciata, della copertura assicurativa e degli accessori forniti. I costi variano da pochi euro all’anno fino a 100-200 euro all’anno per dominio, che solitamente occorrono per il rilascio di un Certificato SSL di tipo EV (Extended Verification), ovvero di quelli che attivano il lucchetto/barra verde di navigazione e visualizzano il nome del titolare del certificato direttamente nel browser

Certificati SSL EV e green bar
Attivazione dello sfondo verde nei Certificati SSL EV

Solitamente l’investimento di poche decine o poche centinaia di euro all’anno diventa consigliabile o addirittura necessario nel caso in cui si debba costruire con l’utente visitatore un rapporto di massima fiducia. Pensiamo ad esempio ai siti E-commerce, in cui l’utente possa sentirsi rassicurato dal fatto che l’identità del venditore e del sito web siano stati effettivamente verificati e certificati da un ente esterno, e che le pagine che sta visitando siano effettivamente su un server sicuro di quel venditore.

Tratteremo in seguito più dettagliatamente le differenze tra i vari tipi di Certificato SSL Premium in commercio e come vengono installate, ma vale qui la pena ricordare un altra importante innovazione degli ultimi anni: non è più necessario disporre di un indirizzo IP dedicato per poter installare un Certificato SSL sul proprio sito Web, come accadeva fino a pochi anni fa. Questo li rende pienamente compatibili con qualsiasi soluzione Hosting che supporti i certificati SSL, anche su server condivisi.

Perchè non rimandare l’acquisto di un Certificato SSL.

Se il vostro sito Web non è stato ancora equipaggiato per supportare il protocollo https, è meglio muoversi per tempo

Sarà questo il prossimo passo?

Nella roadmap di Google sembra chiaramente tracciato un passo avanti nella penalizzazione di quei Siti Web che richiedono una qualsiasi interazione all’utente e che non vorranno adeguarsi. In tempi non lontani, il controllo sul supporto https verrà ampliato e un giorno i visitatori all’ingresso del vostro sito potrebbero essere allertati da un messaggio minaccioso di questo tipo. Considerando la piena disponibilità di soluzioni SSL a bassissimo costo o, come visto poc’anzi, addirittura gratuite, crediamo sia  meglio non aspettare.

More