Come ho impostato un cron su cPanel per precaricare la cache di Joomla (e domanda sui Scheduled Tasks)
-
Ciao a tutti!
Volevo condividere la mia configurazione per gestire la cache di un sito in Joomla 5 e chiedere un consiglio su un Scheduled Task disponibile nel core di Joomla.
Ecco cosa ho fatto:
Impostazione della cache in Joomla
Ho attivato la cache dal pannello di amministrazione, impostando un tempo di scadenza di 15 minuti.Creazione di un cron job su cPanel
Attraverso la sezione Cron Jobs di cPanel, ho impostato un cron che ogni 3 minuti fa una richiesta HTTP alla home page del mio sito. In particolare, ho utilizzato un comando simile:*/3 * * * * wget -q -O /dev/null https://www.miosito.it
In questo modo, ogni 3 minuti il server “visita” la pagina. Se la cache di Joomla è scaduta, la prima visita del cron la rigenera. Ho testato la configurazione e quando apro la pagina dal browser trovo la versione in cache, con caricamenti molto rapidi.
Questo perchè ho delle pagine che per caricare i dati in una tabella impiegano qualche secondo se non sono in cache.
Ho scelto un intervallo di 3 minuti solo per fare delle prove e verificare che tutto funzionasse; successivamente porterò l’intervallo a valori più ragionevoli (magari 15 minuti o 30 minuti, in base alle mie esigenze).
Perché usare un approccio simile?
Il motivo principale è che, in un sito con ancora poche visite, il sistema di caching di Joomla rischia di non funzionare come previsto. Se la cache è scaduta e nessun utente “reale” entra sul sito, resterebbe vuota finché non arriva un visitatore. Con un cron job, invece, si garantisce che la cache venga ricaricata a intervalli regolari, così chiunque visiti il sito trova subito la versione già in cache e ottiene un caricamento veloce. (cache warming)
Domanda alla community
Ho visto che tra i Scheduled Tasks di Joomla esiste quello che effettua richieste GET a un server, con tanto di impostazioni per timeout e intestazioni di autorizzazione. Mi chiedevo se questo Scheduled Task può sostituire interamente il cron di cPanel per tenere calda la cache del sito. Qualcuno di voi lo utilizza? Ci sono differenze tra un cron esterno e quello interno di Joomla (ad esempio in termini di affidabilità o di prestazioni)?Grazie per qualsiasi suggerimento! Spero che la mia esperienza possa essere utile a chiunque voglia mantenere la cache di Joomla sempre aggiornata anche in siti con poche visite.
-
@robjrobj ha detto in Come ho impostato un cron su cPanel per precaricare la cache di Joomla (e domanda sui Scheduled Tasks):
Domanda alla community
Ho visto che tra i Scheduled Tasks di Joomla esiste quello che effettua richieste GET a un server, con tanto di impostazioni per timeout e intestazioni di autorizzazione. Mi chiedevo se questo Scheduled Task può sostituire interamente il cron di cPanel per tenere calda la cache del sito. Qualcuno di voi lo utilizza? Ci sono differenze tra un cron esterno e quello interno di Joomla (ad esempio in termini di affidabilità o di prestazioni)?Ciao! Ti rispondo su questo: quella task server per trasformare un cron solo in tanti cron diversi, questo perchè molti hosting non permettono di settare più di cron contemporaneamente... quindi in genere ti basta settare un solo cron lato server che chiama quella scheduled task e poi la scheduled fa tutto il resto.
In generale se ti basta un solo cron meglio quello del server che è diretto.
Tieni anche conto che le scheduled di joomla possono essere attivate sia via cron sia a caricamento di pagina. Se ti interessa approfondire ne avevo parlato qui: https://www.youtube.com/watch?v=VACABgCgriM
Ciao! -
@jabba Chiaro, quindi con quel tipo di task posso, ad esempio, richiamare una pagina con una chiave segreta (magari quella creata con Cache Cleaner di Regular Labs) per cancellare la cache creata (e questo evita l'acquisto della versione a pagamento
)
Grazie quel video mi era sfuggito. Top!