WordPress e il “Programmazione Mancante”: ecco qualche metodo per risolvere

Creato il 17 ottobre 2011 da Malefika

Il problema della “Programmazione Mancante” (o Missing Schedule, nella versione in inglese), la simpatica scritta rossa che compare quando un articolo programmato supera l’ora di pubblicazione (senza però essere, di fatto, pubblicato) è uno dei problemi più diffusi tra gli utenti WordPress. Ho deciso di parlarne qui principalmente per due motivi:

  1. ho avuto a che fare in prima persona (praticamente fino a ieri sera) con questo simpatico problemino;
  2. il Programmazione Mancante è sintomo di un problema abbastanza serio: i job di sceduling vengono gestiti da un demone di sistema detto cron, a sua volta integrato in cron attraverso il file wp-cron.php. Se gli articoli programmati saltano, quindi, inequivocabilmente il file wp-cron.php ha qualche problema. Occhio: cron non gestisce soltanto gli articoli, ma anche altre questioni come la rigenerazione della sitemap, la sincronizzazione dei commenti, la scansione di pingback e trackback, i ping e via dicendo. Un cron difettoso, quindi, può limitarvi in parecchie cosette.

La domanda a questo punto è d’obbligo: cosa fa bloccare/tiene occupato il cron? Questo articolo cercherà di dare qualche risposta, oltre che offrire qualche soluzione per risolvere il problema.

Innanzitutto vediamo un po’ se, in effetti, il nostro wp-cron funziona male: apriamo il browser e digitiamo l’indirizzo http://www.ilnostroblog.com/wp-cron.php . Aspettate che la pagina smetta di caricare: se vi ritroverete faccia a faccia con una pagina bianca, o con un “200 OK” allora fate una telefonata al vostro provider chiedendogli di aggiornare l’ora del server. Se invece dovesse apparirvi qualsiasi altra cosa (ad esempio un 500 – errore del server – o, peggio ancora, un 504 – timeout)… allora state sicuri che qualcosa non va nel cron.

Per risolvere il problema procederò per gradi: andate avanti al passaggio successivo soltanto se quello precedente non ha risolto il vostro problema.

Ricordate: prima di procedere leggete i logs del vostro server, che spesso vi indirizzano a soluzioni valide senza perdere tempo prezioso (messo che il service provider lo permetta… sigh). Inoltre, prima di continuare, fate un backup di dati e database… perchè non si può mai sapere!

Passaggio 0: controlliamo i permessi di wp-cron.php

Apriamo il nostro client FTP preferito o, in alternativa, il pannello gestionale del nostro spazio web, navighiamo fino alla cartella che contiene la nostra installazione di WordPress. Controlliamo i permessi di wp-cron.php: potrebbero essere troppo restrittivi, ed il meccanismo di wp potrebbe non riuscire ad utilizzare il file come vuole. Ciò che consiglio è di ripristinare i permessi a 0755, ovvero -rwxr-xr-x (lettura/scrittura/exec proprietario, lettura/exec gruppo, lettura/exec altri). A questo punto riapriamo nel browser la pagina http://www.mioblog.it/cartella_del_blog/wp-cron.php e diamo F5 per aggiornarla: se, dopo che la barra di caricamento si sarà fermata, la pagina resterà vuota o restituirà un 200 OK  allora l’errore era dovuto ai permessi sballati. Altrimenti, procediamo al prossimo passaggio.

Passaggio 1: controlliamo i plugin

Entriamo nel gestionale del nostro blog WordPress, portiamoci alla voce Plugin, ed iniziamo col disattivare il primo plugin della lista. Riapriamo nel browser la pagina http://www.mioblog.it/cartella_del_blog/wp-cron.php e diamo F5 per aggiornarla: se, dopo che la barra di caricamento si sarà fermata, la pagina resterà vuota o restituirà un 200 OK vorrà dire che abbiamo localizzato il plugin difettoso che blocca il cron, e non ci resterà altro da fare che disinstallarlo. Altrimenti riattivate il plugin disattivato, passiamo al plugin successivo e ripetiamo il procedimento.

Qualora il problema non si risolva… è necessario procedere al passo successivo.


Potrebbero interessarti anche :

Possono interessarti anche questi articoli :