Wordpress

Heartbeat: come velocizzare il caricamento delle pagine WordPress (compresa la sezione admin)

C’è un semplice metodo che può “salvare le vite di molti blogger”. Qui vi spiego perché e come. Si tratta delle API Heartbeat di Wordpress e del file admin-ajax.php

2 minuti

Avete mai fatto una verifica della velocità delle pagine di WordPress (del vostro blog)? Nel caso non l’abbiate fatto, potete farlo subito cliccando qui. Il tool è offerto da una delle ditte più famose in questo campo (credo che la conosciate tutti se siete arrivati qui). Quasi sicuramente noterete quanto tempo ci mette a caricare la pagina “admin-ajax.php”. Ebbene, dopo giorni di studio, sono arrivato ad una semplice considerazione: si tratta della “WordPress Heartbeat API” e permette a WordPress (dalla 3.6 in poi) di comunicare tra il browser e il server. Tutto ciò a che serve? Serve a funzioni come l’auto salvataggio, il tracking delle revisioni e altro. Può sembrare figo, certo, ma tutto ciò comporta un livello d’uso della CPU molto elevato rispetto al reale utilizzo che ne si fa.

How-to-disable-WordPress-heartbeat-API-to-reduce-CPU-usage

VEDI ANCHE: Wordfence: come proteggere WordPress e velocizzarlo in un colpo solo

Segui Stintup anche su Facebook per supportare il nostro lavoro e non perderti nemmeno una notizia. Sulla nostra pagina Facebook arriveranno notizie in anteprima, Instant Articles esclusivi, video esclusivi, dirette e molto altro!

Come velocizzare il blog WordPress con W3 Total Cache: le migliori impostazioni (Cloudflare tips)

Dunque se notate uno strano rallentamento del vostro sito e, dopo aver fatto la verifica, un eccessivo ammontare di richieste da parte di “admin-ajax.php”, allora potete procedere a disabilitare le “WordPress Heartbeat API”.

ATTENZIONE: questo metodo è altamente sconsigliato se non sapete quello che state facendo!

functions.php

Prima di tutto localizzate il file functions.php, che si trova sotto la cartella principale del vostro tema, ad esempio:

/home/userna5/public_html/wp-content/themes/twentyfourteen/functions.php

Fai un backup di questo file!

Disabilitare Heartbeat

– Su tutto il sito. Aggiungi queste righe a functions.php (all’inizio, dopo il richiamo del tema):

add_action( 'init', 'stop_heartbeat', 1 );

function stop_heartbeat() {
        wp_deregister_script('heartbeat');
}

– Solo sulla Dashboard. Aggiungi queste righe a functions.php (all’inizio, dopo il richiamo del tema):

add_action( 'init', 'stop_heartbeat', 1 );

function stop_heartbeat() {
        global $pagenow;

        if ( $pagenow == 'index.php'  )
        wp_deregister_script('heartbeat');
}

Con la variabile “$pagenow” potete selezionare e specificare su quale pagina disabilitare Heartbeat API, insieme alla specifica “if”.

– Su tutto il sito tranne post.php e post-new.php. Aggiungi queste righe a functions.php (all’inizio, dopo il richiamo del tema):

add_action( 'init', 'stop_heartbeat', 1 );

function stop_heartbeat() {
        global $pagenow;

        if ( $pagenow != 'post.php' && $pagenow != 'post-new.php' )
        wp_deregister_script('heartbeat');
}

Ora potete semplicemente salvare il file functions.php.

Ritardare le richieste di Heartbeat

Se invece non volete perdere le funzionalità date da queste API, potete semplicemente ritardare le richieste.

Prima di tutto fate una copia di questo file:

/home/userna5/public_html/wp-includes/js/heartbeat.min.js

Poi dovrete individuare tre tipi di richieste: quelle da 15, 30 e infine 60 secondi. Vi consiglio di utilizzare la funzione ricerca del vostro browser (CTRL+F o CMD+F).

I numeri indicano ovviamente i secondi della richiesta, mentre i indicano semplicemente che nel mezzo c’è altro codice.

– Richieste da 15 sec.

Sostituite:

B.mainInterval<15?B.mainInterval=15:...case 15:

Con:

B.mainInterval<120?B.mainInterval=120:...case 120:

– Richieste da 30 sec.

Sostituite:

case 30:...30,b=1>b||b>30?30:

Con:

case 300:...300,b=1>b||b>300?300:

– Richieste da 60 sec.

Sostituite:

B.mainInterval>60&&(B.mainInterval=60))...case 60:...mainInterval:60

Con:

B.mainInterval>600&&(B.mainInterval=600))...case 600:...mainInterval:600

 

Arrivato a questo punto non ti resta che confrontare il risultato tra prima e dopo aver applicato questo “stratagemma”.

La guida è una adattamento in italiano dell’originale che potete trovare qui.

Ciao! Siamo alla ricerca di blogger per le sezioni “Inside”, “Tecnologia” e “Motori”.
Per saperne di più e contattarci clicca qui.
Commenti

I più letti del mese

To Top