Configurazione di WP Rocket per ottimizzare la cache del sito

Procédure

Che cos'è WP Rocket?

WP Rocket è un potente sistema di caching che può migliorare notevolmente le prestazioni di un sito Wordpress. Come tutti i plugin di caching, può memorizzare le pagine che sono già state caricate. Questo riduce i tempi di caricamento delle pagine emigliora la velocità del sito.

Tuttavia, è bene sapere che le impostazioni di WP Rocket possono avere un impatto negativo su un sito web se configurate in modo errato.

Questa guida vi aiuterà a definire le impostazioni ideali per ottenere prestazioni ottimali.

Come funziona il sistema di caching di WP Rocket?

Per impostazione predefinita, WP Rocket attiva il precaricamento della cache. Questo crea i file di cache per ogni pagina prima ancora che venga aperta.

Il vantaggio è che la pagina non dovrà più essere generata quando viene caricata dal browser web e quindi migliorerà la velocità di visualizzazione del vostro sito.

Problemi riscontrati con il precaricamento della cache di WP Rocket

1. Precarico eseguito da WP CRON

La cache di WP Rocket viene precaricata quando viene eseguito WP Cron, utilizzato per lanciare i vari eventi di Wordpress. Tuttavia, questo pone un problema nel suo utilizzo, poiché WP Cron viene caricato ogni volta che viene aperta una pagina. Di conseguenza, la cache viene precaricata mentre si sta caricando un'altra pagina.

Questo è molto problematico. Invece di caricare una singola pagina, WordPress ne carica diverse e il tempo di caricamento della pagina aumenta.

Inoltre, ogni volta che viene caricata una pagina, l'I/O dello spazio di archiviazione del vostro hosting viene sottoposto a un'enorme pressione.

2. Timeout di WP CRON

Un altro problema riscontrato nei nostri test è che WP Cron è limitato da WP_CRON_LOCK_TIMEOUT. Si tratta di una variabile che consente di definire il tempo assegnato a WP CRON per svolgere i compiti che deve eseguire. È definita nel file wp-config.php

Di conseguenza, con un tempo limitato per WP CRON, il precaricamento della cache genererà solo alcune pagine, per poi riprendere al caricamento della pagina successiva.

Tuttavia, al successivo caricamento di una pagina, WP Rocket sarà costretto a rimescolare l'intera cache e questo creerà un carico significativo sull'I/O del server, causando un calo della velocità complessiva del sito.

3. WP Rocket combinato con un altro sistema di cache

Se utilizzate un sistema di cache come Varnish, NGINX, LSCache, ecc. avrete dei periodi in cui il visitatore non raggiunge mai una singola pagina.

In parole povere, l'interazione tra WP Rocket e il server di cache interromperà il precaricamento della cache, che non funzionerà affatto. Verrà sospesa, in attesa dell'apertura di un file PHP di WordPress, a quel punto il precaricamento della cache verrà eseguito a monte, e verrà eseguita un'ondata molto intensa di operazioni pre-pianificate, rischiando di saturare il server e di bloccare il caricamento di questa pagina.

Come posso ovviare a questi problemi e ottimizzare il mio sito Wordpress?

1. Aumentare la durata della cache

Una volta che la cache è completamente precaricata, il precaricamento non è più un problema perché non fa più nulla. Tuttavia, la cache precaricata può scadere e questo riavvia il precaricamento.

L'ideale sarebbe impostare una durata illimitata della cache. Questa è una buona idea e può essere configurata in WP Rocket. Inoltre, questo plugin è ben progettato perché cancella la cache di una pagina, di un articolo o di un prodotto (Woocommerce) se è stato modificato. Non è quindi necessario ricreare la cache regolarmente ed è possibile impostarne la durata illimitata. Per farlo, seguite i seguenti passaggi:

  • Nel menu di sinistra, andate su Impostazioni e poi cliccate su WP Rocket.

Configurazione di WP Rocket per ottimizzare la cache del sito

  • Una volta entrati nel plugin WP Rocket, andate nel menu "Cache" e configurate l'ultima voce, "Tempo di pulizia della cache", inserendo 0 ore per configurare un tempo di cache illimitato.

Configurazione di WP Rocket per ottimizzare la cache del sito

  • Cliccate su Salva modifiche

Configurazione di WP Rocket per ottimizzare la cache del sito

2. Eseguite un cron job per precaricare la cache e disabilitarla al caricamento delle pagine di WordPress.

In questo modo si risolvono i vari problemi elencati sopra, ovvero :

  • WP Cron non viene più caricato durante il caricamento di una pagina, quindi il precaricamento non influisce più sui tempi di caricamento della pagina.
  • WP Cron non è più limitato da max_execution_time e WP_CRON_LOCK_TIMEOUT.
  • La cache può essere precaricata in un singolo blocco, quindi non è necessario riavviare la cache e non c'è sovraccarico sul disco (I/O).
  • WP Cron viene eseguito sempre, sia che la pagina venga caricata dall'esecuzione di PHP sia dal server di cache utilizzato (Varnish/NGINX/...).

Per fare ciò, è necessario eseguire due azioni:

  • Modificare il file wp-config.php

Questo file si trova nella radice del sito. È necessario andare nel codice di questo file per aggiungere la riga "define( 'DISABLE_WP_CRON', true );".

Esempio:

<?php /** * La configurazione di base della vostra installazione di WordPress * * Questo file è utilizzato dallo script che crea wp-config.php durante * il processo di installazione. Non è necessario utilizzare il sito web, * potete semplicemente rinominare questo file in "wp-config.php" e inserire i * valori. * * Questo file contiene le seguenti impostazioni di configurazione: * * Impostazioni MySQL * Prefisso della tabella * Chiavi segrete * Lingua utilizzata * ABSPATH * * @link https://fr.wordpress.org/support/article/editing-wp-config-php/. * * @package WordPress */ // ** Impostazioni MySQL - Il vostro host deve fornirvi queste informazioni. // /** Nome del database di WordPress. */ define( 'DB_NAME', "xxxxxxxxx" ); /** Utente del database MySQL. */ define( 'DB_USER', "xxxxxxxxx" ); /** Password del database MySQL. */ define( 'DB_PASSWORD', "xxxxxxxx" ); /** Indirizzo di hosting MySQL. */ define( 'DB_HOST', "xxx.xxx.xxx.xxx" ); /** Set di caratteri da utilizzare dal database durante la creazione delle tabelle. */ define( 'DB_CHARSET', 'utf8' ); /** * Tipo di collazione del database. * * Toccatelo solo se sapete cosa state facendo. */ define( 'DB_COLLATE', '' ); /**#@+ * Chiavi di autenticazione e salatura uniche. * * Sostituite i valori predefiniti con frasi uniche!
 * Potete generare frasi casuali usando * {@link https://api.wordpress.org/secret-key/1.1/salt/ il servizio di chiavi segrete di WordPress.org}. * Potete cambiare queste frasi in qualsiasi momento, per invalidare tutti i cookie esistenti. * Questo costringerà anche tutti gli utenti ad accedere di nuovo.
 * * @a partire dalla versione 2.6.0 */ define( 'AUTH_KEY', 'impostare una frase unica qui' ); define( 'SECURE_AUTH_KEY', 'impostare una frase unica qui' ); define( 'LOGGED_IN_KEY', 'impostare una frase unica qui' ); define( 'NONCE_KEY', 'impostare una frase unica qui' ); define( 'AUTH_SALT', 'impostare una frase unica qui' );
define( 'SECURE_AUTH_SALT', 'inserire una frase univoca qui' ); define( 'LOGGED_IN_SALT', 'inserire una frase univoca qui' ); define( 'NONCE_SALT', 'inserire una frase univoca qui' ); /**#@-*/ /** * Prefisso del database per le tabelle di WordPress.
 * È possibile installare diverse tabelle di WordPress su un singolo database * se si assegna a ciascuna un prefisso univoco. * Usare solo numeri, lettere non accentate e trattini bassi! */ $table_prefix = 'wp_'; /** * Per gli sviluppatori: modalità di debug di WordPress * * Impostando il seguente valore su "true", si attiva la visualizzazione di * notifiche di errore durante i test.
 * Per ulteriori informazioni sulle altre costanti che possono essere utilizzate per il debug, visitate il Codex. * * @link https://fr.wordpress.org/support/article/debugging-in-wordpress/ */ define( 'WP_DEBUG', false ); /* Questo è tutto, non toccate quanto segue! Buona pubblicazione. */ /** Percorso assoluto della cartella WordPress. */ if ( ! defined( 'ABSPATH' ) ) define( 'ABSPATH', dirname( __FILE__ ) . '/' ); /** Impostazione delle variabili per WordPress e i suoi file inclusi. */ require_once( ABSPATH . 'wp-settings.php' ); /** Disabilitazione di WP_CRON al caricamento della pagina **/ define( 'DISABLE_WP_CRON', true );</code></pre> <p> </p> <ul> <li>Impostare un task CRON per sovrascrivere la disabilitazione di WP_CRON</li> </ul> <p>Per fare ciò dovremo eseguire questa riga di comando tramite un task CRON:</p> <pre> <code class="language-bash">flock /path/to/site/wp-cron.lock php /path/to/site/wp-cron.php</code></pre> <p>Per informazione, <span style="font-size:10pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Flock impedirà l'esecuzione di due wp-cron.php in esecuzione contemporaneamente.</span></span></span></span></span></p> <p><span style="font-size:10pt; font-variant:normal; white-space:pre-wrap"><span style="font-family:Arial"><span style="color:#000000"><span style="font-weight:400"><span style="font-style:normal"><span style="text-decoration:none">Se, ad esempio, su ISPConfig sono presenti diversi interpreti PHP, si dovrà sostituire "php" con "php7.3", "php7.4", "/usr/local/php-7.3.8/bin/php", ... a seconda dell'interprete più appropriato.</span></span></span></span></span></span><br /> </p> <p>Per impostare il task CRON su un hosting condiviso collegato al pannello LWS, è sufficiente seguire <a href="https://help.lws-hosting.com/it/macchia-cron" target="_blank">questa documentazione</a> e indicare come indirizzo dello script:</p> <pre> <code>http://votresite.tld/wp-cron.php (sostituite yourresite.tld con il nome del vostro sito)</code></pre> <p> </p> <p>Per scoprire come impostare questo task CRON su un hosting cPanel, vi invito a seguire <a href="https://help.lws-hosting.com/it/programmare-un'attivita-Cron-in-cPanel" target="_blank">questa documentazione</a></p> <p>Per scoprire come impostare questo task CRON su un server VPS ISPConfig, vi invito a seguire <a href="https://help.lws-hosting.com/it/creare-un-task-CRON-da-ISPconfig" target="_blank">questa documentazione</a></p> <p>Per scoprire come impostare questo task CRON su un server VPS tramite comando SSH, vi invito a seguire <a href="https://aide.lws.it/a/442" target="_blank">questa documentazione</a></p> <h2>Link utili</h2> <p>Se volete saperne di più su WP Rocket, vi invito a leggere questo <a href="https://blog.lws-hosting.com/creation-de-sites-web/wp-rocket-presentation-de-ce-plugin-de-cache-wordpress" target="_blank">articolo del blog</a></p>

Vota questo articolo :

Questo articolo vi è stato utile ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articoli simili

1mn lettura

Come funziona Yoast SEO?

4mn lettura

Come ottimizzare il vostro sito Wordpress?

1mn lettura

Come si usa Gutenberg su Wordpress?

2mn lettura

Come si disattiva l'editor Gutenberg su Wordpress?


Fate una domanda al team LWS e alla sua comunità