Eliminare Query String Wordpress per Performance Web | Andrea Vigato

Chiunque abbia controllato le performance di un sito web in WordPress (attraverso GtMetrix per esempio), avrà sicuramente visto la voce “Remove Query Strings from Static Resources”. L’attenzione a questi aspetti è diventata ormai necessaria anche per chi non si occupa quotidianamente di performance del codice e server, dato che Google da molta importanza al rispetto di certi standard web.

Cosa sono le Query String sulle Risorse Statiche?

Rimuovere le query string dalle risorse statiche vuol semplicemente dire che i file delle risorse devono essere caricati da url del file senza l’aggiunta di ulteriori parametri. Ad esempio: https://miosito.it/js/main.js è un file senza query string, mentre https://miosito.it/js/main.js?version=1.0&type=mobile è una risorsa statica che utilizza query string. In questo secondo caso le performance diminuiscono perchè i motori di ricerca (e i browser) si affidano anche alle query string per riconoscere e gestire un file nella memoria, oltre a permettere possibili attacchi di vulnerabilità dando informazioni vitali come versioni, tipologia e molto altro relativo ai file.

Cosa sono le Query String? Come Eliminare Query String da WordPress?

Cosa sono le Query String? Come Eliminare Query String da WordPress?

Come eliminare query string da WordPress?

Esistono moltissimi metodi per togliere questi dati aggiuntivi dalle risorse statiche che usa WordPress (siano essi file javascript o css). Potrete installare un plugin singolo oppure plugin di caching come W3 Total Cache, WP Rocket ecc. Il mio consiglio è utilizzare poche righe di codice e non aumentare la pesantezza e instabilità del CMS.

Aprite il file functions.php del child theme (se non avete un child theme, createlo) e inserite la seguente funzione:

add_filter('script_loader_src', '_remove_script_version', 15, 1);
add_filter('style_loader_src', '_remove_script_version', 15, 1);

function _remove_script_version($src){
  $parts = explode('?ver', $src);
  return $parts[0];
}

Salvate e fate l’upload del file functions.php, ora provate a rifare i test da GTMetrix o altri strumenti online per le performance web e vedrete che non ci saranno più problemi di “remove query strings from static resources”.

Che altro posso fare per aumentare la velocità del mio sito WordPress?

I siti in WordPress spesso si rivelano lenti, instabili e non funzionali. Questo perchè dal pacchetto base di WordPress si finisce sempre per installare tanti plugin che rallentano il meccanismo globale. A volte conviene qualche riga di codice ben messa che un plugin aggiuntivo (come abbiamo visto prima per le query string). Ci sono tantissimi fattori e spesso è meglio rivolgersi a un professionista che lavora nel settore per avere chiaro quali sono i problemi e come risolverli (a proposito, io mi occupo quotidianamente di WordPress, contattami per qualsiasi problema).

Un valido aiuto è dato dal defer di tutte le risorse JS e CSS (non sempre fattibile), per farlo è sempre sufficiente modificare il file functions.php del child theme, aggiungendo questa funzione:

if (!(is_admin() )) {
    function defer_parsing_of_js ( $url ) {
        if ( FALSE === strpos( $url, '.js' ) ) return $url;
        if ( strpos( $url, 'jquery.js' ) ) return $url;
        // return "$url' defer ";
        return "$url' defer onload='";
    }

    add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );
}

In questo modo tutte le chiamate ai file JS (tranne jquery.js) verranno sovrascritte utilizzando la proprietà defer che permette di aspettare il caricamento del file dopo che la pagina ha terminato il caricamento (in questo modo non ci saranno ulteriori rallentamenti per avere la pagina visibile).

Andrea Vigato

Author Andrea Vigato

freelance | creazione siti web | consulenza aziendale

More posts by Andrea Vigato