Il motivo principale per risolvere il problema Defer Parsing of JavaScript in WordPress è sicuramente per migliorare la velocità e le prestazioni generali del sito web. Infatti, quando si apre un sito Web viene caricato il codice Javascript tra i tag <head></ head> dall’alto verso il basso. Ciò significa che se hai un sacco di JS ci vorrà più tempo prima che i contenuti del sito web appaiano. Risolvendo il problema Defer Parsing of JavaScript otterrete come risultato un tempo di caricamento del vostro sito molto più rapido.
Ma vediamo come e dove intervenire…
Step 1 – Analizziamo il nostro sito
Per scoprire se è necessario posticipare l’analisi del codice JavaScript dovresti innanzitutto analizzare il tuo sito WordPress utilizzando uno strumento come GTMetrix. Il punteggio medio consigliato da GTMetrix per questa impostazione è almeno del 71%.
Step 2 – Risolvere Deferring parsing of JavaScript attraverso il file functions.php
Ci sono diversi plugin che permettono di risolvere il problema del parsing ma personalmente preferisco intervenire direttamente nel file function.php del tema. In tal senso sarebbe meglio che sul vostro sito sia stato attivato il child theme in modo da non sovrascrivere le modifiche dopo aver effettuato un aggiornamento del tema stesso. Quindi entrate tramite FTP alle cartelle del vostro sito WordPress e caricate o sovrascrivete il file function.php (effettuare sempre un backup di sicurezza prima di ogni intervento).
Ecco il codice da inserire nella parte inferiore del file functions.php del tema:
function defer_parsing_of_js ( $url ) { if ( FALSE === strpos( $url, '.js' ) ) return $url; if ( strpos( $url, 'jquery.js' ) ) return $url; return "$url' defer "; } add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
Step 3 – Test e problemi
Una volta inserito il codice, utilizzare lo stesso strumento GTMetrix per verificare i risultati della vostra modifica. Noterete un netto miglioramento della percentuale relativa al campo Defer Parsing of JavaScript.
Ma attenzione!
Il Defer è valido sia per il front-end che per il back-end del vostro sito!
Ciò vuol dire che potreste notare qualcosa di strano nel funzionamento di WordPress stesso. Per esempio se usate il Revolution Slider noterete che manca la possibilità di inserire l’immagine di sfondo o di modificare eventuali layer. Anche il Visual Composer potrebbe non funzionare correttamente quindi se da un lato aumentate le prestazioni del vostro sito, dall’altro rischiate che qualcosa non funzioni correttamente. Il consiglio è quello di risolvere il problema defer solo quando siete sicuri di aver concluso il vostro sito web e comunque solo dopo aver verificato che anche lato front-end sia tutto a posto.
Buongiorno, grazie per la soluzione. Ho fatto tutto quello che ha spiegato nella guida, c’è stato un miglioramento, ma purtroppo sono ancora ben lontano dal valore 71. Sono a 55. Ci sarebbero altre soluzioni da integrare al codice?
Grazie
La velocità di un sito dipende da tanti fattori. Per poterti dare una mano dovresti indicarmi l’indirizzo del tuo sito web così verifico…
Grazie Carmelo, sono riuscito a portare un filo ancora più su (88%) il ranking del mio sito Medicina del Respiro dopo avere applicato il workaround.
Bisogna fare attenzione alle implicazioni lato backend come dici tu, hai ragione.
Ora – almeno per me – il prossimo step è riuscire a “contrastare” il nuovo PageSpeed tool di Google, che invece per il mobile sembra penalizzarlo ancora un pochino dopo l’ultimo update.
Il mio consiglio spassionato per chi ti legge è di installare un plugin di caching come WP Fastest Cache, che in versione premium risolve una tonnellata di piccole migliorie segnalate da GTMetrix.
Tu hai già provato il nuovo PS di Google? Hai qualche suggerimento utilissimo come questo?
Ad ogni modo, grazie per averlo condiviso!
Marco
Ciao Marco ancora non ho avuto modo di verificare il nuovo Speed Test di Google ma lo farò il prima possibile. Ringrazio te per aver condiviso la tua esperienza sul mio sito web. Per qualunque cosa non esitare a scrivermi…
Ciao, ho aggiunto il codice al file functions con discreto giovamento risolvendo uno dei problemi segnalati da gtmetrix ma così facendo non funziona il page builder con cui ho costruito il sito e che mi potrebbe far comodo per saltuari aggiornamenti. Per il resto tutto a posto. Conosci qualche alternativa che non sia un plugin? E, in quest’ultimo caso, quale plugin consigli? Ho letto di Async JS… oppure posso fare anche con Autoptimize?
Purtroppo come detto quel codice non fa funzionare il Visual Composer. Io utilizzo il plugin nativo di Siteground ma comunque devo sempre settarlo in modo da far funzionare tutto.