Hosting WordPress preinstallato e gestito con il 50% di sconto. Scopri la promo
Molti nostri clienti utilizzano l’ormai diffusissimo WordPress come cms per gestire il proprio sito/blog.
Nella nostra esperienza maturata in questi anni, siamo riusciti a stilare per i nostri clienti un elenco dei migliori plugin per ottimizzare al massimo le prestazioni di wordpress (sfruttando anche caching di pagine e query sul database).
Oggi presentiamo due plugin per ottenere i migliori risultati nella creazione di una cache e rendere così ancora più veloce il caricamento delle pagine.
WP Super Cache permette di abilitare un motore di caching molto avanzato, che si integra perfettamente in tutto il core di wordpress.
L’installazione è molto semplice e sono richiesti pochi minuti per la configurazione. Una volta installato, vai nella pagina Impostazioni -> WP Super Cache. Cliccando sulla scheda “Avanzato” procederemo ad una configurazione ottimizzata.
Spuntiamo le seguenti voci:
Tutto il resto delle opzioni nella sezione possono essere disabilitate. Salviamo cliccando su “Aggiorna stato“. Fatto questo, tornando nella stessa pagina, scorriamo fino alla sezione “Regole Mod Rewrite“. Qui clicchiamo su “Aggiorna le regole di Mod_Rewrite“. Il plugin riscriverà il file .htaccess principale in un modo simile a questo:
# BEGIN WPSuperCache
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) "/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz" [L]
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html" [L]
# END WPSuperCache
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Per fare tutto questo, chiaramente, dovremmo avere sul server fastcgi (o suphp) oppure il chmod a 777 per il file .htaccess e la cartella wp-content/cache/ (sui server Serverplan abbiamo fastcgi, pertanto non c’è bisogno di impostare manualmente i permessi di scrittura).
D’ora in poi, alla prima richiesta di una pagina pubblica da parte di un utente web, apache cercherà il file con lo stesso nome nella cartella wp-content/cache/. Se esiste, restituisce direttamente questo file “statico” senza passare per il motore di wordpress (risparmiamo CPU e RAM tra mysql e php) altrimenti genera la pagina statica facendo una sola volta le richieste a php/mysql. Il guadagno in termini di risorse e tempo sono enormi.
DB Cache Reloaded Fix: in aggiunta al plugin precedente, sarebbe ottimo installare questo plugin per gestire una cache anche per le query che effettua il core di wordpress su MySQL.
La configurazione è semplicissima: una volta installato andiamo in Impostazioni -> DB Cache Reloaded e abilitiamo l’opzione “Abilita“. Clicchiamo su “Salva” ed è già funzionante! Davvero molto facile.
Per verificare il funzionamento di entrambe i plugin, andiamo su una qualunque pagina del nostro blog (anche l’homepage va bene). Visualizziamo il sorgente (CTRL + U su firefox) e verifichiamo che all’interno dell’html ci siano questi due commenti:
(I dati indicati sono solo esempi) Questa verifica ci indica che i due plugin stanno funzionando correttamente e il sito è perfettamente ottimizzato.
Abbiamo riscontrato dei problemi di carico con qualche plugin che alcuni clienti hanno installato nel proprio blog. In particolare il plugin YARPP (Yet Another Related Posts) sta creando notevoli problemi sulle query MySQL che effettua. Consigliamo pertanto di disabilitarlo o di installare la versione 3.0 su cui è stata introdotta l’integrazione della cache con WP Super Cache. Riportiamo la FAQ direttamente dal sito dello sviluppatore:
Does YARPP slow down my blog/server?
A little bit, yes. However, YARPP 3.0 introduced a new caching mechanism which greatly reduces the hit of the computationally intensive relatedness computation. In addition, I highly recommend all YARPP users use a page-caching plugin, such as WP-SuperCache.
Se abbiamo un database particolarmente grande, possiamo ottimizzare il plugin impostandolo come segue:
- turning off "cross relate posts and pages";
- turning on "show only previous posts";
- not considering tags and/or categories in the Relatedness formula;
- not excluding any tags and/or categories in The Pool.
14 commenti presenti
Andreone ha commentato il 2013-12-06 19:40:57
Richiede la modifica dei permalink…….. secondo gli sviluppatori io mi dovrei perdere tutti i “mi piace” di un articolo (a volte sono anche 2/3000 mi piace per articolo) perchè per far funzionare questo PLUGIN da due soldi bisogna modificare il permalink???
Ma fatemi il piacere!
Riccardo Esposito ha commentato il 2013-12-12 09:05:39
Ciao! Ti riferisci a WP Super Cache?
Andrea Tisato ha commentato il 2014-02-08 12:41:03
Bell’articolo!
Grazie delle preziose informazioni.
Quali sono i “commenti” che dovrebbero essere presenti all’interno dell’html per verificare il funzionamento corretto del plugin?
Grazie
simon ha commentato il 2014-05-26 08:12:18
ciao, grazie per l’articolo!
ho un problema con wp super cache.
mi genera il seguente errore:
Permlink Structure Error
A custom url or permalink structure is required for this plugin to work correctly.
Please go to the Permalinks Options Page to configure your permalinks.
potete aiutarmi perfavore?
debora ha commentato il 2014-11-01 10:20:50
Ciao, ottime informazioni grazie.
Una domanda in merito al riferimento dei database molto grandi: quando un database può essere definito tale?
Io per esempio adesso ho circa 600 articoli
grazie mille
Riccardo Esposito ha commentato il 2014-11-04 14:54:19
Ciao!
Non c’è un valore esatto, possiamo parlare di almeno 100.000 record.
Emanuele ha commentato il 2014-11-26 17:35:26
Salve, nella vostra guida menzionate un plugin che è vecchio e non più supportato : DB Cache Reloaded Fix .
Se volete che la gente usi i vostri accorgimenti almeno aggiornate la guida con qualcosa che sia compatibile e non che rischi di far andare a gambe all’aria il lavoro altrui.
Sergio ha commentato il 2015-05-04 19:22:50
Per l’installazione su configurazioni WP+WC la guida è inutilizzabile creando noti problemi con i carrelli dinamici, una guida a W3 total cache sarebbe più utile essendo un plug molto più flessibile e “adattabile” alle diverse esigenze.
andrea ha commentato il 2018-04-05 10:37:31
ciao dato che il plugin è stato aggiornato vi chiedo di aggiornare la guida con la nuova visualizzazione grazie
Riccardo Esposito ha commentato il 2018-04-08 08:56:16
Ciao Andrea, quanto prima. Grazie per la segnalazione.
gianluca ha commentato il 2019-08-21 06:42:44
Ciao aspettiamo da solo 1 anno e 5 mesi, perché le configurazioni sono dei segreti per i fornitori di hosting!
IO uso autoptimize e WP Fastest Cache molto stabili anche in uptime robot. nel altro sito ho iniziato ad usare Super e htaccess personalizzato dato che super non lo modifica.
Christian Cantinelli ha commentato il 2019-08-21 09:40:01
Ciao Gianluca, Autoptimize e WP Fastest Cache sono anche loro dei plugin molto affidabili.
Da molti mesi abbiamo pubblicato nuove guide direttamente nell’area di supporto per W3TC e altri plugins che puoi trovare qui:
https://help.serverplan.com/it/kb/articles/come-posso-ottimizzare-il-mio-wordpress-per-velocizzare-il-caricamento
In via generale molti dei plugins di WordPress che gestiscono la cache sono perfettamente compatibili con qualsiasi hosting, l’importante è che gestiscano la cache tramite htaccess (come viene fatto da W3TC, WP Fastest Cache, WP Super Cache, etc.) per servire direttamente le pagine html cachate in modo da non passare per PHP e risparmiare tempo macchina.
Ti ricordiamo che i nostri servizi di hosting hanno storage SSD: questo vuol dire che l’erogazione delle pagine tramite questi plugins è molto-molto veloce.
A presto,
Giuseppe ha commentato il 2021-01-27 13:14:15
Qualche consiglio più aggiornato ???
DB Cache Reloaded non è più aggiornato da 3 anni
This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Riccardo Esposito ha commentato il 2021-02-16 06:27:59
Sì, sono informazioni datate. Ma stiamo lavorando a un nuovo articolo.