Nel 2013 WordPress introduce Heartbeat API, una funzionalità che consente al browser di comunicare automaticamente con il server. Tuttavia, ci sono un paio di inconvenienti di questa funzione.

Se utilizzi un piano di hosting condiviso, devi dare un’occhiata più da vicino all’utilizzo della CPU del tuo server. Questo perché alcune società di hosting potrebbero sospendere il tuo account quando superi il limite di utilizzo.

In questo post parleremo del motivo per cui l’ API Heartbeat di WordPress è il solito sospetto che causa il problema.

Iniziamo!

Cos’è l’API Heartbeat di WordPress?

L’API Heartbeat di WordPress fornisce un protocollo di comunicazione, utilizzando chiamate AJAX , tra browser e server.

Come suggerisce il nome, l’API invia impulsi continui e attiva eventi (o callback) alla ricezione dei dati. Questa funzione ti aiuta a sincronizzare tutti i dati tra il server e la dashboard di WordPress.

L’idea alla base dell’API heartbeat è piuttosto convincente. Ad esempio, quando crei/modifichi un post dall’editor, attiva una funzione per salvare automaticamente il post periodicamente.

In un sito WordPress multi autore, ha una funzione di blocco post, per impedirti di modificare un post su cui sta lavorando un altro utente. Se utilizzi un plug -in di e -commerce , questa API ti aiuterà anche a visualizzare le vendite che si verificano sul tuo sito.

Perché limitare l’API Heartbeat di WordPress?

Sebbene sia vantaggioso avere una funzione di salvataggio automatico e funzionalità di notifica dei dati in tempo reale, può essere dannosa in un situazioni specifiche.

L’API Heartbeat invia richieste AJAX (richieste POST) utilizzando il file /wp-admin/admin-ajax.php. Ogni richiesta che esegue il file PHP è pari al tempo della CPU sul server.

Ciò può causare un numero elevato di richieste inviate al server di hosting, con conseguente utilizzo elevato della CPU.

Come abbiamo ndetto in precedenza, questo può essere un problema per un webmaster con un piano di hosting condiviso. Quando raggiungi il limite di quota, l’utilizzo elevato della CPU può portare alla sospensione dell’account.

Cose da considerare prima di modificare l’API Heartbeat

Se stai pensando di interrompere completamente l’API Heartbeat, devi pensarci due volte. Non perché non puoi farlo, ma semplicemente perchè non è pratico.

Senza l’API Heartbeat di WordPress, tutte le modifiche apportate nel post andranno perse se dovessi dimenticare di fare clic sul pulsante Salva bozza . E non avrai più accesso alla funzione delle revisioni in WordPress .

Se installi plugin che utilizzano l’API Heartbeat, non potrai nemmeno visualizzare le notifiche in tempo reale e le funzioni informative sul tuo sito.

Ad ogno modo, se stai lavorando da solo e tutte queste funzioni non ti interessano, puoi procedere al blocco dell’API Heartbeat di WordPress.

In caso contrario, potresti prendere in considerazione il controllo dell’API.

Come limitare l’API Heartbeat di WordPress con un plugin?

Puoi controllare la frequenza con cui l’API Heartbeat invia callback al tuo server utilizzando il plugin Heartbeat Control . 

Se sei nuovo in WordPress, dai un’occhiata al nostro tutorial su come installare i plugin di WordPress .

Una volta installato e attivato il plugin, vai su Impostazioni -> Controllo Heartbeat . Qui puoi impostare una determinata regola per l’API.

  • WordPress Dashboard : consente di abilitare heartbeat , disabilitare heartbeat o modificare heartbeat per la dashboard
  • Frontend: consente di abilitare hjeartbeat , disabilitare heartbeat o modificare heartbeat per il frontend
  • Post Editor : consente di abilitare hjeartbeat , disabilitare heartbeat o modificare heartbeat per l’editor di WordPress

Nell’esempio, limitiamo la frequenza della funzione API Heartbeat nell’editor dei post a 200 secondi. Questo è un approccio più pratico se hai più autori che lavorano sullo stesso sito WordPress.

Puoi anche impostare il valore in modo diverso in ogni posizione che desideri controllare.

Come interrompere completamente l’API Heartbeat senza un plugin?

Puoi anche interrompere l’API Heartbeat senza un plugin, aggiungendo questo snippet di codice al file functions.php del tema attivo:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Ricorda, dovresti farlo se sei l’unica persona che lavora con il sito web e non hai bisogno di installare plugin aggiuntivi che usano questa API.

Dalla dashboard di WordPress, vai su Aspetto -> Editor del tema. Assicurati di modificare il tema attivo del tuo sito. Fai clic su functions.php dal menu di navigazione a destra. Incolla lo snippet di codice sopra subito dopo il tag di apertura <?php e fai clic su Aggiorna.

Disabilitare l'API heartbeat senza un plugin

Questo è tutto, hai disabilitato con successo l’API Heartbeat di WordPress sul tuo sito.

Conclusione

Hai imparato a conoscere l’API Heartbeat di WordPress e le funzionalità che offre al tuo sito. Sebbene sia indubbiamente vantaggiosoa in un ambiente di hosting condiviso può causare un bel problema se non lo gestisci bene.

Per ridurre l’utilizzo della CPU sul tuo server, puoi controllare l’API o disabilitarla completamente. Inoltre, puoi farlo utilizzando un plugin o aggiungendo manualmente codice al file functions.php.

Buon lavoro!