07 71 64 45 14  contact@upleaft.fr

8 snippets pour améliorer votre site WordPress

Les snippets sont des petits bouts de code qui permettent de modifier le comportement de WordPress et se placent dans le fichier functions.php de votre thème (enfant si possible). Upleaft vous propose une sélection de 8 snippets pour améliorer les performances et la sécurité de votre site WordPress.

1. Limiter ou désactiver les révisions

Les révisions sont des sauvegardes de vos contenus. Elles sont automatiquement créées à chaque mise à jour d’un article ou d’une page. Vous pouvez totalement désactiver cette fonction ou limiter le nombre de révision par type de contenu. Attention ce snippet doit être ajouté dans le fichier wp-config.php qui se trouve à la racine de votre site WordPress.

// désactiver les révisions
define('WP_POST_REVISIONS', false);

// limiter les révisions
define('WP_POST_REVISIONS', 5);

Ce snippet est très intéressant si vous êtes dans l’optique de libérer de l’espace sur votre base de données.

2. Forcer le chargement des scripts dans le footer

En plus des images, le chargement des scripts est bien souvent le plus long à charger. Ce snippet peut augmenter considérablement la vitesse de votre site mais attention tout de même car certains thèmes ne sont pas compatibles avec ce mode de fonctionnement. Un conseil, mieux vaut tester ce bout de code en mode maintenance !

if(!is_admin()){
	remove_action('wp_head', 'wp_print_scripts');
	remove_action('wp_head', 'wp_print_head_scripts', 9);
	remove_action('wp_head', 'wp_enqueue_scripts', 1);

	add_action('wp_footer', 'wp_print_scripts', 5);
	add_action('wp_footer', 'wp_enqueue_scripts', 5);
	add_action('wp_footer', 'wp_print_head_scripts', 5);
}

3. Supprimer jQuery Migrate

jQuery Migrate est utilisé pour charger toutes les API et fonctions obsolètes qui ont été supprimées dans jQuery 1.9, donc si vous n’utilisez aucune de ces fonctions obsolètes, vous pouvez supprimer jQuery migrate et gagner en performances.

function upleaft_remove_jquery_migrate($scripts) {
   if (! is_admin() && isset($scripts->registered['jquery'])) {
        $script = $scripts->registered['jquery'];
   if ($script->deps) {
        $script->deps = array_diff($script->deps, array('jquery-migrate'));
			}
		}
	}
add_action('wp_default_scripts', 'upleaft_remove_jquery_migrate');

4. Désactiver les emojis

Vous n’utilisez pas les émojis sur votre site ? Voici comment désactiver globalement les émojis sur WordPress pour améliorer les performances de votre site.

// Désactiver les émojis
add_action( 'init', 'upleaft_disable_emojis' );

function upleaft_disable_emojis() {
  remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
  remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
  remove_action( 'wp_print_styles', 'print_emoji_styles' );
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  remove_action( 'admin_print_styles', 'print_emoji_styles' );
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
  remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}

function disable_emojis_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( 'wpemoji' ) );
  } else {
    return array();
  }
}

5. Désactiver XML-RPC dans WordPress

XML-RPC introduit des vulnérabilités en sécurité et peut être une source d’attaque par force brute. XML-RPC était un service utilisé pour permettre à WordPress de communiquer avec d’autres systèmes en utilisant le HTTP comme mécanisme de transport et l’XML comme mécanisme de codage. Depuis l’intégration de l’API REST dans WordPress le fichier xmlrpc.php n’est plus utilisé.

/* Désactiver XML-RPC */
add_filter( 'xmlrpc_enabled', '__return_false' );

6. Désactiver l’éditeur de fichier WordPress

Si vous vous rendez sur l’onglet « Apparence » vous pouvez apercevoir l’éditeur de thème. Par défaut, WordPress embarque un éditeur de code intégré qui vous permet de modifier vos fichiers de thème et de plug-in directement depuis votre zone d’administration de WordPress. Entre de mauvaises mains, cette fonctionnalité peut constituer un risque de sécurité, c’est pourquoi il est préférable de la désactiver.

// Désactiver l'éditeur de fichier
define( 'DISALLOW_FILE_EDIT', true );

7. Désactiver le chargement CSS des blocs Gutenberg

Si vous n’utilisez pas l’éditeur de bloc Gutenberg vous pouvez désactiver le chargement de la librairie CSS des blocs.

//Supprimer Gutenberg Block Library CSS du chargement frontend
function upleaft_remove_wp_block_library_css(){
    wp_dequeue_style( 'wp-block-library' );
    wp_dequeue_style( 'wp-block-library-theme' );
    wp_dequeue_style( 'wc-blocks-style' ); // pour WooCommerce
} 
add_action( 'wp_enqueue_scripts', 'upleaft_remove_wp_block_library_css', 100 );

8. Supprimer les Query Strings des ressources statiques sur WordPress

Quand vous inspectez le code source de votre site WordPress vous pouvez apercevoir des chaînes de requêtes (Query Strings) dans les URL des ressources statiques. Ce que vous voyez correspond à la version des fichiers.

votre-domaine.fr/style.css?ver=1.0

En supprimant l’affichage des versions, cela peut améliorer la mise en cache de ces fichiers.

//Supprimer les Query Strings des ressources statiques
function upleaft_remove_query_strings_from_static_resources( $src ) {
  if( strpos( $src, '?v=' ) ){
    $src = remove_query_arg( 'v', $src );
  }
  if( strpos( $src, '?ver=' ) ){
    $src = remove_query_arg( 'ver', $src );
  }
  return $src;
}
add_filter( 'script_loader_src', 'upleaft_remove_query_strings_from_static_resources', 999 );
add_filter( 'style_loader_src', 'upleaft_remove_query_strings_from_static_resources', 999 );

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Logo Upleaft blanc

Upleaft est un nom commercial utilisé par Anthony Thirion développeur WordPress basé à Grenoble.

Agence WordPress

Upleaft 2022 • Tous droits réservés