WordPress: utilizzare i Cron Job di cPanel

| |

WordPress è studiato e sviluppato per essere compatibile con la maggior parte delle configurazioni hosting disponibili nel mondo commerciale, si tratta di un software volutamente in grado di convivere con tutto e tutti, ingegnerizzato in maniera tale da essere autosufficiente anche per ciò che riguarda le operazioni programmate da portare a termine per la pubblicazione degli articoli, la manutenzione, più in generale quei compiti dietro le quinte che difficilmente un autore conosce.

È per questo motivo che il wp-cron.php può costituire uno svantaggio anziché un vantaggio se eseguito così come inizialmente pensato, l’ideale è passare a un servizio di Cron Job differente, magari quello offerto dal tuo hosting.

WordPress
Photo by Fikret tozak

wp-cron.php

Cron is the time-based task scheduling system that is available on UNIX systems. WP-Cron is how WordPress handles scheduling time-based tasks in WordPress. Several WordPress core features, such as checking for updates and publishing scheduled post, utilize WP-Cron.

WP-Cron works by: on every page load, a list of scheduled tasks is checked to see what needs to be run. Any tasks scheduled to be run will be run during that page load. WP-Cron does not run constantly as the system cron does; it is only triggered on page load. Scheduling errors could occur if you schedule a task for 2:00PM and no page loads occur until 5:00PM.

continua su developer.wordpress.org/plugins/cron

In parole molto povere WordPress esegue un controllo di tutto quello che deve fare ogni volta che una pagina viene caricata. Ora tu immagina che questo processo impieghi tempo e risorse del server, moltiplica il tutto per il numero di visitatori che hai e per il numero di visite totali che macini. Lo so, ottieni dei valori probabilmente elevati anche se il tuo è un blog di nicchia, un diario personale dove tu e pochi amici siete soliti ritrovarvi, il tutto non fa altro che rallentare il caricamento delle tue risorse, inevitabilmente. Per rimediare hai bisogno di un pannello di controllo Plesk o cPanel, offerto generalmente dal tuo hosting provider, all’interno del quale troverai quasi certamente la possibilità di inserire, modificare e cancellare lavori programmati, i Cron Job.

Disabilitare Cron originale di WordPress

WordPress: utilizzare i Cron Job di cPanel 1ATTENZIONE: Prima di partire, il solito consiglio: occhio sempre a quello che tocchi e che rimuovi, effettua dei backup del tuo sistema per sicurezza, così potrai agilmente tornare indietro in caso di problemi.

Nulla di più semplice. Apri in modifica il tuo wp-config.php contenuto nella cartella principale di WordPress (sul tuo spazio FTP), quindi aggiungi questa riga subito dopo define('DB_COLLATE', '');

define('DISABLE_WP_CRON', true);

Salva il file e carica la modifica su FTP, la modifica è immediata.

Abilitare i Cron Job di cPanel

Io mi riferirò al cPanel di ServerPlan che ospita questo blog, la differenza è poca anche se il tuo hosting provider è differente. Accedi al cPanel, cerca i Cron Job e inseriscine uno nuovo partendo dai suggerimenti dati dal tuo pannello e/o modificando a tuo piacimento l’ora programmata per far girare il lavoro di Cron.

WordPress: utilizzare i Cron Job di cPanel 1

Ciò che devi fare è richiamare sì il file wp-cron.php ma in momenti diversi rispetti alla visita della singola pagina da parte dell’utente dall’altro lato del monitor, devi fare in modo che il server assolva il compito di andare a bussare ai lavori programmati di WordPress ricordando loro che devono andare in porto e terminare in maniera corretta. Per fare questo ti basterà inserire come comando un:

wget -q -O - https://tuodominio.com/wp-cron.php?doing_wp_cron

Sostituisci tuodominio.com con il tuo vero dominio e attiva il Cron Job. A ogni esecuzione il tuo hosting provider ti invierà un’email contenente l’esito dell’operazione, lasciando che tu possa leggere quanto prodotto in uscita dallo script PHP, è il metodo migliore per capire se è tutto andato a buon fine (potresti non avere riga alcuna prodotta in uscita, sia chiaro). Quando sarai sufficientemente tranquillo e avrai verificato che tutto funziona a dovere potrai allora evitare che l’email ti venga inviata, modifica la stringa del comando da eseguire includendo un >/dev/null 2>&1 finale, quindi:

wget -q -O - https://tuodominio.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Il gioco è fatto. Ora dovrai solo stabilire tu quando far partire l’esecuzione del (o dei) Cron Job. Io ho personalmente stabilito due orari classici di questo blog per i giorni feriali e per quelli del fine settimana, più un controllo generico ogni 30 minuti di ogni giorno:

WordPress: utilizzare i Cron Job di cPanel 2

Di metodi ne esistono anche altri, un’alternativa nel caso in cui tu non abbia a disposizione un pannello e relativa possibilità di creare nuovi Cron Job potrebbe essere easycron.com, altrimenti esistono ulteriori metodi anche tramite plugin di WordPress. Se ne parla in articoli come questo o quest’altro.

A me non resta che augurarti buona giornata e metterti a disposizione l’area commenti per qualsiasi dubbio o ulteriore informazione in merito (magari anche suggerimenti aggiuntivi che vuoi mettere a conoscenza mia e degli altri utenti)! ?


Grazie a it.siteground.com/tutorial/wordpress/vero-cron-job

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Inline Feedbacks
View all comments