Ad-Blocking
Arriva un Google Chrome con ad-blocking integrato?
1 Maggio 2017
Facebook Good Adds Up
Facebook lancia Good Adds Up.
29 Giugno 2017

Il vostro sito WordPress va spesso in timeout?
Un controllo dei log si sistema restituisce numerosi timeout, ovvero qualcosa simile a questo?

[Mon Jun 19 09:43:23.670502 2017] [:warn] [pid 20156] [client 95.241.64.39:50480] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php
[Mon Jun 19 09:47:45.745524 2017] [:warn] [pid 32111] [client 95.241.64.39:59112] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php
[Mon Jun 19 09:48:33.716519 2017] [:warn] [pid 38004] [client 95.241.64.39:36636] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php, referer: https://www.bing.com/
[Mon Jun 19 09:48:45.739520 2017] [:warn] [pid 37948] [client 95.241.64.39:38586] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php, referer: https://www.bing.com/
[Mon Jun 19 09:51:07.685518 2017] [:warn] [pid 38000] [client 151.38.157.199:56568] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php, referer: https://www.google.it/
[Mon Jun 19 09:51:58.182502 2017] [:warn] [pid 41838] [client 151.38.157.199:35142] Timeout waiting for output from CGI script /home/user/public_html/dominio.com/index.php, referer: https://www.google.it/

Come si vede, lo script più eseguito è index.php, perché tutte le richieste verso il sito WP vengono instradate tramite il file index.php.

Cos’è wp-cron.php?

WordPress utilizza un file chiamato wp-cron.php come un processo cron virtuale, o un compito pianificato, per automatizzare processi si sistema come la pubblicazione di messaggi pianificati, il controllo degli aggiornamenti di plugin o di temi, l’invio di notifiche e-mail e altro ancora.

Per impostazione predefinita WordPress è impostato per chiamare wp-cron.php ogni volta che qualcuno visita il sito, quando è presente un’attività pianificata. Per chiedere in pratica: “È ora di fare ancora qualcosa?”.

Nei siti a basso traffico questo è perfetto, ma quando i visitatori cominciano ad incrementare può essere molto inefficiente e potrebbe portare a problemi di utilizzo delle risorse del server e rendere più lento il sito web.

Utilizzare cronjob di cPanel al posto di wp-cron.php

Sarebbe opportuno quindi prendere in considerazione la disabilitazione del wp-cron.php nativo e impostare un vero e proprio cronjob.
Se utilizzate cPanel c’è una sezione specifica > Cron jobs.

La disabilitazione del wp-cron.php nativo avviene modificando il file wp-config.php con la semplice aggiunta di questa riga:

define('DISABLE_WP_CRON', true);

Successivamente collegatevi a cPanel -> Advanced -> Cron jobs e create un nuovo processo:

/usr/local/bin/php /home/user/public_html/wp-cron.php

Sostituite “user” con il vostro utente e verificate che il percorso di wp-cron.php coincida con l’effettiva posizione sul server.

Vi consigliamo di impostare l’esecuzione del cronjob ogni 30 minuti, compilando i menu a tendina come indicato nella figura:

cronjob wp-cron.php

Analogamente, se utilizzate un altro pannello (ad esempio Plesk), dovrete sempre cercare la sezione “cronjob” per impostare stringa di esecuzione e frequenza.

Alla fine verificate osservando i log che il traffico sia stato ridimensionato e che il sito abbia riacquistato velocità.