WordPress – Ottimizzazione, cache e moduli con problemi

Postato in data 15 Febbraio 2011 da Christian Cantinelli - Aggiornato il 6 Dicembre 2021
PROMO

Hosting WordPress preinstallato e gestito con il 50% di sconto. Scopri la promo

  • WordPress installato
  • Cache configurata
  • Aggiornamenti automatici
  • Assistenza H24/365

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

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:

  • Cache hit di questo sito per accesso rapido. (Raccomandato)
  • Utilizza mod_rewrite per servire i file in cache. (Raccomandato)
  • Compressione delle pagine in modo che esse siano servite più rapidamente ai visitatori. (Raccomandato)
  • Rigenerazione cache. Serve un file supercache agli utenti anonimi quando un nuovo file é stato generato.(Raccomandato)
  • Extra homepage checks. (Very occasionally stops homepage caching) (Raccomandato)
  • Ricarica la sola pagina in uso quando vengono effettuati dei commenti.

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

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.

Problemi su alcuni plugin

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.
Clicca per votare questo articolo!
[Voti totali: 0 Media: 0]
Christian Cantinelli

Discussione

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!


  • 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


  • 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


  • 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.


  • Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *