17 Apr Bridge by Qode – Tuning #1 – Disattivare script in eccesso
Premessa: questo non è un post di affiliazione
Lo ammetto. Sviluppo e ho sviluppato alcuni siti web usando dei temi multi-purpose.
Lo so, non si fa. Non si dovrebbe fare. Eppure, per espiare le mie colpe, ho cercato di riparare ai danni il più possibile.
Per liberarmi dai dolori provocati da codice inutile, pesante, ridondante, caricato per il c***o, ho applicato delle soluzioni. In qualche modo. E, a partire da questo post, racconterò come.
Come si evince dal titolo, il template a cui mi sono affezionato è uno dei più venduti su themeforest. Lo so, fa male persino scriverlo. 🙁
Si chiama Bridge, edito o programmato dal team Qode.
Perché lo uso? Semplicemente perché conoscere un framework entro il quale sviluppare un sito web – spesso da soli – permette di guadagnare in produttività e tempo. Solo questo. E nel tempo l’ho destrutturato, smontato, rimontato e modificato a più non posso.
Ho deciso, quindi, di condividere la mia esperienze in pillole. Spero utili.
Tuning #1: deregistrazione degli script in eccesso
L’assunto di partenza è: un tema multi-purpose carica una serie infinita di css e script che sovraccarica il DOM col risultato che molto spesso le funzionalità utili sono… 1, forse 2?
Una volta fatto il setup del sito e dell’ottimizzazione a livello di server (caching, compressione, ecc), il mio consiglio è di una fare una navigazione con Chrome e leggere i dati del tab Coverage (ne spiego l’utilizzo qui): prendete nota degli script inutilizzati e nel functions.php inserite un’istruzione del tipo <?php wp_deregister_script( $handle ); ?>
Solitamente io disattivo di default i seguenti:
function wpdocs_dequeue_script() {
wp_deregister_script('jquery-ui-dialog');
wp_deregister_script('jquery-ui-slider');
wp_deregister_script('jquery-ui-spinner');
wp_deregister_script('jquery-ui-tooltip');
wp_enqueue_script('jquery-ui-tabs');
wp_deregister_script('jquery-effects-core');
wp_deregister_script('jquery-effects-blind');
wp_deregister_script('jquery-effects-bounce');
wp_deregister_script('jquery-effects-clip');
wp_deregister_script('jquery-effects-drop');
wp_deregister_script('jquery-effects-explode');
wp_deregister_script('jquery-effects-fade');
wp_deregister_script('jquery-effects-fold');
wp_deregister_script('jquery-effects-highlight');
wp_deregister_script('jquery-effects-pulsate');
wp_deregister_script('jquery-effects-scale');
wp_deregister_script('jquery-effects-shake');
wp_deregister_script('jquery-effects-slide');
wp_deregister_script('jquery-effects-transfer');
}
add_action( 'wp_enqueue_scripts', 'wpdocs_dequeue_script', 100 );
È chiaro che per ciascuno corrisponde un effetto legato allo script. E “disattivare” lo script corrispondente significa inibire l’uso di quell’effetto.
Tuttavia, il mio suggerimento è solo per indicare la possibilità di alleggerire il codice caricato e potenzialmente inutilizzato.