Il y a beaucoup d’optimisations et d’ajustements que vous pouvez faire pour accélérer le chargement de votre site WordPress.  Une optimisation simple consiste à désactiver le chargement des émojis. Les Emojis sont de petites icônes utilisées pour exprimer des idées ou des émotions. Bien que ces icônes soient amusantes et tout, sont-elles vraiment nécessaires pour votre site WordPress ? Surtout si vous êtes une entreprise, il s’agit simplement d’ajouter du temps de chargement supplémentaire, ce qui est inutile.

Quand ils ont sorti WordPress 4.2, ils ont ajouté la prise en charge des émojis dans le noyau pour les anciens navigateurs. Le gros problème est que cela génère une requête HTTP supplémentaire sur votre site WordPress pour charger le fichier wp-emoji-release.min.js. Et ça se charge sur chaque page. Bien que ce fichier ne fasse que 10,5 Ko, les choses comme celles-ci s’accumulent avec le temps.

wp emoji release file

Désactiver les Emojis dans WordPress

Il y a plusieurs façons de désactiver les Emojis dans WordPress. Vous pouvez le faire avec un plugin gratuit ou avec du code.

1. Désactiver les Emojis dans WordPress avec un plugin

La première façon de désactiver les émojis est d’utiliser simplement un plugin gratuit appelé Disable Emojis, développé par Ryan Hellyer.

disable emojis wordpress plugin

Ce plugin est super léger, seulement 9 KB pour être exact. Au moment d’écrire ces lignes, il y a actuellement plus de 30 000 installations actives avec une note de 5 étoiles sur 5. Note : Les émoticônes et emojis fonctionneront toujours dans les navigateurs qui les prennent en charge. Ce plugin supprime simplement le fichier JavaScript supplémentaire qui est utilisé pour ajouter le support des emojis dans les anciens navigateurs.

Vous pouvez le télécharger à partir du référentiel WordPress ou en le recherchant dans votre tableau de bord WordPress sous “Ajouter” extensions. Il n’y a rien à configurer, il suffit de l’installer, de l’activer et le fichier JavaScript supplémentaire sera supprimé.

Il existe également un plugin alternatif gratuit appelé Emoji settings. Ceci a été construit avec le Multisite à l’esprit et donne à l’utilisateur une option pour désactiver les Emojis eux-mêmes.

emoji settings

Vous pouvez le télécharger à partir du référentiel WordPress ou en le recherchant dans votre tableau de bord WordPress sous « Ajouter » extensions. Une fois activé, l’utilisateur peut cocher ou décocher « Enable emoji support » dans les paramètres d’écriture de son tableau de bord WordPress.

Vous pouvez également utiliser un plugin premium comme perfmatters (développé par un membre de l’équipe de Kinsta), qui vous permet de désactiver les emojis ainsi que d’autres optimisations pour votre site WordPress.

Désactiver les emojis avec le plugin perfmatters
Désactiver les emojis avec le plugin perfmatters

2. Désactiver les Emojis dans WordPress avec du code

Si vous ne voulez pas installer une autre extension, vous pouvez aussi simplement désactiver les emojis avec du code. Commencez par créer une sauvegarde de votre site, puis créez un thème enfant afin que vos modifications ne soient pas écrasées si vous mettez à jour votre thème WordPress. Ensuite, ajoutez ce qui suit au fichier functions.php de votre thème enfant WordPress. Note : le code provient de l’extension Disable Emoji ci-dessus.

Important ! L’édition du code source d’un thème WordPress pourrait casser votre site si ce n’est pas fait correctement. Si vous n’êtes pas à l’aise de le faire, veuillez d’abord vérifier auprès d’un développeur.
/**
 * Disable the emoji's
 */
function 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_action( 'admin_print_styles', 'print_emoji_styles' ); 
 remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
 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' );
 add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );

/**
 * Filter function used to remove the tinymce emoji plugin.
 * 
 * @param array $plugins 
 * @return array Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();
 }
}

/**
 * Remove emoji CDN hostname from DNS prefetching hints.
 *
 * @param array $urls URLs to print for resource hints.
 * @param string $relation_type The relation type the URLs are printed for.
 * @return array Difference betwen the two arrays.
 */
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 if ( 'dns-prefetch' == $relation_type ) {
 /** This filter is documented in wp-includes/formatting.php */
 $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );

$urls = array_diff( $urls, array( $emoji_svg_url ) );
 }

return $urls;
}