Precaricamento con WP Rocket

Precaricamento in WP Rocket

La sezione Precaricamento di WP Rocket, come suggerisce il nome, riguarda la generazione preventiva di entità differenti.

Si suddivide in 3 parti:

  • Precaricamento cache,
  • Precaricamento link,
  • Precaricamento richieste DNS.

Per una documentazione completa, rimandiamo alla pagina ufficiale.

Come sempre consigliamo di informarsi circa l’integrazione tra WP Rocket e il proprio server! Per esempio, nel caso di Kinsta, il precaricamento cache è sconsigliato (al febbraio 2022).

Precaricamento cache

Il precaricamento della cache di pagina (cache preload) comporta che quest’ultima venga generata autonomamente da WP Rocket, indipendentemente dalle interazioni degli utenti.

Come visto nel precedente articolo, si tratta di un’impostazione consigliata e predefinita di WP Rocket.

Se il precaricamento è disattivato, ogni pagina richiederà almeno una visita per poter essere inserita in cache. Pertanto, il primo utente la visualizzerà sempre più lenta.

Se attivato senza ulteriori opzioni, WP Rocket genererà la cache a partire dalla pagina home e proseguendo in autonomia in base a tutti i link rilevati.

Attivando l’opzione  “Attiva il precaricamento della cache basato sulla sitemap”, quest’ultima viene automaticamente riconosciuta e precaricata. Talvolta è anche possibile confermare la sitemap rilevata. E’ il caso di Yoast SEO:

Il precaricamento della cache avviene globalmente:

  • Allo scadere della cache,
  • Ad ogni salvataggio delle impostazioni WP Rocket,
  • Al clic sull’apposito comando “Preload cache“,
  • All’attivazione del plugin,
  • Allo svuotamento della cache.
  • In casi ulteriori determinati da server specifici o da plugin quali Varnish HTTP Purge.

Singolarmente, avviene in fase di pubblicazione/aggiornamento dei contenuti.

Se è abilitata la separazione della cache per versione mobile, anche quest’ultima viene precaricata insieme alla parte desktop:

Se è abilitata la compatibilità con WebP, WP Rocket precaricherà tale cache al posto di quella non-WebP per i file coinvolti.

Per verificare il corretto funzionamento del precaricamento cache, accedere via FTP alla cartella /wp-content/cache/wp-rocket/nomedominio/. All’interno saranno tutti i file di cache creati. Cliccando su “Preload cache”, il contenuto della cartella sarà aggiornato.

Mediante plugin quali WP-Cron Status Checker o WP Crontrol è anche possibile verificare la pianificazione delle azioni di precaricamento.

Da non sottovalutare, il cassico pannello di salute del sito consultabile in Impostazioni –> Salute del sito. Da qui possiamo verificare che eventi pianificati non siano falliti.

Se compare un errore 28 relativo alle cURL, questo indica normalmente una risposta lenta da parte del server. In tal caso, il suggerimento è di rivolgersi al fornitore del servizio.

Altre informazioni sul precaricamento della cache

Il precaricamento della cache non consuma mai oltre il 90% della memoria PHP disponibile. Non dovrebbero mai presentarsi problemi nell’utilizzo della CPU.

Il precaricamento basato su sitemap richiede che su server sia abilitata l’estensione SimpleXML PHP extension.

L’intervallo predefinito per la scansione tra le URL è di 500ms. E’ possibile modificarlo mediante un’apposita estensione.

E’ possibile pianificare il precaricamento della cache creando un apposito cron.

Precaricamento dei link

Solo su Chrome e browser Chromium!

Il precaricamento dei link migliora il tempo di interazione percepito dall’utente che naviga il sito.

Se l’utente scorre su un link per oltre 100 ms, il contenuto HTML della pagina  collegata verrà precaricato in secondo piano.

L’opzione non comporta miglioramenti nei punteggi PageSpeed, Pingdom, GT Metrix, etc.

Sono automaticamente escluse:

  • URL varie di amministrazione;
  • URL escluse dalla cache WP Rocket;
  • Immagini;
  • Link con stringhe di ricerca e ancore;
  • URL esterne.

E’ anche possibile escludere manualmente specifiche URL, mediante funzione.

Attenzione! I file (inclusi i .docx) non sono esclusi dal precaricamento dei link. Questo può causare errori dovuti principalmente alla barra “/” automaticamente accodata.
Per evitarlo è possibile creare regole mediante l’estensione WP Rocket | Regex Exclusions.

Precaricamento richieste DNS

Il precaricamento delle richieste DNS (DNS prefetch) torna particolarmente utile qualora sia presente contenuto di terze parti nella pagina.

Fa sì che la risoluzione DNS avvenga prima dell’interazione dell’utente coi contenuti esterni.

Tecnicamente, viene aggiunto rel="dns-prefetch" all’intestazione.

Ad esempio, in questo caso vengono gestiti CDN, font Google, Pixel, Analytics, Tag Manager:

<link rel="dns-prefetch" href="https://cdn.domain.com">
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
<link rel="dns-prefetch" href="https://connect.facebook.net">
<link rel="dns-prefetch" href="https://www.google-analytics.com">
<link rel="dns-prefetch" href="https://www.googletagservices.com">

Il miglioramento non è facilmente valutabile, ma si tratta di una pratica consigliata.

GT Metrix può suggerire di ridurre le richieste DNS (Reduce DNS Lookups). Il precaricamenteo DNS non comporta l’eliminazione del suggerimento: non elimina le richieste, ma le anticipa. L’unica soluzione definitiva rimane la rimozione dei contenuti di terze parti.

Precarica i font

Precaricando i font all’interno dell’elemento <head> , questi verrano scaricati prima di essere identificati all’interno del CSS.

Se i font si trovano sul dominio o sulla CDN, è consigliato abilitare l’opzione. Non è possibile sfruttare la funzionalità quando si trovano esternamente.

Se all’interno di “Ottimizzazione File” è attiva l’opzione “Remove Unused CSS”, verranno rimossi anche i font precaricati.

Quali font precaricare?

Google PageSpeed fornisce un’apposita voce “Preload Key Requests”.

E’ utile avviare il test aggirando WP Rocket con parametro /?nowprocket. Inoltre, la URL deve coincidere con quella fornita da PageSpeed.

Vanno precaricati solo i font che rallentano il caricamento della pagina o le prestazioni percepite. Il precaricamento può essere controproducente se riguarda troppi font.

Non precaricare più formati! Normalmente è sufficiente .woff2.

Avviso di PageSpeed

Warnings: Lighthouse was unable to automatically check the `font-display` value for the origin

Di norma è causato dal precaricamento di font inutilizzati. In questi casi anche Chrome mostra un avviso analogo.

Precaricamento di font esterni

Non è possibile attuarlo con WP Rocket.

Tuttavia, si può aggiungere un’apposita riga HTML nella sezione <head>.

<link rel="preload" href="https://ESEMPIO.COM/FONT.woff2" as="font" type="font/woff2" crossorigin>

Va inserita la URL corretta. L’attributo type deve identificare il formato corretto.

Una volta inserito il codice, pulire la cache WP Rocket.