Gutenberg utilise à lui seul plus de 1 Mo de JS, chargés en front dès votre page d’accueil, qul que soit votre usage de Gutenberg ! Nous avons en conséquence optimisé le thème de notre client pour éviter de charger l’intégralité des scripts, économisant plus de la moitié de la charge. Allo Automattic ?
Pour l’exemple, vous pouvez vous greffer sur le crochet wp_print_script pour inhiber les scripts de Gutenberg non désirés :
/**
* inhibate Gutenberg scripts on frontend
*/
if (!is_admin()) add_action( 'wp_print_scripts', 'monprefixe_deregister_javascript', 1 );
function monprefixe_deregister_javascript() {
$unwanted_scripts = array('react', 'react-dom', 'wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'lodash', 'jquery-ui-autocomplete');
foreach($unwanted_scripts as $handle){
wp_deregister_script($handle);
}
}
Explications :
if (!is_admin()) add_action( 'wp_print_scripts', 'monprefixe_deregister_javascript', 1 );
On ajoute le filtre uniquement sur les pages frontales
$unwanted_scripts = array('react', 'react-dom', 'wp-autop', 'wp-blob', 'wp-block-serialization-default-parser', 'lodash', 'jquery-ui-autocomplete');
Ici on fait une liste noire des scripts que l’on veut supprimer du chargement des pages. à ajuster en fonction des besoins du thème et des extensions
foreach($unwanted_scripts as $handle){
wp_deregister_script($handle);
}
Une simple boucle sur le précédent tableau pour désenregistrer les scripts !