Comment optimiser Gutenberg ?

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 !