Da quando ho iniziato a pubblicare gli articoli sul blog, mi è capitato spesso il problema della programmazione saltata nella pubblicazione di un articolo.
Alla fine ho sperimentato diverse soluzioni che presenterò in questo articolo.
Perché il vostro sito WordPress salta la programmazione degli articoli
Questo problema può essere particolarmente frustrante dato che non si risolve da solo: una volta che è passato l’orario programmato di un articolo, WordPress non tenterà di pubblicarlo di nuovo, per cui l’articolo rimarrà fermo in attesa di un vostro intervento.
Una delle possibili cause è un errore nelle impostazioni di WordPress come ad esempio il fuso orario, ma la causa principale che ho potuto sperimentare direttamente è un errore nel Cron di WordPress, riguardante il file wp-cron.php.
Quando date indicazioni al vostro sito di pubblicare un articolo in un determinato orario nel futuro, WordPress utilizza comandi di programmazione chiamati ‘cron’ per completare questa operazione; questi comandi, a differenza dei comandi cron disponibili sul server del vostro sito, sono attivati quando un utente visita il vostro sito: il sito controllerà gli articoli programmati se e quando un utente visita il sito stesso. Se non ricevete visite al momento programmato per la pubblicazione, andrete a incorrere nell’errore di mancata programmazione di WordPress. Questo può essere particolarmente fastidioso su siti con poche visite, ma può capitare anche su siti che hanno visitatori costanti.
I plugin di caching, anche se estremamente utili, possono potenzialmente interferire con i processi cron del sito.
Altre cause potenziali possono essere:
- il tuo sito che va temporaneamente giù
- un problema di cache del browser
- una mancanza di memoria
Fortunatamente, la soluzione è abbastanza semplice.
Programmazione saltata su WordPress: mancanza di memoria
Un basso limite di memoria è uno degli errori più comuni di WordPress che si possono incontrare: ha effetti di vasta portata, che vanno dal limitare i media che si possono caricare al causare l’errore di mancata programmazione di WordPress. Dovreste cercare di aumentare la memoria, se possibile.
Come prima cosa dovete scoprire qual è il vostro limite di memoria attuale. Potete farlo andando su Strumenti > Salute del Sito (Site Health) > Informazioni > Server; qui troverete la sezione per il limite di memoria di PHP:
Se il tuo limite è abbastanza alto, come nell’esempio precedente in ciu il limite evidenziato è di 512 mb, questo probabilmente non sta causando il tuo problema di programmazione. Se il limite dovesse essere sotto i 256M, è consigliabile aumentarlo.
Fortunatamente, aumentare la memoria è un processo abbastanza semplice, dovete usare un client FTP (File Transfer Protocol) per accedere ai file del tuo sito, come ad esempio FileZilla.
Aprite il client FTP e andate nella cartella principale del vostro sito dove troverete il file wp-config.php. Scaricate il file nel vostro computer, apritelo e copiate il seguente codice:
define('WP_MEMORY_LIMIT', '256M');
Incollate questo codice in fondo al file vicino alla fine, prima del messaggio Finito, interrompere le modifiche! Buon blogging; a seguire salvate il file e ricaricalo sul vostro sito.
Il precedente codice aumenta la memoria a 256 M, ma potete alzarlo ulteriormente; io tendo a alzare la memoria a 512, comunque il consiglio è di effettuare delle prove per vedere come risponde il vostro sito.
Programmazione saltata su WordPress: modifica del file wp-config
Se le soluzioni precedenti non dovessero funzionare, allora la “colpa” e del cron di WordPress. Per risolvere, dovete disabilitare la funzionalità del CronJob di WordPress inserendo nel file wp-config.php l’istruzione
define(‘DISABLE_WP_CRON’, ‘true’);”
Questa imposterà direttamente funzionalità Cron dal server in modo da non essere più vincolato alle visite.
Programmazione saltata su WordPress: plugin per la pubblicazione di articoli programmati
Se avete dei dubbi sul fatto di essere in grado di aggiungere l’istruzione citata in precedenza, vi consiglio alcuni plugin.
Questa soluzione deve essere “l’ultima spiaggia”, nel caso non si risolva con i metodi precedenti perché si va a aggiungere un ulteriore plugin e quindi appesantire il vostro sito WordPress. Prima di effettuare la modifica al file wp-config.php, ho cercato quale plugin potesse essere utile e ho trovato due soluzioni:
Ammetto di aver utilizzato il primo dato dato che è aggiornato e ha oltre 200 mila installazioni.
Questo plugin prendere il controllo della schedulazione degli articoli, disattivando il Cron di WordPress e forzando la pubblicazione degli articoli alla scadenza impostata.
WP Crontrol permette di visualizzare e controllare quello che accade nel Cron di WordPress. Possiede molte funzioni come:
- Visualizzare tutti gli eventi cron con i loro argomenti, la ricorrenza, le funzioni di callback e la loro prossima scadenza.
- Modificare, eliminare ed eseguire immediatamente qualsiasi evento cron.
- Aggiungere nuovi eventi cron.
- Eliminare in blocco gli eventi cron.
- Aggiungere e rimuovere programmi cron personalizzati.
- Esportare gli elenchi degli eventi cron in file CSV.
Una delle principali caratteristiche è quella di disattivare il Cron di WordPress, così risolve immediatamente il problema della pubblicazione saltata.
Il plugin ha una struttura semplice, formata da due schede: Eventi e Schedules.
In Eventi, voce che trovate sotto il menu Strumenti, troverete un elenco di tutti quegli eventi saltati dal Cron.
In Schedules troverete invece tutte le programmazioni cron attive e potrete aggiungerne voi alcune.